19
2018
03

NodeMCU的wifi模块初探

最近笔者购得“NodeMcu 物联网开发板 ESP8266无线收发模块 串口WIFI模块”一枚,大致了解了一下开发流程,主要分两步,烧固件和上传lua程序并执行

一、固件下载

固件一般可以通过三种方式获得,(1)云编译方式(针对应用开发者,主要是写Lua程序)(2)Docker编译(针对偶尔开发固件的用户,不需要搭建整个Linux编译环境)(3)Linux编译环境(针对从GitHub源码编译,需要整个编译工具链)

本文主要是初探,搞清楚整个开发流程,所以采用最简单的云编译的方式

二、云编译

1. 登录https://nodemcu-build.com/

2. 输入email(需要输入两次)

3. Select branch to build from选择master

4. Select modules to include默认的即可

5. 点击Start you build

一会儿Email中就会收到开始编译的邮件,大概10分钟后就可以收到编译完成的邮件,里面有编译好的固件,一个是float版本,一个是integer版本,两个的差别是Lua中支持的数值类型不同

nodemcu-master-7-modules-2018-03-15-14-11-49.zip

三、烧写固件

1. 下载烧写软件,网址https://github.com/nodemcu/nodemcu-flasher 里面有Windows32位和64位的ESP8266Flasher.exe

2.  打开ESP8266Flasher.exe

_%}}N22QXWJM0{$$%8@7]A4.png(D_)%UEV{7SDUTNIICRRY90.pngR_A~IKOF){KA02$]FHNS3SD.png

串口查看方法:计算机->管理->设备管理器->端口(COM和LPT)->我的wifi模块用的是ch340芯片,有340字样的是COM7

点击Flash开始烧写,这个过程比较耗时

60Y`S0OX2@3U}6ZTX~EXBK8.png

四、编写、上传、执行Lua程序

  1. 下载开发软件,网址https://esp8266.ru/esplorer/ 

  2. 解压后点击ESPlorer.bat,需要先安装Java环境(步骤略)

  3. _QF$IDX3QHZ}IV(ROQG@J9X.png按wifi模块上的rst键,复位模块,可以在界面右侧看到输出,如下图
  4. PXR@}N)~3$@5VDBANITAG3Y.png在左边编写代码并保存成init.lua文件,如下图
  5. B]EJZ_IGR4G~CBVBZF9_@}N.png


从上文大家可能已经注意到了,几个ESPlorer的波特率设置的不一样,后面115200的那个是编写本博客时不小心把WIFI模块给刷坏了,后来修复好之后就这样了,而且修复之后wifi.sta.config函数的参数与之前不一样了,之前是wifi.sta.config(ssid,passwd), 在此我们不做深究,而我来详细说说我是怎么修复了,刷坏之后的现象是按rst复位之后,串口不断收到乱码,尝试过以下几种方法

  1. 按着flash键上电

  2. 刷0x00000.bin, 0x10000.bin,blank.bin,esp_init_data_default.bin

  3. 刷的时候把波特率设成115200,甚至频率调到26M和20M

    后来采用清空flash的方法得以解决,步骤如下
  4. 安装python2.7
  5. 下载get-pip.py,并执行python.exe get-pip.py
  6. 安装esptool,执行pip.exe install esptool
  7. 安装pyserial,执行pip.exe install pyserial
  8. 清空flash,执行esptool.exe --port COM7 erase_flash
« 上一篇