10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)

https://www.cnblogs.com/yangfengwu/p/10829236.html


视频教程

https://www.bilibili.com/video/av55149096



这一版的单片机程序方案要比上一版的单片机程序方案要稳定的多.......很多东西蛮复杂的其实也蛮简单,蛮简单的东西有时候也蛮复杂


我之所以出好几版实现更新的程序是因为我想的是让大家真正的学会,和别人的教程相比,我更注重自己的教程是不是能让大家真正的明白!真正的应用起来


我不希望你只会用,请不要自己骗自己,因为如果只是这样,以后会害了你,....记住,如果每次都是似懂非懂的去学习,你感觉现在很轻松,以后你绝不会轻松.


烂程序员关心的是代码。好程序员关心的是数据结构和它们之间的关系.


我身边多的是例子:每学一个东西都力求深入的学的人和每次都只是处于会用的基础上的人,一开始你看不出来差别,但是一旦工作2-3年,无论薪酬,对问题思考的角度,解决问题的能力,还是发展空间100%不一样了.....一个天上一个地下.....你自己的态度绝对会影响你的未来生活.都是一天24小时,请尊重自己和别人的时间


由于现在问问题的太多太多.....一般的问题我不再回答,因为你自己百度就可以解决,你要是懒,我比你更懒....


我只是一个为你拨开重重迷雾的人,路还是需要自己走.


真正的人才都是自学出来的,不要认为自学了就是人才了.很多人都想一口吃个胖子....


我感觉我自己算是个人才,但不是真正的人才.自信中永远会带着谦虚,因为见识到了太多的...天外天,人外人.


这一节的程序方案是我感觉最好的了,程序修改了好多天,因为我总是力求能把最好的带给大家.....


为了让大家好学习,这节的程序完全是单片机自己请求升级,没有其它东西做控制.


请先自行补充基础内容  


https://www.cnblogs.com/yangfengwu/p/6921832.html


https://www.cnblogs.com/yangfengwu/category/1383497.html1-3节



10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第1张图片




WIFI模块收到连接服务器指令就去连接TCP,然后返回连接状态,,连接上以后就透传,...就这样


10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第2张图片


10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第3张图片




 我只是用LUA写的,大家AT指令也能实现连接TCP把,我就是为下一节的AT指令版本实现升级做铺垫




看一下IAP程序的流程图


10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第4张图片


单片机每次复位主动询问服务器版本,如果版本不一致就下载

控制WIFI连接TCP服务器

"{\"datemcu\":\"updata\",\"cmd\":\"ConnectTCP\",\"ip\":\"47.92.31.46\",\"port\":\"80\"}"

{"datemcu":"updata","cmd":"ConnectTCP","ip":"47.92.31.46","port":"80"}

WIFI模块返回

"{\"datemcu\":\"updata\",\"state\":\"ConnectOK\"}"

"{\"datemcu\":\"updata\",\"state\":\"ConnectNO\"}"

WIFI模块链接上以后进入透传模式

控制WIFI询问程序版本

"GET /hardware/STM32RISC/updatainfo.txt HTTP/1.1\r\nHost: 47.92.31.46\r\n\r\n"

GET /hardware/STM32RISC/updatainfo.txt HTTP/1.1\r\nHost: 47.92.31.46\r\n\r\n

单片机解析数据,获取程序版本

如果程序版本不相同

控制WIFI连接TCP服务器(因为http默认访问一次就断开)

"{\"cmd\":\"Connect\",\"ip\":\"47.92.31.46\",\"port\":\"80\"}"

控制WIFI下载程序(准备好接受用户程序)

"GET /hardware/STM32RISC/bin1.bin HTTP/1.1\r\nHost: 47.92.31.46\r\n\r\n"

或者

"GET /hardware/STM32RISC/bin2.bin HTTP/1.1\r\nHost: 47.92.31.46\r\n\r\n"

更新完成,切换,重启






用户程序:如果用户程序有错误,那么就执行不到下面的函数,直接会复位重启了


10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第5张图片
10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第6张图片






 把所有可能出现的情况考虑一下,然后看看是不是都可以解决




下载Wi-Fi程序

10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第7张图片






链接路由器什么的参考基础篇自行解决,配网方式还是那样


10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第8张图片








下载单片机程序


10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第9张图片


10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第10张图片






10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第11张图片




 更改了一次教程,该程序位置

10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第12张图片


服务器上:


10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第13张图片






10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第14张图片






10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第15张图片




10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第16张图片






10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第17张图片


10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第18张图片




10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第19张图片






再复位一下


10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第20张图片




10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第21张图片






 去云端修改下版本




10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第22张图片




10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第23张图片




10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第24张图片




10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第25张图片




10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第26张图片






其实连接HTTP获取数据的时候会发现,HTTP分段过来的数据之间的间隔时间有长有短


10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第27张图片




10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第28张图片
10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第29张图片






为了尽量别让更新的时候出现乱子


10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版)_第30张图片





https://www.cnblogs.com/yangfengwu/p/10875886.html

你可能感兴趣的:(10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WiFi(LUA开发),STM32主动升级版))