示例里的远程环境检测接线-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8214|回复: 21

[已解答] 示例里的远程环境检测接线

[复制链接]
发表于 2021-1-9 19:01 | 显示全部楼层 |阅读模式

小白一个,这个没看明白怎么接线,能占用大神两分钟指点一下吗?
https://diandeng.tech/doc/yuan-cheng-huan-jing-jian-ce-yi
/* * Blinker AQI Detector */#define BLINKER_PRINT    Serial#define BLINKER_WIFI#include <Blinker.h>char auth[] = "Your Device Secret Key";char ssid[] = "Your WiFi network SSID or name";char pswd[] = "Your WiFi network WPA password or WEP key";// U8g2lib, https://github.com/olikraus/U8g2_Arduino#include <U8g2lib.h>#ifdef U8X8_HAVE_HW_I2C#include <Wire.h>#endifU8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, /*reset Pin*/ 13);// BLINKER_PMSX003ST, https://github.com/i3water/Blinker_PMSX003ST#include <BLINKER_PMSX003ST.h>#if defined(ESP32)HardwareSerial pmsSerial(2);// Pins 16(RX),17(TX)#else#include <SoftwareSerial.h>SoftwareSerial pmsSerial(14, 15);#endifBLINKER_PMSX003ST pms;uint32_t os_time_ms;#define PM_1    "PM1.0"#define PM_2_5  "PM2.5"#define PM_10   "PM10"#define PMS_FA  "FA"#define PMS_RH  "RH"#define PMS_TP  "TP"BlinkerNumber PM1(PM_1);BlinkerNumber PM25(PM_2_5);BlinkerNumber PM10(PM_10);BlinkerNumber HCHO(PMS_FA);BlinkerNumber HUMI(PMS_RH);BlinkerNumber TEMP(PMS_TP);void drawAQI(){    u8g2.setFont(u8g2_font_helvR10_te);    u8g2.setCursor(0, 13);    u8g2.print("PM1.0:" + String(pms.getPmAto(1.0)));    u8g2.setCursor(0, 27);    u8g2.print("PM2.5:" + String(pms.getPmAto(2.5)));    u8g2.setCursor(0, 41);    u8g2.print("PM10:" + String(pms.getPmAto(10)));    u8g2.setCursor(75, 13);    u8g2.print("FA:" + String(pms.getForm()));    u8g2.setCursor(75, 27);    u8g2.print("RH:" + String((int)pms.getHumi()) + "%");    u8g2.setCursor(75, 41);    u8g2.print("TP:" + String((int)pms.getTemp()) + "°");    u8g2.drawLine(0, 46, 128, 46);    u8g2.setFont(u8g2_font_helvR10_te);    u8g2.setCursor(0, 63);    u8g2.print("Blinker AQI detector");}void getPMS(){    if (millis() - os_time_ms > 1000UL) {#ifndef ESP32        if (!pmsSerial.isListening()) {            pmsSerial.listen();            delay(100);        }#endif        pms.request();        if(!pms.read()){            return;        }        os_time_ms = millis();    }}void detectorDisplay(){    getPMS();    u8g2.firstPage();    do {        drawAQI();    } while ( u8g2.nextPage() );}void u8g2Init(){    u8g2.begin();    u8g2.setFlipMode(0);    u8g2.clearBuffer();    u8g2.enableUTF8Print();}void pmsInit(){    pmsSerial.begin(9600);    pms.begin(pmsSerial);    pms.setMode(PASSIVE);}void heartbeat(){    PM1.unit("ug/m3");    PM1.print(pms.getPmAto(1.0));    PM25.unit("ug/m3");    PM25.print(pms.getPmAto(2.5));    PM10.unit("ug/m3");    PM10.print(pms.getPmAto(10));    HCHO.unit("ug/m3");    HCHO.print(pms.getForm());    HUMI.unit("%");    HUMI.print(pms.getHumi());    TEMP.unit("°C");    TEMP.print(pms.getTemp());}void setup(){    Serial.begin(115200);    #if defined(BLINKER_PRINT)        BLINKER_DEBUG.stream(BLINKER_PRINT);    #endif    u8g2Init();    pmsInit();    Blinker.begin(auth, ssid, pswd);    Blinker.attachHeartbeat(heartbeat);}void loop(){    Blinker.run();    detectorDisplay();    Blinker.delay(1000);}
发表于 2021-1-11 16:35 | 显示全部楼层
没接触过你这个传感器,你自己对比下
微信图片_20210111163342.jpg
发表于 2021-1-11 17:32 | 显示全部楼层
示例使用的是PMSX003ST,如果你已经购买了这个模块,请联系卖家获取手册
 楼主| 发表于 2021-1-12 18:44 | 显示全部楼层
