NodeMCU入门:烧录、调试、联网

·  阅读 3784
NodeMCU入门:烧录、调试、联网

NodeMCU简介

NodeMCU(节点微控制器单元)是一个开源的物联网软硬件平台。该平台基于开源eLua项目,底层使用ESP8266 SDK,旨在简化ESP8266的开发。它提供了两个组件:

  1. 一个基于ESP8266 SDK的开源固件,该固件提供了一个基于eLua的编程环境,开发者可使用Lua脚本语言对硬件进行编程控制。
  2. 一个DEVKIT开发板,该开发板有一个已与ESP8266芯片连接的内置 USB 端口、一个硬件重置按钮、一个Flash烧录按钮、Wifi 天线、LED 灯,以及可插入电路试验板中的标准尺寸 GPIO(通用输入输出)引脚。

固件获取和烧录

固件获取

NodeMCU官方为开发者免费提供了灵活的可定制化的云端编译固件服务,开发者可访问NodeMCU Custom Build网站获取该服务。

使用该服务首先需要填写自己的邮箱地址用于接收编译完成后包含下载链接的提醒邮件。随后可根据需求勾选自己需要的功能模块。推荐勾选以下模块(包含默认勾选模块):ADC模块(用于读取外部/系统电压)、crypto模块(提供数据加密支持)、DHT模块(提供DHT系列传感器的数据读取支持)、file模块、GPIO模块、net模块、node模块、RTC time模块(提供高级时钟支持)、SNTP(配合RTC time模块使用)、SJSON(提供JSON数据格式读写支持)、timer模块、UART模块、WIFI模块。

选择完模块后点击开始编译按钮,一段时间后之前填写的邮箱会收到一封包含下载链接的邮件,该邮件提供了Integer和Float两种版本的固件供下载,建议若无特殊需求选择Float版本进行下载。

固件烧录

首先访问安信可公司的ESP8266模块开发工具清单下载最新的ESP_DOWNLOAD_TOOL(推荐也将安信可串口调试助手、TCP/UDP 网络调试助手等软件下载下来备用,大厂出品,不知道比那些出处不明的相关软件高到哪里去了)

注:请使用最新版烧录工具,旧版本的烧录工具会出现无法成功烧录最新固件的情况。

下载完成后解压运行烧录软件,如下图

选择ESP8266 DownloadTool,进入如下界面

选择之前下载的固件,烧录地址为0x0,其余设置不动。将DEVKIT开发板连接到计算机,选择对应COM,点击START,开始烧录固件,如下图

完成后如下图

注:此方法仅适用于DEVKIT开发板。DEVKIT开发板烧录固件时只要连接到计算机即可,无需按任何按钮,其他硬件实现可能需要拉低GPIO 0电压之类的操作。

若固件烧录失败,开发板可能出现发送乱码信息或LED灯频闪等现象。此时首先下载擦除固件,然后在烧录工具中选择该固件,点击ERASE按钮进行固件擦除,完成擦除后再次烧录需要的固件即可。

调试

针对NodeMCU的编程和调试推荐使用ESPlorer,下载解压后直接双击jar文件运行,界面如图

选择对应的COM,点击Open按钮,然后按下开发板上的RST按钮,建立开发板和ESPorer的连接

建立开发板和ESPlorer的连接后,即可开始编写控制代码并下载至开发板进行调试运行。ESPlorer的具体用法自行Google,在此不再赘述。

联网

NodeMCU支持三种网络模式:AP(接入点模式)、STA(站模式)、AP+STA(接入点+站模式),在日常开发中使用STA模式较多,是以此处以STA模式为例,其余模式使用方法可参考NodeMCU WIFI模块文档

首先建立WIFI配置表,代码如下

-- WiFI Config --
station_cfg={}
station_cfg.ssid="Your WIFI Name"
station_cfg.pwd="Your WiFi password"
复制代码

随后将NodeMCU设置为STA模式,传入配置表,开始连接WiFI,代码如下

-- Setup Connection --
wifi.setmode(wifi.STATION)
wifi.sta.config(station_cfg)
tmr.create():alarm(1000,tmr.ALARM_AUTO,function(wifi_timer)
    if wifi.sta.getip() == nil then
        print("Connecting to AP...\n")
    else
        print("Connect OK!")
        wifi_timer:unregister()
    end
end)
复制代码

在ESPlorer中新建文件输入以上代码,按Ctrl+s保存并下载至NodeMCU运行,可以见到如下输出信息

NodeMCU已经成功连接至WIFI。

END

分类:
前端
标签:
分类:
前端
标签:
收藏成功!
已添加到「」, 点击更改