zoukankan      html  css  js  c++  java
  • 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

    结语

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

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

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

    给了我充足的时间.

    其实还是那句话:

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

    不过前提是需要先把基本的知识点学透,学透以后方可应用自如!

    你的底子越好,你学东西就越快!

    举个例子:

    1.底子好的人和底子不好的人同样学一样没有学过的编程语言

    在遇到某些知识点的时候,由于底子不好的人没有什么基础

    很多东西他就靠痛苦的死记下来!

    底子好的人看过去就说:就这样用啊,好下一个

    其实主要在于:知识是想通的.

    所以有些人每次学新东西又快又好,有些人每次学新东西都是在痛苦挣扎!

  • 相关阅读:
    The server selected protocol version TLS10 is not accepted by client preferences [TLS12]
    修改阿里云xshell下的实例名
    ElasticSearch数据及其使用
    super()内置方法的使用
    python私有变量+路径解读+三元运算+any/all
    Anconada基础使用
    Tomcat安全基线
    Windows 安装mysql及修改默认文件存储路径
    解决IDEA下使用logback控制台打印日志中文字符为乱码,全网最全保证配置为不乱码
    基于SpringBoot开发一个Restful服务,实现增删改查功能(转载自https://www.cnblogs.com/xuwujing/p/8260935.html)
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/12784185.html
Copyright © 2011-2022 走看看