编译OpenMQTTGateway的DHT
编译OMG的DHT
编译的过程依然参考之前两篇OpenMQTTGateway的文章,但在编译的过程中遇到一个问题。
解决问题
查看报错
环境
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15[env:nodemcuv2-dht]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.dht}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZsensorDHT="DHT"'
'-DZsensorDS1820="DS1820"'
'-DsimplePublishing=true'
'-DGateway_Name="OMG_ESP8266_DHT"'
board_build.flash_mode = dout报错
1 | In file included from /home/coder/File/OpenMQTTGateway/main/ZsensorDHT.ino:34: |
发现缺少Adafruit_Sensor.h所在的依赖库
在网页上搜索,发现这个函数所在的依赖库为Adafruit Unified Sensor
在网页上搜索了一下这个依赖库,大部分都是arduino的解决方法,这个依赖库的地址并没找到
在OpenMQTTGateway/platformio.ini下查看依赖库,发现Adafruit Unified Sensor就在依赖表中
unifiedsensor = Adafruit Unified Sensor@1.1.4
解决办法
每次重新编译前建议先清理环境
在OpenMQTTGateway/environments.ini的相关配置环境中添加依赖库即可
1 | ${libraries.unifiedsensor} |
重新编译发现有其他依赖报错
1 | fatal error: DallasTemperature.h: No such file or directory |
按照上面思路在依赖库中找到相关依赖库并加入配置环境
dallastemperature = DallasTemperature
1 | ${libraries.dallastemperature} |
问题解决
编译成功
1 | Building .pio/build/nodemcuv2-dht/firmware.bin |
针脚定义
Module | Arduino Pin | ESP8266 Pin | ESP32 Pin |
---|---|---|---|
Analog reading | A0 | A0 | A0 |
BH1750 SDA | A4 | D2 | 21 |
BH1750 SCL | A5 | D1 | 22 |
BME280/BMP280 SDA | A4 | D2 | 21 |
BME280/BMP280 SCL | A5 | D1 | 22 |
C-37, YL-83, HM-RD | A0 + D14 | A0 + D14 | A7 + D14 |
DHT11/22 | D8 | D1 | 16 |
HC-SR501/HC-SR505 | 7 | D5 | 5 |
HTU21 SDA | A4 | D2 | 21 |
HTU21 SCL | A5 | D1 | 22 |
INA226 SDA | A4 | D2 | 21 |
INA226 SCL | A5 | D1 | 22 |
MQ02 | A0 + D4 | A0 + D4 | A0 + D4 |
TEMT6000 | A0 | A0 | A0 |
TSL2561 SDA | A4 | D2 | 21 |
TSL2561 SCL | A5 | D1 | 22 |