This is an old revision of the document!
<code c> #include <Arduino.h> #include <ittiot.h> #include “EmonLib.h” #include <Ticker.h>
#define ADC_PIN A0
EnergyMonitor emon1; Ticker adcTicker;
bool adcFlag;
uint16_t adcSampleCount;
void setAdcFlag() {
adcFlag=true;
}
void iot_connected() {
Serial.println("MQTT connected callback");
iot.log("IoT current example!");
}
void setup() {
Serial.begin(115200);
Serial.println("Booting");
iot.printConfig(); // print json config to serial
iot.setup();
emon1.current(ADC_PIN, iot.cfg->get<double>("stc")); // Current: input pin, calibration.
adcSampleCount = iot.cfg->get<uint16_t>("samples");
adcTicker.attach(0.5, setAdcFlag);
}
void loop() {
iot.handle();
if(adcFlag)
{
adcFlag = false;
double val = emon1.calcIrms(adcSampleCount);
String msg = String(val);
iot.publishMsg("curr", msg.c_str());
Serial.println(msg);
}
}
<code>