NodeMCU学习(一)--环境搭建(一)
2022-07-15 来源:csdn
NodeMCU是开源的硬件平台,适用于物联网应用的原型开发,功能验证。使用Lua作为开发语言,只需几行脚本就能实现联网等功能。
基于乐鑫esp8266的NodeMCU开发板,具有GPIO、PWM、I2C、ADC等功能,还包含了4M外部flash,TB上只卖十几软妹币,性价比很高。使用Lua脚本开发,代码很容易被读走,并且运行效率不高,所以NodeMCU主要用于实现使用Wifi联网的物联网应用原型、个人小制作等。
本系列是记录学习NodeMCU,目标是最终实现一个基于MQTT协议的物联网显示屏。开发板上的显示屏显示从手机/PC端发送的数据,并且可以采集传感器数据并传到云端及手机/PC端。
https://esp8266.ru/esplorer/
可选,Visual Studio Code 用于编写Lua脚本,ESPlorer也可以写脚本,但是与代码神器VScode相比不是一个等级的
可选,mqttfx PC上的MQTT客户端,用于与NodeMCU通信
可选,MQTT Client Android上的MQTT客户端,用于与NodeMCU通信
2. 开发流程
NodeMCU的一般开发流程如下:
2.1 编译基础固件
固件可以在线编译也可以本地编译,由于固件不需要经常改动,所以使用在线编译。在线编译地址为https://nodemcu-build.com/,输入邮箱地址并确认。根据需要选择要加入的模块:
点击页面最下面的Start your build按钮开始编译,然后邮件会收到开始编译的邮件,过一段时间会收到编译完成的邮件。在此邮件中包含两个版本固件的bin文件,其中float表示支持浮点运算,integer表示只支持整形运算。这里选用float版本,支持浮点数比较方便,只是固件稍微大一些,对于4M flash影响不大。
2.2 基础固件下载
打开工具ESP8266Flasher,配置串口参数:
选择要下载的基础固件文件:
连接NodeMCU开发板,按一下开发板的FLASH按钮,点击下载工具的Flash(F)按钮后等待下载完成:
2.3 Lua脚本下载
下载完基础固件后,重新上电,代码将自动从init.lua文件开始运行,所以Lua脚本的入口就是init.lua文件。
连接开发板,打开ESPlorer.bat,配置波特率115200,点击open按钮:
Tip:有时候串口通信不正常,可以按开发板上的复位按钮,或者点击ESPlorer的FS Info按钮试试。
连接上开发板后就可以开发写Lua脚本了,先写init.lua,脚本语法参考Lua的教程,各个模块的功能参考链接https://nodemcu.readthedocs.io/en/master/
编写init.lua脚本后,点击Save to ESP按钮,就可以将脚本下载到flash中,复位后将运行init.lua脚本。注意脚本中不能有中文,否则无法运行。
Tip:NodeMCU上电后立马运行init.lua脚本,如果脚本中有错误就会运行出错并复位,复位后又会运行init.lua脚本,陷入死循环。解决办法是脚本开始加一段延时,留足够的时间重新下载出错脚本或者直接点击Format删除所有脚本。
示例代码:
tmr.delay(1000000)
print(“nodemcu start 0.1”)
tmr.delay(1000000)
3. 总结
从上面的介绍看得出NodeMCU开发十分简单方便,但是也正因为太简单,代码没有任何保护,而且也不是特别稳定,所以NodeMCU比较适合原型开发及个人小制作。