0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

教你动手写UDP协议栈—OTA上位机<3>

电子设计 来源:电子设计 作者:电子设计 2020-12-24 17:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

据上次更新文章已经两个星期了,因为工作的原因,没有时间更新。以后我也会尽量抽空总结近期的知识点。

今天这篇文章是属于专辑《TCP-UDP协议栈》里面的一篇文章。这篇文章也是描述OTA的新的方案。前两篇文章是关于下位机的mini UDP代码实现,那么我们写了小型网络协议栈究竟可以做什么?答案是OTA。之前也写了两篇关于手写UDP协议栈的,如下:

教你动手写UDP协议栈教你动手写UDP协议栈-DHCP数据包解析<2>

那肯定有人问,OTA采用现成的协议栈不香吗,为什么要自己写协议栈。究竟有啥好处?答案如下:

因为现成的协议栈比较大,而且OTA功能用不到那么多协议栈功能。现在物联网的时代,很多设备都是MCU + WIFI,在一些情况可能你要对MCU和WIFI进行升级,大部分的升级方式如下图,PC或服务器发送升级包到MCU,然后MCU转发升级包给WIFI,这样实现WIFI模块的升级,很浪费资源,而且还要求MCU上的flash更加大。这样是一个不怎么理智的做法。如果这样的方式给MCU升级确实没有啥问题。

自己写的mini UDP协议栈实质是放在wifi模块上的,通过制定的协议将OTA包发送出去,WIFI模块的mini UDP协议栈拦截制定协议的OTA包,然后进行升级。如下图,这样的形式,MCU不用参与WIFI的升级,可以说WIFI可以不知不觉的进行升级,MCU一点知觉也没有。这样的升级方式快速,稳定。

通过上述的描述,总的来说就是简化wifi模块的OTA功能。降低MCU的负担。上位机

《Mini UDP OTA Tool》这是一个非常简陋的软件,采用Python写的。在这我想吐槽一下,Python写上位机真心不好写,我用过几种语言写过上位机,Python写上位机是最痛苦的。

这个软件支持一键批量设备串行升级。也可根据版本号,对某一批设备进行一键升级。可以指定某个网卡设备上的设备进行升级。

审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式设计
    +关注

    关注

    0

    文章

    393

    浏览量

    22365
  • UDP协议栈
    +关注

    关注

    0

    文章

    4

    浏览量

    1244
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【道生物联TKB-623评估板试用】基于串口透传的手写数字识别

    ,默认 3 &amp;lt;最大包长&amp;gt; 取值范围为 1~2048 详见:TK8620基于SDK2.0的AT指令使用说明 — 资
    发表于 11-08 11:44

    esp8266 udp server 端口监听错误的原因?

    ;amp; sock-&amp;gt;type == AT_SOCKET_UDP &amp;amp
    发表于 09-23 07:03

    【上海晶珩睿莓1开发板试用体验】5、网络性能测试

    ) 支持自定义窗口、带宽、端口和持续时间 iperf3常用参数 -c &amp;lt;host&amp;gt;: 以客户端模式连接到服务端
    发表于 08-19 10:25

    具有 I&lt;sup&gt;2&lt;/sup&gt;C 接口的 3 通道/2 通道升压 LED 驱动器 skyworksinc

    电子发烧友网为你提供()具有 I&lt;sup&gt;2&lt;/sup&gt;C 接口的 3 通道/2 通道升压 LED 驱动器相关产品参
    发表于 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 驱动器 skyworksinc

    CS86706适用1~3节锂电应用,内置升压模块,2×30W立体声&amp;amp;amp;50W单声道R类音频功率放大器

    CS86706适用1~3节锂电应用,内置升压模块,2×30W立体声&amp;amp;50W单声道R类音频功率放大器
    的头像 发表于 07-16 20:42 378次阅读
    CS86706适用1~<b class='flag-5'>3</b>节锂电应用,内置升压模块,2×30W立体声&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;50W单声道R类音频功率放大器

    基于LockAI视觉识别模块:手写数字识别

    Result对象包含预测得分(score)和对应的标签ID(label_id),即识别出的手写数字。 2.2 Visualize函数 2.2.1 头文件 #include &amp;lt
    发表于 06-30 16:45

    新知|Verizon与AT&amp;amp;amp;T也可以手机直接连接卫星了

    近日,Verizon与AT&amp;T宣布,手机直连卫星方面取得重要进展,使用普通手机实现了通过卫星的视频通话。很显然,Verizon与AT&amp;T的这一举措是针对此前T-Mobile
    的头像 发表于 06-19 07:07 893次阅读
    新知|Verizon与AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T也可以手机直接连接卫星了

    CYW4373E如何设置AP信道自动跟随STA?

    建立与 hostapd 的连接 &amp;lt;3&;gt;AP-已禁用 &amp;lt;
    发表于 06-05 07:43

    多模块配置!YU系列USB、Type-C连接器为工控打造&amp;amp;quot;全能型&amp;amp;quot;数据传输方案

    背景介绍工控是一类用于工业、野外等复杂恶劣环境的专用计算机设备,如何实现稳如磐石的数据传输是关键?凌科电气YU-USB&amp;Type-C工业连接器,以严苛环境适配性及长期稳定的性能表现,成为
    的头像 发表于 05-07 18:27 480次阅读
    多模块配置!YU系列USB、Type-C连接器为工控<b class='flag-5'>机</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;数据传输方案

    S32G3 DSPI_1无法驱动BSP41中的gpio片选怎么办?

    = &amp;lt;0&amp;gt;, &amp;lt;&
    发表于 04-14 10:55

    k32l2b31写入LPUART1-&amp;gt;STAT |= (1&amp;lt;&amp;lt;25)会导致semihost_hardfault是为什么?

    我想在 k32l2b31 上激活 LIN Break 检测 必须在状态寄存器中设置位 LKDE i try LPUART1-&amp;gt;STAT |= (1&amp;lt;&
    发表于 04-08 06:36

    双模载波芯片CN8513&amp;amp;amp;CN8514在智能家居中的创新应用

    双模载波芯片CN8513&amp;CN8514在智能家居中的创新应用
    的头像 发表于 02-10 09:43 965次阅读
    双模载波芯片CN8513&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;CN8514在智能家居中的创新应用

    【正点原子STM32H7R3开发套件试用体验】手写数字、字母的识别

    ; if (((tp_dev.x[0] &amp;lt; (lcddev.width - 20 - 2)) &amp;amp;&amp;
    发表于 01-01 17:37

    如何判断产品需不需要做AT&amp;amp;amp;T认证?AT&amp;amp;amp;T测试内容和要求分享

    随着经济全球化的发展,国内越来越多产品厂商选择将自家产品出口到北美市场,而这时候各位厂商都会面临产品需不需要做AT&amp;T的问题。今天英利检测针对这一问题整理了一些关于AT&amp;T认证中
    的头像 发表于 12-23 17:46 1020次阅读
    如何判断产品需不需要做AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T认证?AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T测试内容和要求分享

    百问FB网络编程 - UDP编程简单示例

    套接字接收其它客户的数据报。 6.5.1 服务器端代码 参考UDP/server_line.c 1#include &amp;lt;stdio.h&
    发表于 12-10 09:46