91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

教你動(dòng)手寫UDP協(xié)議?!狾TA上位機(jī)<3>

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-24 17:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

據(jù)上次更新文章已經(jīng)兩個(gè)星期了,因?yàn)楣ぷ鞯脑?,沒有時(shí)間更新。以后我也會(huì)盡量抽空總結(jié)近期的知識(shí)點(diǎn)。

今天這篇文章是屬于專輯《TCP-UDP協(xié)議?!防锩娴囊黄恼?。這篇文章也是描述OTA的新的方案。前兩篇文章是關(guān)于下位機(jī)的mini UDP代碼實(shí)現(xiàn),那么我們寫了小型網(wǎng)絡(luò)協(xié)議棧究竟可以做什么?答案是OTA。之前也寫了兩篇關(guān)于手寫UDP協(xié)議棧的,如下:

教你動(dòng)手寫UDP協(xié)議棧教你動(dòng)手寫UDP協(xié)議棧-DHCP數(shù)據(jù)包解析<2>

那肯定有人問,OTA采用現(xiàn)成的協(xié)議棧不香嗎,為什么要自己寫協(xié)議棧。究竟有啥好處?答案如下:

因?yàn)楝F(xiàn)成的協(xié)議棧比較大,而且OTA功能用不到那么多協(xié)議棧功能。現(xiàn)在物聯(lián)網(wǎng)的時(shí)代,很多設(shè)備都是MCU + WIFI,在一些情況可能你要對(duì)MCU和WIFI進(jìn)行升級(jí),大部分的升級(jí)方式如下圖,PC或服務(wù)器發(fā)送升級(jí)包到MCU,然后MCU轉(zhuǎn)發(fā)升級(jí)包給WIFI,這樣實(shí)現(xiàn)WIFI模塊的升級(jí),很浪費(fèi)資源,而且還要求MCU上的flash更加大。這樣是一個(gè)不怎么理智的做法。如果這樣的方式給MCU升級(jí)確實(shí)沒有啥問題。

自己寫的mini UDP協(xié)議棧實(shí)質(zhì)是放在wifi模塊上的,通過制定的協(xié)議將OTA包發(fā)送出去,WIFI模塊的mini UDP協(xié)議棧攔截制定協(xié)議的OTA包,然后進(jìn)行升級(jí)。如下圖,這樣的形式,MCU不用參與WIFI的升級(jí),可以說WIFI可以不知不覺的進(jìn)行升級(jí),MCU一點(diǎn)知覺也沒有。這樣的升級(jí)方式快速,穩(wěn)定。

通過上述的描述,總的來說就是簡(jiǎn)化wifi模塊的OTA功能。降低MCU的負(fù)擔(dān)。上位機(jī)

《Mini UDP OTA Tool》這是一個(gè)非常簡(jiǎn)陋的軟件,采用Python寫的。在這我想吐槽一下,Python寫上位機(jī)真心不好寫,我用過幾種語(yǔ)言寫過上位機(jī),Python寫上位機(jī)是最痛苦的。

