基于Blinker的空气质量检测器-支持Arduino/ESP8266/ESP32
本帖最后由 三水 于 2018-4-17 18:38 编辑空气质量检测器DIY
一.项目目标1.检测PM1.0/PM2.5/PM10/甲醛/温度/湿度并在OLED中显示检测数据,同时可以在Blinker APP中查看检测数据。2.支持Arduino/ESP8266/ESP32
二.硬件准备1.Arduino UNO/ESP8266/ESP32 中任选一种2.0.96寸12864 OLED(SSD1306) iic3.攀藤PMS5003ST4.HM10/HM11 BLE4.0模块
三.软件准备1.Arduino IDE (ESP8266/ESP32则按需安装对应的Arduino SDK)2.使用 Arduino IDE 的库管理器安装 blinker-library3.使用 Arduino IDE 的库管理器安装 WebSockets4.使用 Arduino IDE 的库管理器安装 Blinker_PMSX003ST5.使用 Arduino IDE 的库管理器安装 U8g2
四.项目代码Blinker_AQI_Detector
五.Arduino UNO + BLE
使用代码
AQI_Detector_BLE.ino
线路连接
UNO A4>OLED SDA
UNO A5>OLED SCL
UNO D13>OLED RST
UNO D2>BLE TX
UNO D3>BLE RX
UNO D4>PMS5003ST TX
UNO D5>PMS5003ST RX
供电部分按模块供电需求对应接到5V 3V3 GND
六.ESP8266 WiFi
使用代码
AQI_Detector_WiFi.ino
线路连接
ESP8266 4>OLED SDA
ESP8266 5>OLED SCL
ESP8266 13>OLED RST
ESP8266 14>PMS5003ST TX
ESP8266 15>PMS5003ST RX
供电部分按模块供电需求对应接到5V 3V3 GND
填写接入WiFi的SSID与PSWD
char ssid[] = "<Your WiFi network SSID or name>";
char pswd[] = "<Your WiFi network WPA password or WEP key>";
七.ESP32 BLE
使用代码
AQI_Detector_BLE.ino
线路连接
ESP32 21>OLED SDA
ESP32 22>OLED SCL
ESP32 13>OLED RST
ESP32 16>PMS5003ST TX
ESP32 17>PMS5003ST RX
供电部分按模块供电需求对应接到5V 3V3 GND
八.ESP32 WiFi
使用代码
AQI_Detector_WiFi.ino
线路连接
ESP32 21>OLED SDA
ESP32 22>OLED SCL
ESP32 13>OLED RST
ESP32 16>PMS5003ST TX
ESP32 17>PMS5003ST RX
供电部分按模块供电需求对应接到5V 3V3 GND
填写接入WiFi的SSID与PSWD
char ssid[] = "<Your WiFi network SSID or name>";
char pswd[] = "<Your WiFi network WPA password or WEP key>";
九.上传代码
点击上传,等待完成固件上传后即可在屏幕中显示PMS5003ST检测到的数据。
可根据需要自行增加功能及外壳。
本帖最后由 三水 于 2018-3-12 13:35 编辑
加上外壳,增加部分功能后
http://wx1.sinaimg.cn/large/4a835867gy1fp9x6mfkfzg20b408wkjn.gif
感觉很高大上支持项目 中文显示是怎么搞出来的? Arduino:1.8.7 (Windows 7), 开发板:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled, 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"
警告:库 CHT16K33 LED Matrix Library 中的分类 'LED' 不可用。设置为 'Uncategorized'
警告:库 MechInputs 中的分类 'Input' 不可用。设置为 'Uncategorized'
警告:库 SerialSensors 中的分类 'Input' 不可用。设置为 'Uncategorized'
In file included from C:\Users\swk\Documents\Arduino\libraries\Blinker\src/Blinker.h:24:0,
from C:\Users\swk\AppData\Local\Temp\arduino_modified_sketch_118651\sketch_mar05a.ino:8:
C:\Users\swk\Documents\Arduino\libraries\Blinker\src/BlinkerSerialBLE.h: In member function 'void BlinkerSerialBLE::begin(uint8_t, uint8_t, uint32_t)':
C:\Users\swk\Documents\Arduino\libraries\Blinker\src/BlinkerSerialBLE.h:72:30: error: 'RX' was not declared in this scope
if (ss_rx_pin == RX && ss_tx_pin == TX) {
^
C:\Users\swk\Documents\Arduino\libraries\Blinker\src/BlinkerSerialBLE.h:72:49: error: 'TX' was not declared in this scope
if (ss_rx_pin == RX && ss_tx_pin == TX) {
^
C:\Users\swk\AppData\Local\Temp\arduino_modified_sketch_118651\sketch_mar05a.ino: In function 'void loop()':
sketch_mar05a:116:56: error: 'class BlinkerSerialBLE' has no member named 'readString'
BLINKER_LOG2("Blinker.readString(): ", Blinker.readString());
^
sketch_mar05a:116:68: error: 'BLINKER_LOG2' was not declared in this scope
BLINKER_LOG2("Blinker.readString(): ", Blinker.readString());
^
"WiFiClient.h" 对应多个库
已使用: C:\Users\swk\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\libraries\ESP8266WiFi
未使用:C:\Program Files (x86)\Arduino\libraries\WiFi
未使用:C:\Program Files (x86)\Arduino\libraries\WiFi
未使用:C:\Program Files (x86)\Arduino\libraries\WiFi
未使用:C:\Program Files (x86)\Arduino\libraries\WiFi
exit status 1
'class BlinkerSerialBLE' has no member named 'readString'
在文件 -> 首选项开启
“编译过程中显示详细输出”选项
这份报告会包含更多信息。
william00544 发表于 2019-3-5 10:20
Arduino:1.8.7 (Windows 7), 开发板:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled, 4M (no SP ...
这是一年前的版本了,最新版本在blinker github上
页:
[1]