在迅速变化和发展的物联网市场,新的产品需求不断涌现,因此对于智能硬件设备的更新需求就变得空前高涨,设备不再像传统设备一样一经出售就不再变更。为了快速响应市场需求,一个技术变得极为重要,即OTA空中下载技术。
在最近的两篇文章中,我们从概念和流程上梳理了: 一个终端设备如何把一个固件,安全无误的从服务器上,下载到本地。
通过有线方式进行升级,叫本地升级,比如通过UART,USB或者SPI通信接口来升级设备固件。
本教程需要用到 arduino IDE的esp8266开发环境,关于arduino IDE 的ESP8266环境配置可参考:环境配置: 点击跳转
(STM32EC200BKAPP是设备的型号; 0.0.0是设备当前的固件版本)
(STM32Air302BKAPP是设备的型号; 0.0.0是设备当前的固件版本)
(STM32F407ESP8266BKAPP是设备的型号; 0.0.0是设备当前的固件版本)
说明 前面章节是单片机主动访问升级,这节使用Android软件控制更新单片机程序! 注意哈,只是在原先的基础上让APP通过MQTT通信把固件地址发给设备,而不是设备主动获取了; 当然不仅仅限于APP去控制,后面还有微信小程序,上位机,网页等控制升级的. 整体升级流程如下:(APP和设备通过MQTT通信) 1,用户在APP上点击 "固件升级" 按钮, APP使用MQTT发送: {"data":"updata","cmd":"DeviceInfo"} //询问设备固件信息 2,设备通过MQTT收到该消息以后,
在进行物联网开发的过程中,免不了进行ota升级,那么如何做好ota升级又是非常值得思考的问题。
<iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/STM32W5500AIR202B/" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe>
STM32控制W5500使用http获取云端info.txt文件,从文件里面获取远端固件版本,固件下载地址等信息
1.问题背景 在客户量产中,出厂的板子rf参数不太可能做到完全一致,所以需要etf固件来校准rf参数。但是如果烧录完etf固件又再一遍烧录应用固件生产起来就比较麻烦。把两个固件合并在一起的话可以减少生产工序,提高生产效率。
固件升级,通常称为 OTA(Over the Air)升级或者 FOTA(Firmware Over-The-Air)升级,即固件通过空中下载进行升级的技术。
<iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ESA2GJK1DH1K_B/" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe>
上次发过SD卡的Bootloader离线升级后,应大家的要求,这次就讲一下STM32的OTA远程升级。 OTA又叫空中下载技术,是通过移动通信的空中接口实现对移动终端设备数据进行远程管理的技术,还能提供移动化的新业务下载功能。 要实现OTA功能,至少需要两块设备,分别是服务器与客户端。服务器只有一个,客户端可有多个。服务器通过串口与PC机连接,需要下载的镜像文件存放于PC机,命令执行器给服务器发命令及镜像文件。首先命令执行器控制服务器广播当前可用的镜像文件信息,客户端收到信息后进行对比,若有与自身相匹配的镜像,则向服务器请求数据。服务器收到请求后向命令执行器索取固定大小的块,再点对点传送给客户端。镜像传输完毕后,客户端进行校验,完成后发送终止信号。 一. 升级方式的对比
说明 这节测试一下STM32通过MN316(NB-IOT)使用http远程下载升级单片机程序 提示:升级程序只是把bin文件数据写到单片机,使用哪种方式获取bin文件数据都是可以的. 这节是使用http的方式获取程序bin文件 我已经把固件文件放在了自己的服务器上 默认使用本人提供的下载路径测试 文件路径: 网站根目录->ota->hardware->STM32MN316BK 📷 user_crc.bin: 是固件程序文件. 该固件程序文件并不是直接可以运行的文件 里面的数据每隔128字节后面增加2位CR
说明 这节测试一下STM32通过W5500使用http远程下载升级单片机程序 我已经把固件文件放在了自己的服务器上 默认使用本人提供的下载路径测试 文件路径: 网站根目录->ota->hardware->STM32W5500BK 📷 user_crc.bin: 是固件程序文件. 该固件程序文件并不是直接可以运行的文件 里面的数据每隔128字节后面增加2位CRC校验位 单片机下载以后每隔130字节校验一下数据,然后把前128字节写入Flash. 加入CRC校验让升级变的稳定可靠. info.txt文件内容:
具体怎么使用F407存储数据的需要看这篇文档: https://www.cnblogs.com/yangfengwu/p/14476294.html
ESP32应用程序可以在运行时通过Wi-Fi或以太网从特定的服务器下载新图像,然后将其闪存到某些分区中,从而进行升级。在ESP-IDF中有两种方式可以进行空中(OTA)升级:
<iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ZLAir724UGA/myota.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe>
文件路径: 网站根目录->ota->hardware->STM32CH395BK
说明(先看那个非SSL的) 这节测试一下STM32+Mbedtls通过Air302(NB-IOT)使用https远程下载升级单片机程序 提示:升级程序只是把bin文件数据写到单片机,使用哪种方式获取bin文件数据都是可以的. 这节是使用http的方式获取程序bin文件 我已经把固件文件放在了自己的服务器上 默认使用本人提供的下载路径测试 文件路径: 网站根目录->ota->hardware->STM32Air302SSLBK 📷 user_crc.bin: 是固件程序文件. 该固件程序文件并不是直接可以运
说明 这节测试一下STM32通过EC200(移远4G Cat1)使用http或https远程下载升级单片机程序 我已经把固件文件放在了自己的服务器上 默认使用本人提供的下载路径测试 文件路径: 网站根目录->ota->hardware->STM32EC200BK 📷 user_crc.bin: 是固件程序文件. 该固件程序文件并不是直接可以运行的文件 里面的数据每隔128字节后面增加2位CRC校验位 单片机下载以后每隔130字节校验一下数据,然后把前128字节写入Flash. 加入CRC校验让升级变的稳定
说明 这节测试一下STM32G070通过Air724UG(4G GPRS)使用http或https远程下载升级单片机程序 我已经把固件文件放在了自己的服务器上 默认使用本人提供的下载路径测试 文件路径: 网站根目录->ota->hardware->STM32G070Air724BK 📷 user_crc.bin: 是固件程序文件. 该固件程序文件并不是直接可以运行的文件 里面的数据每隔128字节后面增加2位CRC校验位 单片机下载以后每隔130字节校验一下数据,然后把前128字节写入Flash. 加入CR
说明 这节测试一下STM32通过Air302(NB-IOT)使用http远程下载升级单片机程序 提示:升级程序只是把bin文件数据写到单片机,使用哪种方式获取bin文件数据都是可以的. 这节是使用http的方式获取程序bin文件 我已经把固件文件放在了自己的服务器上 默认使用本人提供的下载路径测试 文件路径: 网站根目录->ota->hardware->STM32Air302BK 📷 user_crc.bin: 是固件程序文件. 该固件程序文件并不是直接可以运行的文件 里面的数据每隔128字节后面增加2位
{"version":"0.0.1","size":16900,"url":"http://mnif.cn/ota/hardware/STM32BC260YBK/user_crc.bin","info":"1.解决了部分BUG 2.优化了部分程序"}
说明 这节测试一下CH32V307通过ESP8266使用http或https远程下载升级单片机程序 我已经把固件文件放在了自己的服务器上 默认使用本人提供的下载路径测试 文件路径: 网站根目录->ota->hardware->CH32V307ESP8266BK 📷 user_crc.bin: 是固件程序文件. 该固件程序文件并不是直接可以运行的文件 里面的数据每隔128字节后面增加2位CRC校验位 单片机下载以后每隔130字节校验一下数据,然后把前128字节写入Flash. 加入CRC校验让升级变的稳定可
说明 这节测试一下CH579通过自带以太网使用http远程下载升级单片机程序 我已经把固件文件放在了自己的服务器上 默认使用本人提供的下载路径测试 文件路径: 网站根目录->ota->hardware->CH579MBK 📷 user_crc.bin: 是固件程序文件. 该固件程序文件并不是直接可以运行的文件 里面的数据每隔128字节后面增加2位CRC校验位 单片机下载以后每隔130字节校验一下数据,然后把前128字节写入Flash. 加入CRC校验让升级变的稳定可靠. info.txt文件内容: 📷 v
这节测试一下STM32F407VET6通过ESP8266(WiFi)使用http或https远程下载升级单片机程序
说明 这节测试一下STM32通过ESP8266使用http或https远程下载升级单片机程序, 为应对小容量单片机问题,升级底层包也支持把备份程序写到外部flash. 打开BootLoader程序,说明下flash支持情况 1,当前程序(V3.0.0)支持外接W25Q80/16/32/64/128,后续将根据用户需求增加更多的flash支持 📷 使用内部flash和外部flash分配情况如下: 使用外部flash以后,备份用户程序区放到了外部flash, 使得用户程序有了更大的空间 📷 2,当前开发板未板载
《Mini UDP OTA Tool》这是一个非常简陋的软件,采用Python写的。在这我想吐槽一下,Python写上位机真心不好写,我用过几种语言写过上位机,Python写上位机是最痛苦的。
说明 这节测试一下STM32通过W5500+mbedtls使用https远程下载升级单片机程序 关于mbedtls的SSL的具体移植使用可以参考我写的下面两篇文章 https://www.cnblogs.com/yangfengwu/p/13693511.html 单片机移植mbedtls https://www.cnblogs.com/yangfengwu/p/13845772.html 使用Mbedtls包中的SSL,和服务器进行网络加密通信 我已经把固件文件放在了自己的服务器上 默认使用本人提
说明 这节测试一下STM32通过Air724UG使用http或https远程下载升级单片机程序, 为应对小容量单片机问题,升级底层包也支持把备份程序写到外部flash. 打开BootLoader程序,说明下flash支持情况 1,当前程序(V3.0.0)支持外接W25Q80/16/32/64/128,后续将根据用户需求增加更多的flash支持 📷 使用内部flash和外部flash分配情况如下: 使用外部flash以后,备份用户程序区放到了外部flash, 使得用户程序有了更大的空间 📷 2,当前开发板未
最近收到了RT-Thread的麻雀一号开发板,这款开发板可真的是:麻雀虽小,五脏俱全啊!
作为一种低成本的近距离无线连接协议,蓝牙在现实生活中的应用非常广泛,各种嵌入式、物联网设备随处可见。基于这一特性,我们今天讲一下如何使用蓝牙实现OTA固件升级。
空中下载技术OTA(Over-the-Air Technology)是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口,对产品中的固件程序进行更新升级。通常实现OTA功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序为Bootloader区域,第二个项目程序App代码为真正的功能代码,执行应用和升级。这两部分项目代码同时烧录在User Flash中。
今年11月15日左右,美国多家媒体爆料上海广升的固件OTA方案存在后门,其固件会每隔72小时就把你所有的短信内容、联系人等都发送到中国服务器,这种软件监视用户去过哪里,他们与什么人聊过天,他们在短信中写了什么等。这次爆料也使得广升陷入“间谍门“事件,但是事情还没结束。 11月17日左右,AnubisNetworks的CTO(João Gouveia)和BitSight的安全研究人员(Dan Dahlberg)发现多个品牌的Android手机固件OTA升级机制存在安全问题,包括在美国百思买出售的BLU Stu
OTA 是Over The Air 的简称,顾名思义就是通过无线网络从服务器上下载更新文件对本地系统或文件进行升级,便于客户为其用户及时更新系统和应用以提供更
在芮亚楠看来,自身不具备升级迭代功能的不算真正意义上的智能设备。 在智能手机,我们总是通过OTA(Over-The-Air)技术来实现系统的更新与漏洞的修补,用WiFi、移动通信等无线网络自动下载OTA升级包、自动升级,或是下载OTA升级包到SD卡升级。 不过,随着物联网的发展,智能设备的种类越来越多,而OTA的辐射范围也不再仅限于智能手机。用艾拉比总裁芮亚楠的话来说,“无升级,不智能。” 物联网、车联网渐趋成熟 顺应市场需求创立公司 “之所以成立艾拉比,就是为了给汽车、物联网领域的客户提供更专业的技术和更
所有设备到齐之后, 笔者第一时间开始跑起来。总的来说,Tuya OS 二次开发还是挺好上手的,由于它是专门针对宠物产品品类的SDK,功能相对齐全,demo也都包含了,可以节省不少开发时间。特别适合B端的用户,尤其从事宠物产品行业的公司,想加入物联网平台,打造差异化功能的产品,可以尝试该SDK开发。下面我带大家体验下整个开发流程:
硬件:全平台 软件:Tina 其他:支持OTA升级的平台,可实现脚本定制化升级
物联网的迅速发展涌现了数十亿与互联网连接的无线嵌入式设备。 从医疗设备到坦克传感器, 智能恒温器, 智能路灯, 水监视器等等, 物联网比以往任何时候都应用广泛。
BootLoader程序检测到升级标志,把接收的程序文件拷贝到运行区,并运行用户程序.
2.命令行功能演示: 命令行添加了更多功能,不仅可以通过命令行调试系统,还可以通过命令行获取时间、天气信息、升级固件,也能把sd卡中的图片文件复制到spi flash中,命令行的更多功能,欢迎下载源代码体验。
领取专属 10元无门槛券
手把手带您无忧上云