特点:
- 灵活,简单写lua程序
- 支持mqtt、http、aprs发送,发送时LED灯亮0.5s
- 支持现场配置,运行状态时按FLASH键,下次RST后进入配置模式
- 在配置模式(LED闪烁),按FLASH键,会删除所有配置,下次RST写入默认配置并进入配置模式
- 支持远程更新。发送 update 到 /cmd/chipid,进入更新模式,发送 restart 重启,发送 文件名 文件长度 更新
购买链接:
- ESP8266 Lua WIFI V3 15.40元
- USB 线 1.70元
- BME280 16.50元
外加USB电源就可以工作。文章源自HAM小站-https://bh8sel.com/1976.html
连接图:
ME280模块/OLED ESP8266模块文章源自HAM小站-https://bh8sel.com/1976.html
VCC ------> 电源 (注意是3.3v模块)文章源自HAM小站-https://bh8sel.com/1976.html
GND ------> GND文章源自HAM小站-https://bh8sel.com/1976.html
SCL ------> D5 (GPIO14)文章源自HAM小站-https://bh8sel.com/1976.html
SDA ------> D6 (GPIO12)文章源自HAM小站-https://bh8sel.com/1976.html
文章源自HAM小站-https://bh8sel.com/1976.html
文章源自HAM小站-https://bh8sel.com/1976.html
步骤:
1、安装esptool.py文章源自HAM小站-https://bh8sel.com/1976.html
请参考https://github.com/espressif/esptool安装esptool.py
2、将ESP8266板子通过USB线连接电脑,安装USB驱动,查看得知串口是COM3
3、执行如下命令,如果能看到芯片类型,说明串口工作正常
esptool.py --port COM3 chip_id
4、执行如下命令刷新flash
esptool.py --port COM3 write_flash 0 nodemcu-master-11-modules-2018-10-25-00-33-21-float.bin
说明:nodemcu-master-11-modules-2018-11-01-11-20-13-float.bin由https://nodemcu-build.com/生成,选择的模块有bme280 file gpio http i2c mqtt net tmr u8g2 uart wifi。
5、安装ESPlorer
请参考https://esp8266.ru/esplorer/安装
6、打开ESPlorer
选择COM3,115200,open
按8266板子USB一侧的RST按钮,能看到“Formatting file system. Please wait...",等结束。
7、写入程序
依次打开bme280.lua init.lua setup.lua三个文件上传到ESP8266
8、配置
如果启动时config.lua不存在,会生成默认配置,默认配置SSID为ustcnet,通过MQTT发送至202.141.176.2,并进入配置模式。
也可以在运行时,按FLASH键,下次启动将进入配置模式。
在配置模式,可以用手机等终端,连接“ESP8266”SSID,访问http://192.168.0.1,修改配置后单击“save”保存。
也可以把config.lua文件下载回来修改后再上传。
1F
有个问题,LUA源码里没有指定OLED I2C的脚位,我现在只能上传BME280的数据到aprs.fi。但本地接OLED显示却无从入手。请问你是如何接OLED显示文本的?
B1
@ BG7IKK BG6CQ老师的Github有两个项目,有一个项目能够接OLED,你注意区分一下。我都是用他的源码,没有改动的。
2F
我也是用OLED那个LUA。里面代码:
disp = u8g2.ssd1306_i2c_128x64_noname(0, 0x3c)
disp:setFont(u8g2.font_unifont_t_symbols)
disp:setFontRefHeightExtendedText()
disp:setDrawColor(1)
disp:setFontPosTop()
disp:setFontDirection(0)
我看到是加载了U8G2对SSD1306的驱动,按道理一般I2C在NodeMCU默认SCL和SDA脚位分别是接D1和D2的,但没反应,D3/D4和D7/D8也交替试过不行,你的OLED SCL和SDA是分别接在NodeMCU哪个脚位?谢谢!
B1
@ BG7IKK OLED SCL和SDA分别对应ESP8266的D5和D6。
3F
那就是问题所在了,源码里不是定义D5,D6给BME280了吗?
ME280模块 ESP8266模块
VCC ——> 电源 注意是3.3v模块
GND ——> GND
SCL ——> D5 (GPIO14)
SDA ——> D6 (GPIO12)
B1
@ BG7IKK 这里注释我修改一下。
4F
在SETUP.LUA里可以自定义BME280,但OLED在BME280.LUA里我就不太了解LUA语言如何用U8G2重定义OLED的脚位。
5F
有没有办法使用bmp280模块,现在bme280价格已经涨到60+,还有的卖100+的。nodemcu里没有bmp280的模块,无法识别
B1
@ bg4vrg ATH20+BMP280模块用这个
https://github.com/bg4uvr/esp8266mws