IR Schnittstelle von Stromzähler auslesen

Was sagt denn results über das Protokoll?

Falls SML ein IRremote Protokoll sein soll, dann kann das die Bibliothek (noch) nicht. Im Zweifelsfall alles als RAW ausgeben und notfalls den Puffer vergrößern.

Verwende nicht <IRremote.h> sondern <SoftwareSerial.h> mit 9600 Baud.
Zum PC hin geht auch Serial.begin(115200); (Serial Monitor entsprechend anpassen)
Im Loop:
if (SoftSerialDaten.available() > 0) {
Serial.write(SoftSerialDaten.read()); }
}

Der serielle Monitor ist nicht ideal um HEX Daten anzuzeigen. Besser HTerm verwenden.
Wenn dann immer noch kein "1B 1B 1B 1B" zu sehen ist kann SoftwareSerial die Daten mit Parameter "true" auch invertieren.

Warum sollte das so sein?

Serial.print(SoftSerialDaten.read(),HEX); 
Serial.print(" ");

Gruß Tommy

Tja, da wirst Du aber nicht umhin kommen.
Das was Du jetzt da bekommst ist ein Datenstrom ohne gekennzeiochneten Anfang und ohne pasendes Ende.

Mit der Freischaltung via PIN wird wohl auch die ESC-Sequenz mit dem zugehörigen SML-Start erzeugt.
Sonst welchen Sinn hätte sonst die PIN?

Das 1b 1b 1b 1b muss nicht enthalten sein.
Auf was es ankommt ist der Start der Sequenz und die Kennzeichnung des Ende.

Nein ist es nicht.
Das ist eine Spezifikation wie der Inhalt auszusehen hat.
https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03109/TR-03109-1_Anlage_Feinspezifikation_Drahtgebundene_LMN-Schnittstelle_Teilb.pdf

Danke. Da werde ich mir die PIN mal beantragen und schauen was ich dann bekomme.

Ah ok. Das wusste ich gar nicht. Ich dachte damit fängt das SML Telegram immer an. Aber da auch 01 01 01 01 nicht kommt, werde ich um die PIN nicht herum kommen

Den Puffer von was vergrößern und wie?

Anscheinend, SML ist ein rein serial Protokol.
Der IR Library wird die Start-, Stop-, Parity- Bits mit den Daten Bits verwechseln und ist nicht geeignet.
Anstatt ein IR Receiver, du kannst ein Phototransistor verwenden.

SML beschreibt Kommandos und Antworten, dazu gehört eine bidirektionale Verbindung. Da finde ich es nicht plausibel, daß der Zähler ständig Anforderungen rausschickt - stattdessen sollte ein Client Anforderungen schicken. Zudem sollte in einer bidirektionalen IR Verbindung irgendwie geregelt sein, wer wann etwas senden darf.

Mir sind das viel zu viele Fragezeichen, ich bin erst mal raus :frowning:

Stromzähler mit IR Auge senden permanent Daten wenn dies freigeschaltet ist. Das dient zum auslesen des Stromverbrauches. Mit einer PIN vom Stromanbieter kann das soweit freigeschaltet werden, dass man mehr Informationen bekommt. Da ich nicht weiß, auf welchen Zustand initial mein Stromzähler konfiguriert ist, habe ich mir jetzt die PIN beantragt. Die sollte nächste Woche kommen.
Dann werde ich sehen, ob der IR Receiver das richtige anzeigt.
Ich habe meinen Sketch mal auf SoftwareSerial.h umgestellt. Das Ergebnis ist hier fast das gleiche.
Also muss ich erstmal abwarten .

Und was machst Du dann mit der PIN?

Falls diese Angaben stimmt, Du kommst leider nicht viel weiter mit einem normalen IR (Fernbedienung) Empfänger Modul. (Link aus #9 )
image

Die sind nicht optimiert für Datenübertragung und kann nur bis circa 2400Baud mit ein 38KHz Trägerfrequenz funktionieren da die mindestens ungefähr 10 aufeinanderfolgenden Trägerwellen pro Bit brauchen. 9600 Baud ist sowieso ziemlich an der Grenze für ein 38KHz Träger.

Und ein Bild aus Smart Meter-Datenkabel selbst gemacht: libehz Falls es für deinen Zähler auch relevant ist, zeigt eine Datenubertragung ohne Trägersignal
image

Hallo
Nachdem ich bei meinem Zähler zwei Tage versucht habe sinnvolle hex-werte zu bekommen, stellte ich am dritten Tage fest daß er Klartext ausgibt.
Auch ohne Pin, mit stellt er ausführlichere Daten bereit.
Zählertyp weiss ich leider grad nicht.

Kannst du noch mehr sagen? Was für ein IR Empfänger hast du benutzt u.s.w.

Die PIN gebe ich via Taschenlampe ein.

Also da würde mich mal interessieren was du für einen Zähler hast.

Ich hab jetzt mal die PIN eingegeben. Leider ohne Erfolg. Die Daten sehen immer noch genauso aus. Vieleicht liegt es wirklich an dem IR Receiver Modul und ich muss mir einen "echte" IR Diode kaufen.

Es ist auch möglich ein normale IR LED als Empfänger zu verwenden.
Hier ist ein (eher komplex) Beispiel Arduino IR Learning Remote Control

Am einfachsten für deine Projekt wäre wahrscheinlich aber ein IR Photo Transistor mit so einem Schaltkreis: How the Phototransistor Circuit Works | LEARN.PARALLAX.COM .

Zähler ist ein logarex vom Bayernwerk, zum Auslesen hatte ich einen ir phototransistor
Logarex LK13BE803039

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.