Smartmeter auslesen

Gast #3683969
Lesenswert?
• ▲
▼
Hallo,

ich versuche meinen Smartmeter auszulesen. Dazu habe ich diese Schaltung

http://gonium.net/blog/2010/10/24/smart-meter-datenkabel-selbst-gemacht--libehz/

mit dem BPW82 nachgebaut. Allerdings ist der R3 bei mit ein 5.5k statt 
4.7k wie in der Schaltung. Schaltung wird mit 3.3v versorgt und es hängt 
ein Arduino dran. Ganz simples Programm:
1
String inputString = ""; 
2
boolean stringComplete = false;
3

4
// the setup routine runs once when you press reset:
5
void setup() {  
6
  Serial.begin(9600);
7
  inputString.reserve(200);
8

9
 Serial.println("boot....");
10

11
}
12

13
void serialEvent() {
14
  while (Serial.available()) {
15
    char inChar = (char)Serial.read(); 
16
    inputString += inChar;
17
    if (inChar == '\n') {
18
      stringComplete = true;
19
    } 
20
  }
21
}
22

23
void loop() {
24
  if(stringComplete) {    
25
    Serial.println(inputString);                
26
    inputString = "";
27
    stringComplete = false;
28
  }
29
}

Ich kann zwar Daten empfangen, allerdings nur kryptische Zeichen.

Kann mir jemand helfen?

Danke!
Gast #3683997
Lesenswert?
• ▲
▼
Hallo Filth,

>Mit einem USB-TTL-Adapter kann man sich nun den Klartext in einer Terminal 
>anschauen. Ich verwende dafür einen Kermit mit folgenden Einstellungen (in der 
>.kermrc, 9600 7N1)

steht ein bisschen im Gegensatz zu :

>Serial.begin(9600);
Mit dem Standard 8N1

Probier mal: Serial.begin(9600, SERIAL_7N1);

Liebe Grüße

Helfer
Gast #3684045
Lesenswert?
• ▲
▼
Bei den meisten Arduino Boards liest du die Serielle Schnittstelle über 
den USB Anschluss aus. Somit schreibt der Arduino gleichzeitig mit dem 
Smartmeter auf die Serielle Schnittstelle und du empfängst natürlich nur 
Blödsinn.
Versuche doch erstmal nur, wie auf der Projektseite beschrieben, das 
Smartmeter nur mit einem TTL-USB Wandler auszulesen. Wenn du damit die 
Funktion deines Aufbaus getestet, kannst du die Auswertung mittels eines 
Aurduinos übernehmen.

Gruß
Gast #3684081
Lesenswert?
• ▲
▼
Hmm gerade getestet: direkt an einem TTL-USB Wandler kommt nichts. Am 
Arduino zusammen mit dem Blinken der IR-LED (durch Handycam gesehen) 
kommt der Datensalat an.

Bist du sicher, dass der Arduino gleichzeitig mit dem Smartmeter 
schreibt? Die Schaltung der IR LED hängt ja am RX Pin des Arduino und 
dieser schreibt auf dem TX Pin (ist ein arduino micro, also ohne USB 
Port)
Gast #3684088
Lesenswert?
• ▲
▼
Ja, das ist wirksam geändert - sehe ich daran, dass ohne passende 7N1 
Einstellung im Hterm das "boot" nicht lesbar ankommt.

Auf der Seite von der Schaltung steht, dass diese für 5v entworfen ist, 
kann das das Problem sein? Ich betreibe das Ganze ja mit 3.3v.

Ansonsten ist nur noch der R3 anders - ich habe 5.5k statt 4.7k, evtl 
hier das Problem?
#3684092
Lesenswert?
• ▲
▼
Filth schrieb:

> Ansonsten ist nur noch der R3 anders - ich habe 5.5k statt 4.7k, evtl
> hier das Problem?

Du solltest das Signal direkt am Eingang des Arduinos messen;
am besten mit einem Oszi. Wenn das Signal dort schon schlecht
ist, kann es durch den µC nicht besser werden. Übrigens, 5,5kOhm
Widerstände gibt es normalerweise nicht; vielleicht ist dort ein
völlig falscher Wert verbaut?
Gruss
Harald
Gast #3684098
Lesenswert?
• ▲
▼
Wenn "boot" ankommt und dies vom Smartmeter ist, läuft die 
Kommunikation! Nur das der Inhalt für Neugierige wohl verschlüsselt ist! 
Immerhin soll ja nur der Energieversorger wissen wann Du deinen Toast 
machst und nicht Du selber, weil Du ja keinen Nutzen von deinem eigenen 
Bewegungsprofil hast (PS: mein Energieversorger will deshalb die Anzahl 
der Mitbewohner wissen obwohl es nur ein Konto gibt ;-) ) Ich habe 
sicherheisthalber mal 10 Leute angegeben.
Gast #3684160
Lesenswert?
• ▲
▼
Ja, das "boot" kommt von mir selbt.

Habe R3 probehalber mal durch einen 2.6k Widerstand ersetzt, jetzt sieht 
man den Datensalat auch ohne Arduino, also direkt am TTL-USB Wandler. 
Aber immernoch keine lesbaren Daten
Persönliche Seite #3684176
Lesenswert?
• ▲
▼
Filth schrieb:
> Habe R3 probehalber mal durch einen 2.6k Widerstand ersetzt, jetzt sieht
> man den Datensalat auch ohne Arduino, also direkt am TTL-USB Wandler.
> Aber immernoch keine lesbaren Daten

Das spricht dafür, daß die Schaltung nicht sonderlich gut für 3.3V 
geeignet ist.

Unter 
http://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf-ttl-ausgang 
findest Du eine Schaltung, die wohl auch für 3,3V geeignet ist.
Persönliche Seite #3684287
Lesenswert?
• ▲
▼
Dann wird es schwierig mit derm Remote-Helfen.

Hier nochmal meine Tipps:

1. Laß den Ardunio erstmal weg
2. Finde heraus, welches die tatsächlichen Übertragungsparameter sind 
(Hersteller)
3. Schau Dir die Pegel an (Oszi)

Mehr können wir hier wohl nicht für Dich tun.

Einen Tipp habe ich noch: Eventuell ist noch der Pegel des TTL-Signals 
invertiert. Du kannst mal probieren, ob eine Invertierung des Signals 
Dich weiterbringt.

Ansonsten bleibt mir nur viel Erfolg zu wünschen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren