基于Blinker的空气质量检测器-支持Arduino/ESP8266/ESP32-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9714|回复: 5

基于Blinker的空气质量检测器-支持Arduino/ESP8266/ESP32

 关闭 [复制链接]
发表于 2018-3-11 00:14 | 显示全部楼层 |阅读模式
本帖最后由 三水 于 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) iic
3.攀藤PMS5003ST
4.HM10/HM11 BLE4.0模块

三.软件准备
1.Arduino IDE (ESP8266/ESP32则按需安装对应的Arduino SDK)
2.使用 Arduino IDE 的库管理器安装 blinker-library
3.使用 Arduino IDE 的库管理器安装 WebSockets
4.使用 Arduino IDE 的库管理器安装 Blinker_PMSX003ST
5.使用 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

[kenrobot_code]char ssid[] = "<Your WiFi network SSID or name>";
char pswd[] = "<Your WiFi network WPA password or WEP key>";[/kenrobot_code]


七.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
[kenrobot_code]char ssid[] = "<Your WiFi network SSID or name>";
char pswd[] = "<Your WiFi network WPA password or WEP key>";[/kenrobot_code]


九.上传代码
点击上传,等待完成固件上传后即可在屏幕中显示PMS5003ST检测到的数据。

AQI_Detector

AQI_Detector

可根据需要自行增加功能及外壳。

2

2

1

1




 楼主| 发表于 2018-3-12 12:28 | 显示全部楼层
本帖最后由 三水 于 2018-3-12 13:35 编辑

加上外壳,增加部分功能后


发表于 2018-4-19 09:38 | 显示全部楼层
感觉很高大上支持项目
发表于 2018-6-10 05:23 | 显示全部楼层
中文显示是怎么搞出来的?
发表于 2019-3-5 10:20 | 显示全部楼层
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'

在文件 -> 首选项开启
“编译过程中显示详细输出”选项
这份报告会包含更多信息。

点评

这是一年前的版本了,最新版本在blinker github上  详情 回复 发表于 2019-3-5 10:27
发表于 2019-3-5 10:27 | 显示全部楼层
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上
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 04:33 , Processed in 0.334784 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表