ESA2GJK1DH1K升级篇: 在LUA开发方式下,如何实现http下载LUA文件就可以实现升级Air202和ESP8266的LUA程序
Posted yangfengwu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ESA2GJK1DH1K升级篇: 在LUA开发方式下,如何实现http下载LUA文件就可以实现升级Air202和ESP8266的LUA程序相关的知识,希望对你有一定的参考价值。
前言
咱们用LUA开发 Air202或者ESP8266的时候是不是都希望可以直接升级lua文件
就是说直接把编写好的lua文件放到云端,然后芯片下载lua文件以后执行
其实这个功能还是我大前年的时候花时间研究出来的,又是第一人. 嘻嘻嘻
因为后来发现用来升级Air202是没有啥问题,但是用来升级ESP8266就是个鸡肋了
主要是因为ESP8266的内存....唉,巧妇难为无米之炊!
所以好长时间里都没有把我做的这个功能当一回事!
但是以前给别人做的项目,都是用我研究的lua实现升级的air202
现在想想这个方案我还不能丢掉,因为确实找不到更好的方案了!!!!
而且前几天还有人想在项目上使用这个功能!
所以我把这个方案提供给大家.
这一节先让大家知其所以然,下一节再知其然.
给大家说说我是怎么把lua文件下载到芯片里面然后运行的吧
1.其实道理很简单,咱写的lua文件用软件下载的时候就是存到了芯片里面
大家会问:难道不是编译以后下载进去的吗??
如果大家真正了解LUA,大家就把lua文件当做一个存储在数组里面的字符串就可以
然后利用lua编译器加载数组,然后就是执行lua程序了
大家可以看看我写的这篇
https://www.cnblogs.com/yangfengwu/p/9315841.html STM32嵌入LUA开发(控制小灯闪耀)
2.咱使用的lua开发都有对文件操作的函数
2.1 Air202把lua程序写入文件和加载文件
2.2 ESP8266 把lua程序写入文件和加载文件
2.3 写个超级简洁的
file.open("test.lua", "w+") --创建test.lua
file.write("print("1234")")--存入lua执行程序 print("1234")
file.close() --关闭文件
dofile("test.lua") --加载文件
执行以后就会打印
1234
结语
不知道大家看没看明白,没有看明白的话自己去试一试哈!
其实道理很简单,但是要把整个升级系统做的稳定可靠,
不是一时半会可以做到的,还好当时做项目的时候,
给了我充足的时间.
其实还是那句话:
要想解决当前从来没有人解决过的问题,只有把知识灵活的运用才行呀!
知识是死的,人是活的!
以上是关于ESA2GJK1DH1K升级篇: 在LUA开发方式下,如何实现http下载LUA文件就可以实现升级Air202和ESP8266的LUA程序的主要内容,如果未能解决你的问题,请参考以下文章
ESA2GJK1DH1K升级篇: 阿里云物联网平台 OTA: 关于阿里云物联网平台 OTA 的升级流程
ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于(Wi-Fi模块AT指令TCP透传方式),MQTT通信控制升级(含有数据校验)
ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于GPRS模块(air202)AT指令TCP透传方式,MQTT通信控制升级(V1.0)
ESA2GJK1DH1K升级篇: 测试STM32远程乒乓升级,基于GPRS模块(Air202,SIM800)AT指令TCP透传方式,MQTT通信控制升级
ESA2GJK1DH1K升级篇: 网页实现MQTT控制- 网页版MQTT控制设备,网页版MQTT连接阿里云通信
ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于Wi-Fi模块AT指令TCP透传方式,MQTT通信控制升级-BootLoader程序制作过程(V1.0)