16-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇----介绍8266使用http获取数据,怎么实现的lua升级

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


其实升级lua程序是我自己发现的,以前喜欢用lua开发,但是自己做出来的东西不支持升级可不行



然后在升级Wi-Fi的基础上感觉GPRS应该也可以实现,后期就是研究了几天,也实现了GPRS的lua升级



先看一下实质



file.open("test.lua", "w+") 

file.write("print(\"1234\")")

file.close()

dofile("test.lua")



运行下:











 如果还没有感觉,咱加个定时器



file.open("test.lua", "w+") 

file.write("local PubilcTimer = tmr.create() PubilcTimer:register(1000, 1, function() print(\"111111\") end)  PubilcTimer:start()")

file.close()

dofile("test.lua")











 如果把程序文件放到云端,然后下载下来,写入文件,然后运行...就实现了远程升级



 但是要保证稳定可靠就需要下大功夫



我写的程序是运行了两套文件再里面



    A                   B



Aupdata0    Bupdata0        



Aupdata1    Bupdata1



Aupdata2    Bupdata2



Aupdata3    Bupdata3



Aupdata4    Bupdata4



Aupdata5    Bupdata5



Aupdata6    Bupdata6



Aupdata7    Bupdata7



Aupdata8    Bupdata8



Aupdata9    Bupdata9



每次更新的时候切换写入文件



云端放10个文件,然后依次访问0-9,然后以此写入0-9



也是为了得到10% 20% .... 90% 100%



这10个文件是在init里面这样加载的





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

你可能感兴趣的:(16-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇----介绍8266使用http获取数据,怎么实现的lua升级)