//#include // Arduino IDE <1.6.6, using IDE 1.8.1 #include //#include #define txMain 11 //Single pin for all Meters #define rx1 10 //Meter 1 #define rx2 9 //Meter 2 //PZEM004T pzem1(rx1, txMain); // RX,TX IPAddress ip1(192, 168, 1, 1); //PZEM004T pzem2(rx2, txMain); // RX,TX IPAddress ip2(192, 168, 1, 10); void setup() { Serial.begin(9600); // pzem.setAddress(ip); } void loop() { PZEM004T pzem1(rx1, txMain); // RX,TX Serial.println ("METER 1:"); float v1 = pzem1.voltage(ip1); if (v1 < 0.0) v1 = 0.0; Serial.print(v1); Serial.print("V1; "); float i1 = pzem1.current(ip1); if (i1 >= 0.0) { Serial.print(i1); Serial.print("A1; "); } float p1 = pzem1.power(ip1); if (p1 >= 0.0) { Serial.print(p1); Serial.print("W1; "); } float e1 = pzem1.energy(ip1); if (e1 >= 0.0) { Serial.print(e1); Serial.print("Wh1; "); } Serial.println(); delay(500); PZEM004T pzem2(rx2, txMain); // RX,TX Serial.println ("METER 2:"); float v2 = pzem2.voltage(ip2); if (v2 < 0.0) v2 = 0.0; Serial.print(v2); Serial.print("V2; "); float i2 = pzem2.current(ip2); if (i2 >= 0.0) { Serial.print(i2); Serial.print("A2; "); } float p2 = pzem2.power(ip2); if (p2 >= 0.0) { Serial.print(p2); Serial.print("W2; "); } float e2 = pzem2.energy(ip2); if (e2 >= 0.0) { Serial.print(e2); Serial.print("Wh2; "); } Serial.println(); delay(500); }