這個(gè)軟件支持一鍵批量設(shè)備串行升級(jí)。也可根據(jù)版本號(hào),對(duì)某一批設(shè)備進(jìn)行一鍵升級(jí)??梢灾付硞€(gè)網(wǎng)卡設(shè)備上的設(shè)備進(jìn)行升級(jí)。

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    分享一個(gè)周末手搓的高性能C++虛擬示波器上位機(jī)(附帶抗壓測(cè)試視頻)

    建立局部空容器,準(zhǔn)備接 std::vector&amp;lt;uint16_t&amp;gt; vSnap1, vSnap2, vSnap3
    發(fā)表于 03-08 13:03

    S32K3 OTA 演示示例在 EVB 上復(fù)位后無法啟動(dòng)S32K358怎么解決?

    = IP_DCM-&amp;gt;DCMSTAT; if (DCMStat &amp;amp; DCM_DCMLCS_DCMLCE3_MA
    發(fā)表于 03-06 07:59

    零知IDE——基于STM32與W5500的UDP通信實(shí)現(xiàn)溫濕度監(jiān)控

    以太網(wǎng)模塊,實(shí)現(xiàn)了一套完整的UDP通信溫濕度監(jiān)控系統(tǒng)。系統(tǒng)通過DHT11傳感器實(shí)時(shí)采集環(huán)境溫濕度數(shù)據(jù),通過W5500以太網(wǎng)模塊建立UDP通信鏈路,將數(shù)據(jù)發(fā)送至PC上位機(jī)。同時(shí),
    發(fā)表于 02-28 16:08

    采用藍(lán)牙OTA方式需要注意哪些位置

    ] 推薦使用簡(jiǎn)化開關(guān) CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU: 在 prj.conf 中添加:&amp;lt;span&amp;
    發(fā)表于 02-12 10:19

    RDMA設(shè)計(jì)12:融合以太網(wǎng)協(xié)議設(shè)計(jì)1

    本文主要交流設(shè)計(jì)思路,在本博客已給出相關(guān)博文90多篇,希望對(duì)初學(xué)者有用。注意這里只是拋磚引玉,切莫認(rèn)為參考這就可以完成商用IP設(shè)計(jì)。 融合以太網(wǎng)協(xié)議負(fù)責(zé)用戶請(qǐng)求與 RDMA 數(shù)據(jù)包的轉(zhuǎn)換、管理
    發(fā)表于 12-25 11:39

    【道生物聯(lián)TKB-623評(píng)估板試用】基于串口透?jìng)鞯?b class='flag-5'>手寫數(shù)字識(shí)別

    ,默認(rèn) 3 &amp;lt;最大包長(zhǎng)&amp;gt; 取值范圍為 1~2048 詳見:TK8620基于SDK2.0的AT指令使用說明 — 資
    發(fā)表于 11-08 11:44

    esp8266 udp server 端口監(jiān)聽錯(cuò)誤的原因?

    ;amp; sock-&amp;gt;type == AT_SOCKET_UDP &amp;amp
    發(fā)表于 09-23 07:03

    【上海晶珩睿莓1開發(fā)板試用體驗(yàn)】5、網(wǎng)絡(luò)性能測(cè)試

    ) 支持自定義窗口、帶寬、端口和持續(xù)時(shí)間 iperf3常用參數(shù) -c &amp;lt;host&amp;gt;: 以客戶端模式連接到服務(wù)端
    發(fā)表于 08-19 10:25

    具有 I&lt;sup&gt;2&lt;/sup&gt;C 接口的 3 通道/2 通道升壓 LED 驅(qū)動(dòng)器 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()具有 I&lt;sup&gt;2&lt;/sup&gt;C 接口的 3 通道/2 通道升壓 LED 驅(qū)動(dòng)器相關(guān)產(chǎn)品參
    發(fā)表于 07-24 18:29
    具有 I&<b class='flag-5'>lt</b>;sup&<b class='flag-5'>gt</b>;2&<b class='flag-5'>lt</b>;/sup&<b class='flag-5'>gt</b>;C 接口的 <b class='flag-5'>3</b> 通道/2 通道升壓 LED 驅(qū)動(dòng)器 skyworksinc

    CS86706適用1~3節(jié)鋰電應(yīng)用,內(nèi)置升壓模塊,2×30W立體聲&amp;amp;amp;50W單聲道R類音頻功率放大器

    CS86706適用1~3節(jié)鋰電應(yīng)用,內(nèi)置升壓模塊,2×30W立體聲&amp;amp;50W單聲道R類音頻功率放大器
    的頭像 發(fā)表于 07-16 20:42 ?700次閱讀
    CS86706適用1~<b class='flag-5'>3</b>節(jié)鋰電應(yīng)用,內(nèi)置升壓模塊,2×30W立體聲&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;50W單聲道R類音頻功率放大器

    基于LockAI視覺識(shí)別模塊:手寫數(shù)字識(shí)別

    Result對(duì)象包含預(yù)測(cè)得分(score)和對(duì)應(yīng)的標(biāo)簽ID(label_id),即識(shí)別出的手寫數(shù)字。 2.2 Visualize函數(shù) 2.2.1 頭文件 #include &amp;lt
    發(fā)表于 06-30 16:45

    CYW4373E如何設(shè)置AP信道自動(dòng)跟隨STA?

    建立與 hostapd 的連接 &amp;lt;3&;gt;AP-已禁用 &amp;lt;
    發(fā)表于 06-05 07:43

    多模塊配置!YU系列USB、Type-C連接器為工控機(jī)打造&amp;amp;quot;全能型&amp;amp;quot;數(shù)據(jù)傳輸方案

    背景介紹工控機(jī)是一類用于工業(yè)、野外等復(fù)雜惡劣環(huán)境的專用計(jì)算機(jī)設(shè)備,如何實(shí)現(xiàn)穩(wěn)如磐石的數(shù)據(jù)傳輸是關(guān)鍵?凌科電氣YU-USB&amp;Type-C工業(yè)連接器,以嚴(yán)苛環(huán)境適配性及長(zhǎng)期穩(wěn)定的性能表現(xiàn),成為
    的頭像 發(fā)表于 05-07 18:27 ?742次閱讀
    多模塊配置!YU系列USB、Type-C連接器為工控<b class='flag-5'>機(jī)</b>打造&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;quot;全能型&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;quot;數(shù)據(jù)傳輸方案

    S32G3 DSPI_1無法驅(qū)動(dòng)BSP41中的gpio片選怎么辦?

    = &amp;lt;0&amp;gt;, &amp;lt;&
    發(fā)表于 04-14 10:55

    k32l2b31寫入LPUART1-&amp;gt;STAT |= (1&amp;lt;&amp;lt;25)會(huì)導(dǎo)致semihost_hardfault是為什么?

    我想在 k32l2b31 上激活 LIN Break 檢測(cè) 必須在狀態(tài)寄存器中設(shè)置位 LKDE i try LPUART1-&amp;gt;STAT |= (1&amp;lt;&
    發(fā)表于 04-08 06:36