#include char token[] = "xxx"; char ssid[] = "xxx"; char password[] = "xxx"; #define EspSerial Serial ESP8266 wifi(EspSerial); #define VIRTUAL_PIN0 V0 #define VIRTUAL_PIN0 V1 #include "EmonLib.h" EnergyMonitor emon1; int rede = 127.0; int pino_sct = A0; double kwhTotal; double kwhTotal_Acc; double vlreais; double vlreais_Acc; unsigned long ltmillis, tmillis, timems, previousMillis, refresh; void setup() { pinMode(LED_BUILTIN, OUTPUT); EspSerial.begin(115200); delay(10); Cayenne.begin(token, wifi, ssid, password); emon1.current(pino_sct, 60); //Calibration Pin - Cur Const= Ratio/BurdenR. 2000/33 = 60 previousMillis = millis(); } void loop() { Cayenne.run(); } CAYENNE_OUT(VIRTUAL_PIN0) { ltmillis = tmillis; tmillis = millis(); timems = tmillis - ltmillis; double Irms = emon1.calcIrms(1480); // Calculate Irms kwhTotal = (((Irms*127.0)/1000.0) * 1.0/3600.0 * (timems/1000.0)); kwhTotal_Acc = kwhTotal_Acc + kwhTotal; vlreais = kwhTotal * 0.5773; //Price (Generation, transmission, taxes) vlreais_Acc = vlreais_Acc + vlreais; Cayenne.virtualWrite(V0, kwhTotal_Acc); Cayenne.virtualWrite(V1, vlreais_Acc); }