公众号关注 “DLGG创客DIY”
最近搞温度监控报警器v2版(参考【发布】温度监测报警器v1.3a稳定版!)V1版用的是ESPUI,web ota用ESP8266WebServer库,ESP8266WebServer库和ESPUI用的库(忘了叫啥了)有冲突,解决不了,果断换。然后就重新定义了个v2版。
OTA服务器是白嫖的VPS,还能用2月,到期之后我会再搞一个,同时更换地址。有需要的朋友可以回复“http update”获取ip地址,可以用来测试http update功能
-
OTA服务器干嘛用的?
升级程序用的,可以参考【S操作】一个简单粗暴易用的远程调试方案——OTA http update
-
干嘛不搞个域名?
其实也没什么就把ip换成域名就行了。
之前买的域名搞内网穿透用呢,也有点麻烦,就是个测试服务器感觉没必要,回头弄好带程序更新的温度监控报警器v2版时候,我考虑弄一个,方便大家使用
使用说明
测试页面地址(测试服务器好使不用的):浏览器输入ip,正常情况默认80端口页面可以看到“hello ota”
ESP8266 ota测试页面地址:ip/ota/,正常情况默认80端口页面可以看到“\esp8266 ota”
ESP8266闪灯固件地址:“http://ip/ota/bin.bin”,程序运行ota下载正常,ESP8266的D4(pin2)引脚灯会亮1秒灭1秒循环闪烁
固件版本号地址:“http://ip/ota/version.html”,正常情况默认80端口页面可以看到“20210824”
下边是上次发的http update的一个应用
【S操作】一个简单粗暴易用的远程调试方案——OTA http update
问题的提出:
在公司如何调试家里的物联网设备(esp8266设备)?
最近搞热水器自动定时启动(【DIY】填坑,热水器自动定时烧水断电方案,预期目标及功能),在公司不太容易测试,因为热水器在家里,8266(类似嵌入式设备)一般用USB下载程序
所以不太容易调.
解决方案:
今天就不吓分析吓BB了,直接说解决方案,可能不是最优的,但绝对是最简单粗暴的,我的风格大家都懂哈
这个方案可以叫http update(我之前叫他OTA,意思应该差不多,不用太深究),这个也是我之前要搞的光剑的程序下载方案(【一起玩光剑】光剑第二期:新建GitHub上传OTA初始程序)
文字简单描述一下思路,8266定时或主循环轮询服务器(树莓派)的一个文件(随便个文件,我用的txt),文件中的内容是标志,我用的是时间如:200716即昨天程序日期的版本号,今天我如果要更新8266的程序,就将最新的bin文件通过ftp发送到树莓派上,然后修改程序日期版本号。8266定时去询问服务器,并比较程序版本号,如果服务器程序的版本号大于当前的就更新,反之就不更新。就这么简单
当然这种方法也适用于公网上的设备,只要联网就行,但是服务器需要公网ip,没有公网ip就得搞内网穿透就比较麻烦了。