2024-02-03 10:46:26 +07:00
|
|
|
/*
|
|
|
|
This is sample code for the AirGradient library with a minimal implementation to read CO2 values from the SenseAir S8 sensor.
|
|
|
|
|
|
|
|
CC BY-SA 4.0 Attribution-ShareAlike 4.0 International License
|
2024-02-04 15:04:38 +07:00
|
|
|
|
2024-02-03 10:46:26 +07:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include <AirGradient.h>
|
|
|
|
|
|
|
|
#ifdef ESP8266
|
2024-02-04 15:04:38 +07:00
|
|
|
AirGradient ag = AirGradient(DIY_BASIC);
|
2024-02-03 10:46:26 +07:00
|
|
|
#else
|
2024-02-04 15:04:38 +07:00
|
|
|
/** Create airgradient instance for 'OPEN_AIR_OUTDOOR' board */
|
|
|
|
AirGradient ag = AirGradient(OPEN_AIR_OUTDOOR);
|
2024-02-03 10:46:26 +07:00
|
|
|
#endif
|
|
|
|
|
|
|
|
void failedHandler(String msg);
|
|
|
|
|
2024-02-04 15:04:38 +07:00
|
|
|
void setup()
|
|
|
|
{
|
2024-02-03 10:46:26 +07:00
|
|
|
Serial.begin(115200);
|
|
|
|
|
|
|
|
/** Init CO2 sensor */
|
|
|
|
#ifdef ESP8266
|
2024-02-04 15:04:38 +07:00
|
|
|
if (ag.s8.begin(&Serial) == false)
|
|
|
|
{
|
2024-02-03 10:46:26 +07:00
|
|
|
#else
|
2024-03-06 17:20:55 +07:00
|
|
|
if (ag.s8.begin(Serial0) == false)
|
2024-02-04 15:04:38 +07:00
|
|
|
{
|
2024-02-03 10:46:26 +07:00
|
|
|
#endif
|
|
|
|
failedHandler("SenseAir S8 init failed");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-02-04 15:04:38 +07:00
|
|
|
void loop()
|
|
|
|
{
|
|
|
|
int co2Ppm = ag.s8.getCo2();
|
|
|
|
Serial.printf("CO2: %d\r\n", co2Ppm);
|
2024-02-03 10:46:26 +07:00
|
|
|
delay(5000);
|
|
|
|
}
|
|
|
|
|
2024-02-04 15:04:38 +07:00
|
|
|
void failedHandler(String msg)
|
|
|
|
{
|
|
|
|
while (true)
|
|
|
|
{
|
2024-02-03 10:46:26 +07:00
|
|
|
Serial.println(msg);
|
|
|
|
delay(1000);
|
|
|
|
}
|
|
|
|
}
|