NodeMCU的使用记录
缘起:去年买了一个NodeMUC的模块,今天突然翻腾出来后发现完全没印象,完全不知道该如何去使用,所以准备把今天重新搜索学习的过程整理下,免得下次还需要重新整理思路。
目标板介绍
该板子名称为NodeMCU,当时买它的原因是商家说支持LUA脚本编写,并且有无线,最关键是便宜。我买的这个板子是NodeMCU V3,图片如下:
图1 NodeMCU V3实物图片应该如何去使用它?
下载逻辑
如果要让这个板子可以运行lua脚本程序,那么就必须在板子中预先下载一个程序,这个被下载的程序可以看作是这个硬件的操作系统,提供了对硬件的访问接口,同时提供了lua脚本的解释器引擎。
因为这个板子买回来以后就已经下载了这个程序,所以我今天不用重新下载了,也许下次需要添加其他模块支持的时候,会需要重新编译,重新下载这个程序,到时再把这个章节补充完整。
脚本的编写
其实,在找到这个版本的第一反应,就是百度官网,直接打开的官网除了宣传性质的说明,有用的信息实在太少了。官网上有个github的链接,进入该页面,相对来说看到的信息更有价值一些,读者可以以这个github页面作为学习的起点。
我把自己的操作步骤做一个简单的总结,对于那些想快速入门的同学可以快速参考这个操作步骤来上手。
1. 下载对应的工具,ESPlorer,下载地址:http://esp8266.ru/esplorer-latest/?f=ESPlorer.zip。
2. 连接目标板。
3. 编写lua脚本保存执行。
后续小章节分别对步骤2, 3进行稍微罗嗦一点点地说明。
连接目标板
ESPlorer软件下载成功后,打开目录,文件组织大概如下:
图2 ESPlorer软件目录组织通过ESPlorer.bat打开软件,软件打开后如下图:
图3 ESPlorer软件界面在右侧视图中,选择串口,设置串口波特率,然后打开串口。如下图:
图4 串口打开前 图5 打开串口后状态点击打开按纽后,停留在此状态比较长时间没有变化,所以我不能确定是否打开成功,所以点击了右视图中的Heap,相当于发一个堆查询命令,然后界面状态如下:
图6 串口打开后状态信息到了这一步,我认为算是打开成功了。
编写Lua脚本
在ESPlorer软件的左视图中编写lua脚本,随便编写一个脚本测试下,编写内容如下:
图7 编写第一个lua脚本然后对脚本进行保存,注意保存脚本时文件名一定要写为init.lua,因为板子上的脚本引擎默认加载执行init.lua文件。正确保存后,右侧视图输出如下信息:
图8 lua脚本执行后的输出信息从输出信息可以看到,将文件传输到目标板上是通过串口命令实现的,例如输出中有原有文件删除,新文件创建,文件内容写入等。
到目前为止,确实已经将lua脚本在目标板上运行起来了,但我们并不是为了打印一个hello才使用这个目标板,所以后续还需要对lua如何访问目标板的硬件接口进行学习。
第一个硬件接口的调用
在官网首页中有一个例子,就是来驱动pin,代码如下:
pin = 1
gpio.mode(pin,gpio.OUTPUT)
gpio.write(pin,gpio.HIGH)
当知道了如何通过这个代码来驱动pin,那么就要知道该目标板的引脚是如何定义的,这个pin=1到底是哪个引脚?
针对这个问题,我参考了这个文章,https://blog.csdn.net/leytton/article/details/51646624,其中很明确的说明了引脚的映射关系,并且我对此作了验证。例如本例代码中pin=1就是对应了GPIO05,也就是目标板上标记的D1。
如何使用其他硬件接口?
写这个文章的时候,暂时还没有用其他接口,所以没有整理,可能过几天会整理下,因为至少需要对该目标的网络部分熟悉,不然买这个板就没用了。