Jetzt siehts gut aus!
Ich hab den oben verlinkten Sensor an GPIO16 angeschlossen (also RX2).
Mit diesem Script hier (das ich im oben verlinkten Beitrag gefunden habe, danke an @agmue , @Muecke und @my_xy_projekt für die Vorarbeit)....
// Quelle: https://forum.arduino.cc/t/sml-protokoll-identifiziren-und-zerlegen/1076696/276
// Quelle: Agmue & Muecke
// "Dump"-Ausgabe; Undefiniertes Ende ist eine Pause von mehreren (vielen) Millisekunden zwischen zwei Zeichen.
unsigned long inByteIndex = 0;
unsigned long UndefiniertesEnde = 300; // Pausenzeit eingeben
void setup()
{
Serial.begin(115200);
Serial2.begin(9600); // RXD2 = GPIO16
}
void loop()
{
static unsigned long myTime;
byte inByte = 0;
if (Serial2.available()) // Daten im Serial2
{
myTime = millis();
inByte = Serial2.read(); // auslesen
switch (inByteIndex) // Aufruf einer Ausgabevariante in Abhängigkeit vom Index
{
case 0: // erstes Byte in der Übertragung
Serial.print("0x");
Serial.printf("%02X", inByte );
break;
default: // nicht das erste Zeichen in der Übertragung
Serial.print(", 0x");
Serial.printf("%02X", inByte );
break;
} // switch
inByteIndex++; // Byte-Index-Inkrement
}
if (millis() - myTime > UndefiniertesEnde && inByteIndex != 0) // Längere Pause erkannt, daher Zeilenumbruch einfügen
{
Serial.println ();
Serial.println ("MSG-Länge: " + String(inByteIndex) + " Byte");
inByteIndex = 0;
}
} // loop
Bekomme ich diese Ausgabe:
0x1B, 0x1B, 0x1B, 0x1B, 0x01, 0x01, 0x01, 0x01, 0x76, 0x05, 0xF2, 0x01, 0x32,
0x19, 0x62, 0x00, 0x62, 0x00, 0x72, 0x65, 0x00, 0x00, 0x01, 0x01, 0x76, 0x01,
0x01, 0x07, 0x45, 0x53, 0x59, 0x51, 0x33, 0x43, 0x0B, 0x06, 0x45, 0x53, 0x59,
0x01, 0x07, 0x1A, 0x33, 0xD0, 0xBA, 0x01, 0x01, 0x63, 0xFF, 0xF2, 0x00, 0x76,
0x05, 0xF2, 0x01, 0x32, 0x1A, 0x62, 0x00, 0x62, 0x00, 0x72, 0x65, 0x00, 0x00,
0x07, 0x01, 0x77, 0x01, 0x0B, 0x06, 0x45, 0x53, 0x59, 0x01, 0x07, 0x1A, 0x33,
0xD0, 0xBA, 0x01, 0x72, 0x62, 0x01, 0x65, 0x13, 0x14, 0xEE, 0x6C, 0x7F, 0x77,
0x07, 0x81, 0x81, 0xC7, 0x82, 0x03, 0xFF, 0x01, 0x01, 0x01, 0x01, 0x04, 0x45,
0x53, 0x59, 0x01, 0x77, 0x07, 0x01, 0x01, 0x01, 0x08, 0x00, 0xFF, 0x63, 0x01,
0x90, 0x72, 0x62, 0x01, 0x65, 0x13, 0x14, 0xEE, 0x6C, 0x62, 0x1E, 0x52, 0xFC,
0x69, 0x00, 0x00, 0x00, 0x67, 0x3A, 0x9C, 0x99, 0xB9, 0x01, 0x77, 0x07, 0x01,
0x01, 0x01, 0x08, 0x01, 0xFF, 0x63, 0x01, 0x90, 0x72, 0x62, 0x01, 0x65, 0x13,
0x14, 0xEE, 0x6C, 0x62, 0x1E, 0x52, 0x01, 0x65, 0x00, 0x43, 0xA3, 0xEC, 0x01,
0x77, 0x07, 0x01, 0x01, 0x01, 0x08, 0x02, 0xFF, 0x63, 0x01, 0x90, 0x72, 0x62,
0x01, 0x65, 0x13, 0x14, 0xEE, 0x6C, 0x62, 0x1E, 0x52, 0x01, 0x65, 0x00, 0x00,
0x00, 0x6E, 0x01, 0x77, 0x07, 0x01, 0x01, 0x01, 0x08, 0x03, 0xFF, 0x63, 0x01,
0x90, 0x72, 0x62, 0x01, 0x65, 0x13, 0x14, 0xEE, 0x6C, 0x62, 0x1E, 0x52, 0x01,
0x65, 0x00, 0x00, 0x00, 0x6F, 0x01, 0x77, 0x07, 0x01, 0x01, 0x01, 0x08, 0x04,
0xFF, 0x63, 0x01, 0x90, 0x72, 0x62, 0x01, 0x65, 0x13, 0x14, 0xEE, 0x6C, 0x62,
0x1E, 0x52, 0x01, 0x65, 0x00, 0x00, 0x00, 0x6E, 0x01, 0x77, 0x07, 0x01, 0x01,
0x01, 0x08, 0x05, 0xFF, 0x63, 0x01, 0x90, 0x72, 0x62, 0x01, 0x65, 0x13, 0x14,
0xEE, 0x6C, 0x62, 0x1E, 0x52, 0x01, 0x65, 0x00, 0x00, 0x00, 0x6F, 0x01, 0x77,
0x07, 0x01, 0x01, 0x01, 0x08, 0x06, 0xFF, 0x63, 0x01, 0x90, 0x72, 0x62, 0x01,
0x65, 0x13, 0x14, 0xEE, 0x6C, 0x62, 0x1E, 0x52, 0x01, 0x65, 0x00, 0x00, 0x00,
0x6E, 0x01, 0x77, 0x07, 0x01, 0x01, 0x01, 0x08, 0x07, 0xFF, 0x63, 0x01, 0x90,
0x72, 0x62, 0x01, 0x65, 0x13, 0x14, 0xEE, 0x6C, 0x62, 0x1E, 0x52, 0x01, 0x65,
0x00, 0x00, 0x00, 0x6F, 0x01, 0x77, 0x07, 0x01, 0x01, 0x01, 0x08, 0x08, 0xFF,
0x63, 0x01, 0x90, 0x72, 0x62, 0x01, 0x65, 0x13, 0x14, 0xEE, 0x6C, 0x62, 0x1E,
0x52, 0x01, 0x65, 0x00, 0x00, 0x00, 0x6E, 0x01, 0x77, 0x07, 0x01, 0x00, 0x01,
0x07, 0x00, 0xFF, 0x01, 0x01, 0x62, 0x1B, 0x52, 0xFE, 0x55, 0x00, 0x01, 0x5F,
0x3B, 0x01, 0x77, 0x07, 0x01, 0x00, 0x15, 0x07, 0x00, 0xFF, 0x01, 0x01, 0x62,
0x1B, 0x52, 0xFE, 0x55, 0x00, 0x00, 0xF3, 0x3E, 0x01, 0x77, 0x07, 0x01, 0x00,
0x29, 0x07, 0x00, 0xFF, 0x01, 0x01, 0x62, 0x1B, 0x52, 0xFE, 0x55, 0x00, 0x00,
0x54, 0x93, 0x01, 0x77, 0x07, 0x01, 0x00, 0x3D, 0x07, 0x00, 0xFF, 0x01, 0x01,
0x62, 0x1B, 0x52, 0xFE, 0x55, 0x00, 0x00, 0x17, 0x6A, 0x01, 0x77, 0x07, 0x01,
0x00, 0x60, 0x05, 0x05, 0xFF, 0x01, 0x01, 0x01, 0x01, 0x63, 0x01, 0x90, 0x01,
0x01, 0x01, 0x63, 0xB3, 0x92, 0x00, 0x76, 0x05, 0xF2, 0x01, 0x32, 0x1B, 0x62,
0x00, 0x62, 0x00, 0x72, 0x65, 0x00, 0x00, 0x02, 0x01, 0x71, 0x01, 0x63, 0x03,
0xCD, 0x00, 0x1B, 0x1B, 0x1B, 0x1B, 0x1A, 0x00, 0x75, 0xD8
MSG-Länge: 504 Byte
Also hab ich jetzt mein "Hello World".
Jetzt kämpf ich mich durch den POst und alle darin verlinkten und hoffe mal, irgendwann dann meinen Stromzähler erfolgreich auszulesen.
Danke euch!