你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 5369|回复: 26

[STM32F769-DISC] 【F769IDISCOVERY评测】用WIFI给你的设备远程升级

  [复制链接]

33

主题

1243

回帖

0

蝴蝶豆

论坛元老

最后登录
2019-3-9
发表于 2016-12-14 09:47:08 | 显示全部楼层 |阅读模式

    本人前面的帖子中多次提到,F769IDISC(STM32官网)这块开发板不仅带有线网口,还配带无线WIFI模块扩展口。物联网时代,啥东西不和网络车上关系好像都不好意思拿出来说,开发板有这么高端的功能,怎么可能不体验一下呢。于是本人”不惜血本花费重金“10个大洋,买了个WIFI模块回来,准备体验一下高大上开发板功能。
    开发板装上WIFI后大概就是这个样子的
image30.png
image31.png

嵌入式设备千千万万,给系统升级是非常常见然而又非常麻烦的事情,相信不少人都被坑过,然而,现在有个非常好的解决方法:远程无线升级,就是本文介绍的例子,通过使用wifi模块联网,从网络下载固件进行IAP升级,本例在\STM32Cube_FW_F7_V1.5.1\Projects\STM32F769I-Discovery\Applications\WiFi\Esp8266_IAP_Client文件夹中,注意一定要是1.5.1才有
需要用到的工具:
硬件:STM32F769IDISCOVERY开发板,ESP8266-01或ESP8266-01S WIFI扩展模块
软件: IAR或其他集成编译器,HTTP WEB服务器
web server 例程文档里推荐使用Wamp server,本人之前安装过tomcat,懒得重新安装一个,于是就是用tomcat,,然后这里有个坑折腾了我一个多小时
下面介绍如何利用WIFI远程升级
1. 首先将WIFI模块安装到F769I开发板扩展口上,如文章开头的图
2. 打开Esp8266_IAP_Client中的工程
3. 打开config.h文件,修改图中所示的4个宏定义,分别是局域网WIFI名称,密码,主机IP地址和端口,web server一般都是比较常见的8080端口
image32.png
4. 启动web服务器,即tomcat,打开浏览器输入localhost:8080或者 192.168.1.149:8080(本机ip),如果看到tomcat主页,说明运行成功
image33.png
5. 将工程中的binary/hello.bin复制到Tomcat的ROOT目录中,这是我们将要下载升级的固件
image34.png
在浏览器输入 192.168.1.149:8080/hello.bin 并回车,如果出现文件下载页面则webserver准备完成

按理说,到这里已经完成配置,编译下载就能正常运行了,楼主满怀期待的编译并下载好程序,复位运行,看着屏幕上一点点的变化:
image35.png
WIFI初始化成功
链接路由器成功,获得IP地址
链接服务器成功
开始下载文件
一切看起来好像那么美好
然而现实总是不会那么一帆风顺
几秒钟之后。。
image36.png
一瓢冷水泼再头上,,虽然南国的“冬天”这几天很暖和,但还是拔凉拔凉的,,但是,我也是不会那么容易放弃的
一头扎到代码中去找上面那个错误,,居然有好几个地方都是同一句话,,,下STM32库的同志啊,能不能走点心啊,,你哪怕多谢一个编号也好辨认一点啊,,没办法啦,自己来,给每个地方加不同的输出信息,再慢慢调试,最后终于找到错误来源
image37.png
罪魁祸首就是它了,什么意思呢?看注释是在检查从网络接收的数据是不是正确的,这个函数是在查找字符串子串,看前面字符串中是否包含后面那个字符串
image38.png
image39.png
这里说如果接收成功,将会收到 200 OK,
image40.png
在HTTP协议中,200 OK被定义为请求成功,所以在接收数据中如果检查到200 OK则说明数据接收正确。
然而运行的时候这里的检查每通过?难道是服务器数据发送没成功?又折腾快一个小时过去,试了各种方法,最后发现是Tomcat的坑,,,由于使用了不同的WEB服务器,Tomcat server在请求成功的时候
只会返回 200,而不会 返回 200 OK,
数据中当然就永远也找不到 200 OK 子字符串了。

简直是跳坑里了都不知道怎么进去的啊。不过好在找到原因了,简单修改一下代码,去掉多余的“ OK”
image41.png
此时再次编译下载运行,
image42.png
功夫不负有心人,总算是看到下载,编程成功的界面了,按下复位键,重新运行一下,接可以看到Hello ESP8266的界面了
image43.png
中间的色块有好几种颜色在变化。
image44.png


如果需要再次进入刚刚的升级程序的界面,只需要按住蓝色用户按键不放,然后按一下黑色复位键即可。
之后我们只需要将 hello.bin换成我们自己写好的固件程序,即可实现固件远程升级,想想也是一个很方便的功能,如果成本允许,倒也是非常不错的选择。

朋友们有兴趣的可以试试,感觉还是蛮有趣的




评分

参与人数 1ST金币 +30 收起 理由
zero99 + 30

查看全部评分

<
回复

使用道具 举报

60

主题

2051

回帖

31

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2016-12-14 10:02:41 | 显示全部楼层
高端,风神出手就是不一样!
回复 支持 反对

使用道具 举报

3

主题

1377

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2016-12-14 10:17:22 | 显示全部楼层
谢谢分享,这个确实很实用。
回复 支持 反对

使用道具 举报

10

主题

693

回帖

0

蝴蝶豆

金牌会员

最后登录
2018-6-15
发表于 2016-12-14 10:20:29 | 显示全部楼层
谢谢分享               
回复 支持 反对

使用道具 举报

74

主题

1368

回帖

194

蝴蝶豆

版主

最后登录
2020-5-12
发表于 2016-12-14 10:23:23 | 显示全部楼层
不错,值得学习~~~
回复 支持 反对

使用道具 举报

10

主题

1651

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-2-15
发表于 2016-12-14 10:35:00 | 显示全部楼层
挺高端的。
回复 支持 反对

使用道具 举报

6

主题

1026

回帖

7

蝴蝶豆

金牌会员

最后登录
2020-11-25
发表于 2016-12-14 10:43:15 | 显示全部楼层
谢谢分享,非常好的经验
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

中级会员

最后登录
2018-3-2
发表于 2016-12-14 11:00:54 | 显示全部楼层
厉害      
回复 支持 反对

使用道具 举报

20

主题

1110

回帖

125

蝴蝶豆

论坛元老

最后登录
2019-5-4
发表于 2016-12-14 11:17:59 | 显示全部楼层
感谢楼主分享
回复 支持 反对

使用道具 举报

1182

主题

3785

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-3-17
发表于 2016-12-14 11:23:48 | 显示全部楼层
高端。。
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版