ESP8266 制作烧写nodemcu镜像以及简单测试

nodemcu 在线文档网站:https://nodemcu.readthedocs.io/en/master/

nodemcu 固件编译网站: https://nodemcu-build.com/

刚到的nodemcu的板子长这个样子 :

ESP8266 制作烧写nodemcu镜像以及简单测试_第1张图片

这种板子自带了usb 转串口芯片CH340G,可以实现一键烧写功能,不像单独的esp8266模块与usb转串口模块连线比较麻烦。

单独的esp8266刷固件连线如下(我这边是ESP-12F,ESP的模块刷固件时的接线应该都是一样的):

UTXD --> RX

URXD --> TX

CH_PC  ---> 3.3V

VCC ---> 3.3V

GND --->GND

GPIO0---->GND(GPIO0接地表示为下载模式,即刷固件模式,仅烧机时接地,其他时候悬空)

RST(复位)--当需要复位esp的时候,让该接口接一下GND即可,仅需要复位时接地,其他时候悬空

1.nodemcu的固件编译

1. 下载nodemcu的源码进行本地编译

2.nodemcu网站在线编译

这边我们选择通过https://nodemcu-build.com/网站在线编译,然后下载即可。

  1). 首先进入上面的网站,填写你的邮箱。生成固件的下载地址会通过邮件发送给你,然后下载即可

ESP8266 制作烧写nodemcu镜像以及简单测试_第2张图片

2).选择需要添加进nodemcu的模块

ESP8266 制作烧写nodemcu镜像以及简单测试_第3张图片

例如我想做一个温湿度采集器,那么我就需要使用到DHT11模块,该模块与nodemcu模块相连接,nodemcu模块也就需要支持DHT11的功能,所以我们需要上面将DHT编译进nodemcu固件中,这样nodemcu中就能够直接调用相关的DHT接口获取DHT11采集到的温湿度了。

大家可以看到每个模块后面有一个书本的标记,点击进去可以会跳转到nodemcu的API网站,在该网站中可以看到该模块在nodemcu中如何使用,后续开发也是需要参考这个网站里面的内容的。

上面有一些是系统默认添加的,例如file、GPIO、net等等,我个人添加的是DHT、IIC、SPI、SJSON四个模块

3).开始编译

选择好相关的模块后,点击网站最后面的Start your build按钮即可。然后我们登陆前面填写的邮箱,你首先会收到一封提示网站已经开始编译你配置的nodemcu固件了,然后两分钟后接着会收到一封编译完成的邮件。如下图所示:

ESP8266 制作烧写nodemcu镜像以及简单测试_第4张图片

ESP8266 制作烧写nodemcu镜像以及简单测试_第5张图片

如图所示,最终的收到编译完成的邮件中会同时提供integer和float版本的固件,这两个版本的大概区别为:integer中不支持浮点运算,float中支持浮点运算。这里我选择的是integer固件版本。复制提供的网址到浏览器中会自动下载该固件。下载完成后开始准备烧写固件了。

2. nodemcu固件烧写

打开文件夹nodemcu-flasher-master,执行win64中的ESP8266Flasher.exe,如下图所示:

ESP8266 制作烧写nodemcu镜像以及简单测试_第6张图片

进入软件中的config选项,点击红框中的齿轮选择下载的固件

ESP8266 制作烧写nodemcu镜像以及简单测试_第7张图片

进入Operation选项,选择好板子的串口,点击Flash便会开始烧写nodemcu固件了

ESP8266 制作烧写nodemcu镜像以及简单测试_第8张图片

烧写过程中AP MAC和STA MAC会显示相应的地址,最终烧写完成后左下方会出现绿色对勾。

烧写完成后nodemcu板子断电重启

3.demo验证-点亮LED

使用ESPlorer开发一个点亮板载led的程序来验证nodemcu固件以及板子是否正常工作。

打开ESPlorer软件,设置串口波特率为115200,打开串口连接开发板。

ESP8266 制作烧写nodemcu镜像以及简单测试_第9张图片

循环点亮板载LED的程序如下:

ledswitch=0
pin=4
gpio.mode(pin,gpio.OUTPUT)
tmr.alarm(0,2000,1,function()
    if ledswitch==0 then 
        ledswitch=1 --led on
        gpio.write(pin,gpio.LOW)
    else 
        ledswitch=0 --led off
        gpio.write(pin,gpio.HIGH)
    end 
end)

编译上传到板子上运行,可以看到板载的LED会1秒钟闪烁一次,说明当前固件烧写成功,板子功能正常。可以进行后续的玩耍啦。。。

你可能感兴趣的:(esp8266)