Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //This sketch spits out a P1 telegram on pin9 ( (TX) of the Arduino). Scroll down for a variant of this sketch that spits //out random consumption numbers, and two increasing counters for high and low tariff
- #include <AltSoftSerial.h>
- AltSoftSerial mySerial;
- int led = 13; //LED op pin 13. LED zal branden als er een telegram wordt uitgestuurd
- void setup()
- {
- mySerial.begin(9600); //P1 baudrate
- Serial.begin(9600); //Serial console baudrate
- }
- //P1 telegram found on: http://blog.hekkers.net/2012/09/05/smart-meter-installed/
- void loop()
- {
- digitalWrite(led, HIGH); // turn the LED on
- mySerial.println("/KMP5 KA6U001660297912");
- mySerial.println("");
- mySerial.println("0-0:96.1.1(204B413655303031363630323937393132)");
- mySerial.println("1-0:1.8.1(00013.000*kWh)"); //meterstand daltarief
- mySerial.println("8.2(00001.000*kWh)"); //meterstand piektarief
- mySerial.println("1-0:2.8.1(00026.000*kWh)"); //meterstand teruglevering daltarief
- mySerial.println("1-0:2.8.2(00000.000*kWh)"); //meterstand teruglevering piektarief
- mySerial.println("0-0:96.14.0(0001)");
- mySerial.println("1-0:1.7.0(0000.54*kW)"); //huidig verbruik in kW
- mySerial.println("1-0:2.7.0(0000.00*kW)"); //huidig opwek in kW
- mySerial.println("0-0:17.0.0(999*A)");
- mySerial.println("0-0:96.3.10(1)"); //stand schakelaar
- mySerial.println("0-0:96.13.1()");
- mySerial.println("0-0:96.13.0()");
- mySerial.println("0-1:24.1.0(3)");
- mySerial.println("0-1:96.1.0(3238313031353431303034303232323131)");
- mySerial.println("0-1:24.3.0(121028200000)(00)(60)(1)(0-1:24.2.1)(m3)");
- mySerial.println("(00015.475)"); //meterstand gasmeter (m3)
- mySerial.println("0-1:24.4.0(1)"); //stand gasklep
- mySerial.println("!");
- digitalWrite(led, LOW); // turn the LED off
- // Wacht 10 sec totdat telegram opnieuw wordt uitgestuurd
- delay(10000);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////end of static version
- //The sketch below spits out random numbers for the actual consumption, and has two increasing counters for high and low tariff
- #include <AltSoftSerial.h>
- AltSoftSerial mySerial;
- int led = 13; //LED op pin 13. LED zal branden als er een telegram wordt uitgestuurd
- long huidigVerbruikRandom;
- int meterstandDal = 000001;
- int meterstandPiek = 000002;
- int meterstandGas = 00000003;
- void setup()
- {
- mySerial.begin(9600); //P1 baudrate
- Serial.begin(9600); //Serial console baudrate
- // if analog input pin 0 is unconnected, random analog
- // noise will cause the call to randomSeed() to generate
- // different seed numbers each time the sketch runs.
- // randomSeed() will then shuffle the random function.
- randomSeed(analogRead(0));
- }
- //P1 telegram found on: http://blog.hekkers.net/2012/09/05/smart-meter-installed/
- void loop()
- {
- huidigVerbruikRandom = random(3680);
- digitalWrite(led, HIGH); // turn the LED on
- //P1 telegram uitsturen (pin 9 is output, TX)
- mySerial.println("/KMP5 KA6U001660297912");
- mySerial.println("");
- mySerial.println("0-0:96.1.1(204B413655303031363630323937393132)");
- mySerial.print("1-0:1.8.1(");
- mySerial.print(meterstandDal);
- mySerial.println("*kWh)"); //meterstand daltarief
- mySerial.print("1-01.8.2(");
- mySerial.print(meterstandPiek);
- mySerial.println("*kWh)"); //meterstand piektarief
- mySerial.println("1-0:2.8.1(00026.000*kWh)"); //meterstand teruglevering daltarief
- mySerial.println("1-0:2.8.2(00000.000*kWh)"); //meterstand teruglevering piektarief
- mySerial.println("0-0:96.14.0(0001)");
- mySerial.print("1-0:1.7.0(");
- mySerial.print(huidigVerbruikRandom);
- mySerial.println("*kW)"); //huidig verbruik in kW
- mySerial.println("1-0:2.7.0(0000.00*kW)"); //huidig opwek in kW
- mySerial.println("0-0:17.0.0(999*A)");
- mySerial.println("0-0:96.3.10(1)"); //stand schakelaar
- mySerial.println("0-0:96.13.1()");
- mySerial.println("0-0:96.13.0()");
- mySerial.println("0-1:24.1.0(3)");
- mySerial.println("0-1:96.1.0(3238313031353431303034303232323131)");
- mySerial.println("0-1:24.3.0(121028200000)(00)(60)(1)(0-1:24.2.1)(m3)");
- mySerial.print("(");
- mySerial.print(meterstandGas);
- mySerial.println(")"); //meterstand gasmeter (m3)
- mySerial.println("0-1:24.4.0(1)"); //stand gasklep
- mySerial.println("!");
- //Weergeven data in serial monitor
- Serial.println("/KMP5 KA6U001660297912");
- Serial.println("");
- Serial.println("0-0:96.1.1(204B413655303031363630323937393132)");
- Serial.print("1-0:1.8.1(");
- Serial.print(meterstandDal);
- Serial.println("*kWh)"); //meterstand daltarief
- Serial.print("1-01.8.2(");
- Serial.print(meterstandPiek);
- Serial.println("*kWh)"); //meterstand piektarief
- Serial.println("1-0:2.8.1(00026.000*kWh)"); //meterstand teruglevering daltarief
- Serial.println("1-0:2.8.2(00000.000*kWh)"); //meterstand teruglevering piektarief
- Serial.println("0-0:96.14.0(0001)");
- Serial.print("1-0:1.7.0(");
- Serial.print(huidigVerbruikRandom);
- Serial.println("*kW)"); //huidig verbruik in kW
- Serial.println("1-0:2.7.0(0000.00*kW)"); //huidig opwek in kW
- Serial.println("0-0:17.0.0(999*A)");
- Serial.println("0-0:96.3.10(1)"); //stand schakelaar
- Serial.println("0-0:96.13.1()");
- Serial.println("0-0:96.13.0()");
- Serial.println("0-1:24.1.0(3)");
- Serial.println("0-1:96.1.0(3238313031353431303034303232323131)");
- Serial.println("0-1:24.3.0(121028200000)(00)(60)(1)(0-1:24.2.1)(m3)");
- Serial.print("(");
- Serial.print(meterstandGas);
- Serial.println(")"); //meterstand gasmeter (m3)
- Serial.println("0-1:24.4.0(1)"); //stand gasklep
- Serial.println("!");
- digitalWrite(led, LOW); // turn the LED off
- meterstandDal++;
- meterstandPiek++;
- meterstandGas++;
- // Wacht 10 sec totdat telegram opnieuw wordt uitgestuurd
- delay(10000);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement