ESP8266 - Lua 开发

(一)ESP8266 nodeMCU 固件云构建官网:nodeMCU - Lua

云构建

一、ESP8266刚买回来,需要烧录Lua固件,才可以进行Lua开发,固件是Lua的源码(C语言)进行二次改造,官网也提供了固件源码开源,如果有兴趣,可以搭建linux系统进行个性化定制,再编译成固件提供给ESP8266烧录,DIY需要对C语言、linux系统、以及Lua源码基础。

二、作为新手,我选择官网的云构建,简单的选择几个必备函数:file、GPIO、net、node、timer、UART、WiFi

简单介绍功能:

1.file:文件操作函数,当我们需要保存新的数据(如wifi账号,wifi密码),需要使用该函数在ESP8266内创建、写入、删除文件等操作。

2.GPIO:引脚接收、设置,作为新手,我们可以先学习如何使用引脚点亮一个LED(包括 ESP8266的信号灯)

3.net:网络模块、远程控制。用于创建TCP/UDP端口,主要用于手机App、电脑端,接收,发送数据。

4.node:系统级功能,如睡眠、重新启动以及各种信息和 ID。

5.timer:分时器模块。该模块很重要,Lua属于单线程,在ESP8266开发里,我们编程会使用timer 代替 while 死循环。

6.UART:串口通讯。与GPIO不同的是,这个是已经设置好的引脚(TX - 发送 、RX - 接收)。

7.WiFi:wifi模块。详细介绍可以点击函数后面的小图标进入手册查看。

NodeMCU - 云构建

三、不能使用QQ邮箱,我使用了163网易邮箱才构建成功。

四、不能选择过多的函数功能,由于ESP8266内存有限,官网云构建也会限制选择数量。

五、如果官网构建失败,这里推荐一位大佬私人搭建的云构建平台:云切物联网工具箱-NodeMCU固件在线打包-bata1.0   QQ群:1139084223  。个人使用感觉比官网简单方便。

云切物联网工具箱-NodeMCU固件在线打包-bata1.0

六、构建成功后,5分钟左右官网会返回一封邮件,包含了我们需要的固件文件。

七、我下载的是 第一个 float-bin,暂时还没研究两个固件的区别,有懂行的可以评论区讨论。该链接官网有时效,尽量两个都下载,这个固件一般都不需要重新构建,保存好,够我们学习半年。

(二)ESP8266 固件烧录工具

一、固件烧录工具,网上有好几种,我这个只拿来烧录ESP8266,暂时没试过ESP32。

百度云盘链接:https://pan.baidu.com/s/1WLYck4X2C1DupVl2GtqyQQ  提取码:nsx4

二、我选择ESP8266 型号:ESP-12F 开发板进行烧录(主要是方便,直接插数据线即可)

固件串口

三、设置固件路径

固件路径

四、设置参数。这里比较需要注意的地方是 Flash size。以型号:ESP - 12F为例,SPI FLASH:32MB / 8  = 4MB,所以我们设置4MB。

ESP - 12F
ESP - 12F

如果是 ESP - 01 或 ESP - 01s 那种小型的则是 SPI FLASH:8MB / 8  = 1MB。(附01/01s接线图,GPIO0接上为烧录固件模式/拔掉为运行模式)

ESP - 01s

五、烧录过程会生成 AP MAC,STA MAC,但是与ESP8266实际芯片的AP,STA MAC不一致,懂行的朋友可以评论区讨论。这个数据我选择不保存,以ESP8266实际为准。

六、烧录成功后,打开电脑端串口助手,重启ESP8266进行Lua环境构建。

1.串口助手下载地址:https://pan.baidu.com/s/1BvPrMyQ2eYSLcu7UntYQfQ 提取码:89ig

2.ESP8266 波特率:115200,选择打开串口,点击运行模式。或者点击 ESP8266开发板上的 RST 启动。

3.构建Lua环境成功会显示如下:

4.从这些信息里面我们可以了解到固件的信息,有个重点:从此以后,ESP8266启动都会去运行一个名字为init.lua的文件。所以接下来我们就要学习烧录Lua文件。

(二)ESP8266 nodeMCU 官网手册:Lua 函数  - API

(三)ESP8266 nodeMCU 官网Github固件开源:nodemcu-firmware

(四)ESP8266 nodeMCU 官网推荐Lua烧录工具

一、ESPlorer

下载地址

1.这款工具是很多ESP8266 nodeMCU教程所使用的工具,但是用过它的人都知道,因为中文注释等问题,烧录会经常失败。另外需要java环境,nodeMCU官网其实也不推荐这个工具了,因为它已经没有人去维护。

2.你也可以使用这款工具,因为它有界面,对新手来说,除了烧录需要多点几次,其实没什么缺点。另外它还可以当作串口助手来调试。

ESPlorer

二、NodeMCU - Tool

1.当我受尽ESPlorer折磨后,无意中在官网看到了NodeMCU - Tool 工具,官网比较推荐使用。不过它相比ESPlorer,它是属于命令行形式,而没有一个UI界面。

nodeMCU-Tool、

2.我们需要一款编辑器,这里我选择VScode。(关于VScode的教程,请移步)

3.我们需要node.js工具包,因为NodeMCU-Tool使用js编写的,需要它来驱动代码运行。(关于Node.js的教程,请移步)

4.安装NodeMCU-Tool:npm i -D nodemcu-tool

5.烧录配置 COM5为USB接口,以实际为准

6.多文件同时烧录配置:"upload":"nodemcu-tool upload init.lua --port=COM5"

7.运行 :npm run upload

你可能感兴趣的:(ESP8266 - Lua 开发)