|
|
@ -19,7 +19,8 @@ |
|
|
|
#include <Adafruit_Sensor.h> |
|
|
|
#include "Adafruit_BME280.h" |
|
|
|
|
|
|
|
#include <SDS011.h> |
|
|
|
#define ARDUINO_SAMD_VARIANT_COMPLIANCE |
|
|
|
#include "SdsDustSensor.h" |
|
|
|
|
|
|
|
#include "XD0OTA.h" |
|
|
|
#include "XD0MQTT.h" |
|
|
@ -29,8 +30,8 @@ static const char* TAG = "MAIN"; |
|
|
|
WiFiMulti wifiMulti; |
|
|
|
GxEPD2_BW<GxEPD2_213_B72, GxEPD2_213_B72::HEIGHT> display(GxEPD2_213_B72(/*CS=SS*/ TFT_CS, /*DC=*/ TFT_DC, /*RST=*/ TFT_RST, /*BUSY=*/ -1)); // GDEH0213B72
|
|
|
|
Adafruit_BME280 bme; // I2C (also available: hardware SPI
|
|
|
|
SDS011 my_sds; |
|
|
|
HardwareSerial serialport(2); |
|
|
|
//HardwareSerial Serial2(2);
|
|
|
|
SdsDustSensor sds(Serial2); |
|
|
|
|
|
|
|
XD0MQTT mqtt; |
|
|
|
|
|
|
@ -118,7 +119,7 @@ void setup() |
|
|
|
bme.setGasHeater(320, 150); // 320*C for 150 ms
|
|
|
|
*/ |
|
|
|
|
|
|
|
my_sds.begin(&serialport); |
|
|
|
sds.begin(); |
|
|
|
|
|
|
|
wifiMulti.addAP(WIFI_SSID, WIFI_PASSWD); |
|
|
|
wifiMulti.addAP(WIFI_SSID2, WIFI_PASSWD2); |
|
|
@ -161,13 +162,18 @@ void loop() |
|
|
|
display.print("Gas: "); display.print(bme.gas_resistance / 1000.0); display.println(" KOhms"); |
|
|
|
*/ |
|
|
|
|
|
|
|
float p10, p25; |
|
|
|
int error; |
|
|
|
|
|
|
|
error = my_sds.read(&p25, &p10); |
|
|
|
if (!error) { |
|
|
|
Serial.println("P.2.5: " + String(p25)); |
|
|
|
Serial.println("P10: " + String(p10)); |
|
|
|
PmResult pm = sds.readPm(); |
|
|
|
if (pm.isOk()) { |
|
|
|
Serial.print("PM2.5 = "); |
|
|
|
Serial.print(pm.pm25); |
|
|
|
Serial.print(", PM10 = "); |
|
|
|
Serial.println(pm.pm10); |
|
|
|
|
|
|
|
// if you want to just print the measured values, you can use toString() method as well
|
|
|
|
Serial.println(pm.toString()); |
|
|
|
} else { |
|
|
|
Serial.print("Could not read values from sensor, reason: "); |
|
|
|
Serial.println(pm.statusToString()); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|