nodemcu开发手册,nodemcu入门
原文:NodeMCU(ESP8266)开发笔记
1.NodeMCU简介Node MCU是一个面向物联网的开源开发平台。它的固件和开发板是开源的,有自己的WIFI模块。基于这个平台,只需要几个简单的Lua脚本就可以开发物联网应用。
其主要特点如下:
操作硬件IO像Arduino提供了硬件的高层接口,可以将应用开发者从复杂的硬件配置和寄存器操作中解放出来。用交互式Lua脚本编写类似Arduino的硬件代码!
用类似Nodejs的语法编写网络应用事件驱动API,极大地方便了用户开发网络应用。用类似Nodejs的方式编写网络代码,在5mm*5mm的MCU上运行,会加快你物联网的开发进度。
快速成型开发板采用超低价WIFI模块,集成价格低于10元人民币的WIFI芯片ESP8266,为您提供最具性价比的物联网应用开发平台。
基于乐心ESP8266的NodeMCU开发板具有GPIO、PWM、I2C、单总线、ADC等功能。结合NodeMCU的固件为你的原型开发提供了最快的方法。
详细的硬件配置如下:
核心模块为esp8266 MCU XtenSA L106 RAM 50k Flash 512k D1 ~ D10:10个GPIO,每个都可以配置成PWM,I2C,1-Wire有两个串口配置。
CP2102 USB串口,即插即用(官方驱动支持Windows、OS X、Linux、VMware)CH340 USB串口,国内普遍使用,所以需要安装CH340驱动。
注意:在VMware中,要安装Ubuntu系统,只需在主机中安装驱动程序即可。然后将设备连接到VMware。虚拟机-可移动设备,可以看到ch340设备,点击连接即可。
CP2102版本
CH340版本
2.开发环境NodeMCU目前支持包括Windows、Linux、Mac OS X在内的开发主机系统类型,也支持VMware虚拟机搭建的Linux环境。
需要提到的是,如果使用虚拟机,请优先选择VMware而不是VirtualBox。虽然可以用VirtualBox通过串口虚拟化开发Lua,但是由于VirtualBox无法虚拟化uhci的cp210x,所以VirtualBox中的Linux无法直接烧录固件,很不方便。
以下是我们推荐的首选开发环境:
纯Linux(先有ubuntu)
在Mac OS X上安装VMware,在VMware上运行Linux(先安装Lubuntu)
在Windows上安装VMware,在VMware上运行Linux(先安装Lubuntu)
本文主要介绍以上三种,其实核心是Linux开发环境,后两种只需要在主机上安装VMware和USB串口驱动即可。
如果你手头没有Linux环境,建议通过VMware安装Linux,这样更安全可靠,避免破坏原有系统。
可以从官网下载VMware,安装好之后再从ubuntu官网下载Lubuntu 14.04 ISO,然后就可以启动VMware安装Lubuntu了。安装时先创建/添加一个Lubuntu(创建自定义虚拟机-Linux-Ubuntu 64bit),然后通过设置/设置选择启动盘从CD/DVD开始安装,选择新下载的ISO。安装成功后,选择启动盘从硬盘(SCSI)启动。
至于纯Windows或者纯Mac OS X环境,不建议使用,因为在Linux下,一个命令就可以安装大部分需要的工具,而在Windows和Mac OS X下,会浪费大量的时间在不同的地方寻找不同的工具,然后花费更多倍的时间解决各种软件编译安装问题,事半功倍。此外,OS X经常为基本的发展环境提供有偿服务,这真的很不友好。珍爱生命,远离他们!
但如果你真的爱他们,还是可以参考后续资料,尤其是Noduino/Noduino SDK的相关部分,详细介绍Windows和Mac OS X的开发环境。除此之外,参考资料中的其他软件或工具基本上都提供了README.md来说明它们的安装。请参考它们。
3.操作步骤以Windows和VMware下的Ubuntu环境为例(版本ch 340):Windows环境下NodeMCU开发需要的工具:
用于lua学习的SciTe -lua开发环境。具体参考:http://www.runoob.com/lua/lua-environment.html
注意:在安装过程中,如果与服务器的连接失败。您可以自己下载所需的库,然后重新安装它们。CH340驱动ESP 8266闪光器——烧ESP固件ESPLORER——类似于串口调试助手,用于与NodeMCU交互,也可以上传lua脚本。
注意:需要java环境,需要安装JDK。fans _ ESP 8266 _ SDK _ make . exe编译ESP固件。请参阅:http://blog.csdn.net/u013636122/article/details/50630235(1)安装CH340驱动程序
安装后,下载CH340驱动程序。
右键单击我的电脑-管理-设备管理器-端口(COM和LPT)查看ch340驱动程序和串行端口号。
(2)获取固件
有三种方法可以获得固件:
NodeMCU提供在线云编译。选择需要的模块,填写邮箱,很快就会发送到邮箱。参考:https://nodemcu-build.com/(推荐)
下载别人编译的固件包。
自己编译得到固件包。
(3)固件烧录
设置串行端口号。
单击配置-单击小齿轮按钮来设置获得的固件的路径。
点击闪光灯。
(4)开始使用
打开ESPlorer.jar,会看到如下界面:
注意:ESPlorer需要安装JDK环境。
点击刷新按钮,选择串口号,点击打开,连接就会显示出来。如果长时间连接不上,可以按NodeMCU上的复位按钮。将显示固件信息。点击芯片ID,会返回ID信息,表示交互正常。
右边区域是交互页面,显示交互信息。
左边有一个输入框,可以输入要执行的命令,也可以从下拉菜单中选择,点击发送发送。
命令:
https://github . com/node MCU/node MCU-firmware/wiki/node MCU _ API _ cn
比如:
print("Hello,NodeMCU") Hello,NodeMCU 12
4.左边的区域是lua脚本区。
写lua脚本,点击发送到ESP,可以看到右边区域开始上传代码,结束的时候。代码开始执行,右边区域显示交互信息。
点击上传,将代码上传到NodeMCU,在命令行输入dofile("filename.lua "),开始执行filename.lua。
注:如果发送或上传失败,您可以按下重置,并尝试一次又一次。
注意:保存到ESP、发送到ESP、运行和上传之间存在一些差异。你可以自己去发现,但我没有深究。
Vmare下的Ubuntu环境开发注:我用的版本。
适用于VMware workstation 12 Pro Ubuntu 14.0桌面的工具:
minicom串口调试工具lua Tool上传lua代码esp工具烧录ESP固件Lua开发环境进行Lua学习(不需要)注:学习教程:http://www.runoob.com/lua/lua-environment.html(1)下载安装ch340驱动需要主机安装驱动,然后在VMware中点击虚拟机-可移动设备看到ch340设备,点击连接,
Dmesg命令检查已安装的ch340驱动程序ls -l /dev/ttyUSB0检查驱动程序的安装时间等。(2)安装minicom minicom作为linux下的串口通讯工具,作为NodeMcu的调试使用。
$ sudo apt-get install minicom -下载并安装minicom $ sudo minicom-d/dev/ttyub 0-use-d指定串行设备。进入minicom后,可以通过crtl-A进入设置模式,然后按A-Z键进入不同的设置界面。
常用键:
问:退出minicom
l:保存串口日志。
z:寻求帮助
p:设置串口。
(3)下载并刻录esp固件。NodeMCU提供在线云编译。选择需要的模块,填写邮件,很快就会发送到邮箱。链接:https://nodemcu-build.com/
也可以自己编译,在https://github.com/nodemcu/nodemcu-firmware/releases/.下载源代码
你也可以使用
$ wget-c https://github.com/nodemcu/nodemcu-firmware/`` releases/download/0 . 9 . 6-dev _ 2015 07 04/node MCU _ float _ 0 . 9 . 6-dev _ 2015 07 04 . bin下载他人编译的固件。
然后我们下载刻录工具esptool.py同时安装其他必要的工具。
$ sudo apt-get install git python python-serial python-setup tools $ git clone https://github.com/themadinventor/esptool.git $ CD esp tool $ python setup . py install然后通过esptool.py烧固件:
$ sudo esp tool . py-port/dev/tty ub 0 write _ flash-FM dio-fs32m-ff 40 MX 0000节点MCU _ float _ 0 . 9 . 6-dev _ 2015 07 04 . bin刻录完成后,按RST重启,进入新固件。
刻录sptool.py时,默认通信波特率为115200,可通过baud 921600设置为921600,以加快刻录速度。
开机后就可以通过了。
File.format()格式化文件系统
(4)下载安装luatool。两个经过测试的工具可用于上传Lua程序,即:
Luatool.py:可用于在命令行传输Lua脚本,不需要复杂的图形工具支持,支持通过串口和Telnet上传。
Nodemcu.py:除了不支持通过Telnet上传,基本功能和luatool一样,只是操作方式略有不同。
下载上述工具:
$ git clone https://github.com/4refr0nt/luatool.git $ git clone https://github.com/md5crypt/nodemcu.py.git两者都可以传输文件,第二个也可以作为串口终端,两者都依赖pySerial,第二个需要安装剪贴板:
$ easy_install clipboard (5)开始使用$ minicom-d/dev/ttyub 0-进入串口助手file.format() -格式化文件系统print ("hello,node MCU ")-打印字符串gpio.mode(0,gpio。OUTPUT) -将引脚0设置为输出模式gpio.write(0,gpio。低)-0-将引脚0设置为低gpio.write(0,gpio。HIGH)-0-将引脚0设置为高node.restart() - restart NodeMCU。上面每个命令都是通过串口操作执行的,可以通过luatool批量上传,并且提前写好脚本进行批量上传。
在上传之前,编写一个lua脚本
$ vitest.luaprint (hello,nodemcu1.0) gpio.mode (4,gpio.output) gpio.write (4,gpio.low)通过luatool上传。
$ CD/luatool $ sudo。/Lua tool . py-p/dev/tty ub 0-b 9600-ftest . Lua-r上传完成后,
$ $sudo minicom -D /dev/ttyUSB0 -输入minicom dofile( test . Lua )-执行测试脚本-p指定上传设备。
-b设置波特率
-f指定脚本路径。
-r上传后重新启动
-去找人帮忙