前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在LUA开发方式下,如何实现http下载LUA文件就可以实现升级Air202和ESP8266的LUA程序

在LUA开发方式下,如何实现http下载LUA文件就可以实现升级Air202和ESP8266的LUA程序

作者头像
杨奉武
发布2020-04-27 14:28:45
1K0
发布2020-04-27 14:28:45
举报
文章被收录于专栏:知识分享

前言

咱们用LUA开发 Air202或者ESP8266的时候是不是都希望可以直接升级lua文件

就是说直接把编写好的lua文件放到云端,然后芯片下载lua文件以后执行

其实这个功能还是我大前年的时候花时间研究出来的,又是第一人.  嘻嘻嘻

因为后来发现用来升级Air202是没有啥问题,但是用来升级ESP8266就是个鸡肋了

主要是因为ESP8266的内存....唉,巧妇难为无米之炊!

所以好长时间里都没有把我做的这个功能当一回事!

但是以前给别人做的项目,都是用我研究的lua实现升级的air202

现在想想这个方案我还不能丢掉,因为确实找不到更好的方案了!!!!

而且前几天还有人想在项目上使用这个功能!

所以我把这个方案提供给大家.

这一节先让大家知其所以然,下一节再知其然.

给大家说说我是怎么把lua文件下载到芯片里面然后运行的吧

1.其实道理很简单,咱写的lua文件用软件下载的时候就是存到了芯片里面

大家会问:难道不是编译以后下载进去的吗??

如果大家真正了解LUA,大家就把lua文件当做一个存储在数组里面的字符串就可以

然后利用lua编译器加载数组,然后就是执行lua程序了

大家可以看看我写的这篇

https://cloud.tencent.com/developer/article/1172799 STM32嵌入LUA开发(控制小灯闪耀)

2.咱使用的lua开发都有对文件操作的函数

2.1 Air202把lua程序写入文件和加载文件

2.2 ESP8266 把lua程序写入文件和加载文件

 2.3 写个超级简洁的

代码语言:javascript
复制
file.open("test.lua", "w+") --创建test.lua
file.write("print(\"1234\")")--存入lua执行程序    print("1234")
file.close() --关闭文件
dofile("test.lua") --加载文件

执行以后就会打印

1234

结语

不知道大家看没看明白,没有看明白的话自己去试一试哈!

其实道理很简单,但是要把整个升级系统做的稳定可靠,

不是一时半会可以做到的,还好当时做项目的时候,

给了我充足的时间.

其实还是那句话:

要想解决当前从来没有人解决过的问题,只有把知识灵活的运用才行呀!

知识是死的,人是活的!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-04-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 给大家说说我是怎么把lua文件下载到芯片里面然后运行的吧
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档