雨梦随行 发表于 2021-1-11 16:35
没接触过你这个传感器,你自己对比下

谢谢,但是屏应该 是两个引脚,CLK 和DIO,传感器倒是应该只用TX和RX。没看明白怎么接。
发表于 2021-1-13 16:39 | 显示全部楼层
你的屏和他的屏一样吗?如果不一样,引脚定义肯定也不一样了,建议去看下屏(U8g2lib)的例程
也可试下这句,看行不
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, SCL, SDA, U8X8_PIN_NONE);
#define SCL  5                     //GPIO5 D1
#define SDA  4                     //GPIO5 D2
 楼主| 发表于 2021-1-14 10:28 | 显示全部楼层
雨梦随行 发表于 2021-1-13 16:39
你的屏和他的屏一样吗?如果不一样,引脚定义肯定也不一样了,建议去看下屏(U8g2lib)的例程
也可试下这句, ...

谢谢回复,SSD1306屏,I2C协议,应该是一样的
就是这个代码的定义没看明白。
 楼主| 发表于 2021-1-14 11:21 | 显示全部楼层
雨梦随行 发表于 2021-1-13 16:39
你的屏和他的屏一样吗?如果不一样,引脚定义肯定也不一样了,建议去看下屏(U8g2lib)的例程
也可试下这句, ...

用你这句替换后能显示了,但是连不上网,看示例中是有时间和日期显示的,现在没有时间显示,应该是没有从网络获取到时间吧,代码里填的WIFI名字和密码都没错,还有我反PMS7003的TX,RX和开发板的RX,TX连接了,还是没有数据接收到,
发表于 2021-1-14 15:59 | 显示全部楼层
longjunling 发表于 2021-1-14 11:21
用你这句替换后能显示了,但是连不上网,看示例中是有时间和日期显示的,现在没有时间显示,应该是没有从 ...

建议查看串口信息,看下网络,传感器数据是否正常,如果串口正常,检查下app设置是否一样,
BlinkerNumber PM1(PM_1);
BlinkerNumber PM25(PM_2_5);
BlinkerNumber PM10(PM_10);
BlinkerNumber HCHO(PMS_FA);
BlinkerNumber HUMI(PMS_RH);
BlinkerNumber TEMP(PMS_TP);
key是不是一样char auth[] = "Your Device Secret Key";
 楼主| 发表于 2021-1-14 19:03 | 显示全部楼层
本帖最后由 longjunling 于 2021-1-14 19:04 编辑

C:\Users\Administrator\Desktop\微信图片编辑_20210114190101.jpg
串口返回的数据,连不上路由吧 微信图片编辑_20210114190101.jpg
 楼主| 发表于 2021-1-14 19:15 | 显示全部楼层
雨梦随行 发表于 2021-1-14 15:59
建议查看串口信息,看下网络,传感器数据是否正常,如果串口正常,检查下app设置是否一样,
BlinkerNumbe ...

1306屏显示正常,所有的PM值都是0,应该7003传感器和开发板的连接有问题。串口反回的数据在楼上,应该是没连上网吧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 12:55 , Processed in 0.108643 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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