查看: 5008|回复: 5

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

 关闭 [复制链接]
  • TA的每日心情

    1544106114
  • 签到天数: 48 天

    发表于 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




  • TA的每日心情

    1544106114
  • 签到天数: 48 天

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

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


  • TA的每日心情

    2017-12-1 18:12
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 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
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 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上
    如果以上内容对你有帮助,你可以通过打赏支持作者
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    Blinker使用求助
    Blinker使用求助
    求助Blinker使用,我按照官网的相关指南配置,写好代码后,蓝牙显示已连接,但是按下
    基于Arduino的捡乒乓球小车
    基于Arduino的捡乒乓球小
    本帖最后由 MT不吃鷄 于 2019-5-2 17:11 编辑 基于Arduino的捡乒乓球小车 先上演示
    OLED 128*64自制可达10000000个选项的菜单(已更新)
    OLED 128*64自制可达10000
    OLED 128*64自制可达10000000个选项的菜单 温馨提示: 建议占个楼再食用本帖子
    【原创】 drawbot平面关节scara机械臂写字机 画画机器人直播...
    【原创】 drawbot平面关节
    这个项目上个月就在做了,结构和代码反反复复改了多次,加上自己又太忙,一直没来得及
    【Arduino】66种传感器模块系列实验(74)--- 4位LED数码管模块
    【Arduino】66种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表