• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

10-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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.html    1-3节

 

 

 

 

 

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

 

 

 

 

 

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

 

 

 

看一下IAP程序的流程图

 

 

 

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

控制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"

更新完成,切换,重启

 

 

 

 

 

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

 

  

 

 

 

 

 

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

 

 

 

下载Wi-Fi程序

 

 

 

 

 

 

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

 

  

 

 

 

 

 

 

 

下载单片机程序

 

 

 

 

 

 

 

 

 

 

 

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

 

服务器上:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

再复位一下

 

 

 

 

 

 

 

 

 

 去云端修改下版本

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

  

 

 

 

 

 

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

 

 

 

 

 

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap