Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware:channels:meters:power:eastron_sdm630_modbus

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
hardware:channels:meters:power:eastron_sdm630_modbus [2018/03/25 11:11] – Titel jauhardware:channels:meters:power:eastron_sdm630_modbus [2018/05/14 18:37] jau
Zeile 12: Zeile 12:
  
 <note important>Die Portbezeichnung (A|B) am SDM630 stimmt nicht mit der am USB-RS485 Adapter überein; einfach vertauschen.</note> <note important>Die Portbezeichnung (A|B) am SDM630 stimmt nicht mit der am USB-RS485 Adapter überein; einfach vertauschen.</note>
- 
-Bei mir läuft die Verbindung mit [[hardware:controllers:ir-schreib-lesekopf#grundlagen|9600bd 8E1]]. 
  
 ===== Kommunikation ===== ===== Kommunikation =====
-Im Beispiel werden die Daten monatlich getrennt in eine Datei (mit log-powermeter.sh) geloggt. Der Zähler soll das Auslesen laut Doku von angeblich nur 40 Werten pro Abfrage unterstützen. Das getestete Exemplar unterstützt die Abfrage von 50 Werten pro Nachricht. +Der Zähler soll das Auslesen laut Doku von angeblich nur 40 Register pro Abfrage unterstützen. Getestete Exemplare unterstützt die Abfrage von 50 Werten pro Nachricht. 
-Für dieses Skript benötigt man das kleine Programm [[https://github.com/gitaeuber/mbrtu|mbrtu]], das auf libmodbus basiert. Es ist gegen die (statisch)e Bibliothek libmodbus gelinkt. Achtung: Es wird die momentan noch nicht veröffentlichte Version [[http://libmodbus.org/download/|libmodbus]] 3.1.3 benötigt. Diese kann man einfach von github herunterladen.+ 
 +===== Auslesen mit mbrtu ===== 
 +Für die folgenden Skripte benötigt man das kleine Programm [[https://github.com/gitaeuber/mbrtu|mbrtu]], das auf libmodbus basiert. Es ist gegen die (statisch)e Bibliothek libmodbus gelinkt. Achtung: Es wird die momentan noch nicht veröffentlichte Version [[http://libmodbus.org/download/|libmodbus]] 3.1.3 benötigt. Diese kann man einfach von github herunterladen werden. 
 + 
 +==== Installation der Software ==== 
 +=== libmodbus === 
 +<code> 
 +cd ~ 
 +git clone git://github.com/stephane/libmodbus 
 +cd libmodbus 
 +./autogen.sh 
 +./configure --enable-static 
 +make 
 +sudo make install 
 +sudo cp ./src/.libs/libmodbus.a /usr/local/lib/ 
 +</code> 
 + 
 +=== mbrtu === 
 +<code> 
 +cd ~ 
 +git clone https://github.com/gitaeuber/mbrtu 
 +cd mbrtu 
 +make 
 +sudo make install 
 +</code> 
 + 
 +==== BASH-Script, direkt ==== 
 +Im Folgenden läuft die Verbindung mit [[hardware:controllers:ir-schreib-lesekopf#grundlagen|2400bd 8N1]]. 
 + 
 +Das Beispiel loggt den Total-Zählerstand (und nur den) direkt über die VZ-Middleware. 
 + 
 +<code | base bash> 
 +#!/bin/bash 
 +
 +# log a register (electric energie) of Eastron meter to Volkszaehler.org 
 +
 +# example conjob: 
 +# * * * * * root /usr/local/bin/sdm_mbrtu.sh 
 +
 + 
 +# PATH for cronjob 
 +PATH=/usr/local/bin:$PATH 
 + 
 +# config Modbus 
 +TTY="/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0" 
 +BAUD=2400 
 +ADDR=1 
 +REG=342 
 + 
 +# config VZ 
 +HOST=localhost 
 +UUID=6836dd20-00d5-11e0-bab1-856ed5f959ae 
 + 
 + 
 +# read Modbus 
 +DATA=( $(mbrtu -d$TTY -b$BAUD -pn -s1 -a$ADDR -fi -tf32_dcba -n2 -r$REG) ) 
 +if [ -z ${DATA[2]} ] 
 +then 
 +    echo "no data revcieved on modbus" 
 +else 
 +    echo "${DATA[2]}" 
 + 
 +    # Timestamp 
 +    TS=$(date +%s) 
 +    TS=$(($TS*1000)) 
 + 
 +    # write VZ 
 +    echo wget -O - -q "http://$HOST/middleware.php/data/$UUID.json?operation=add&ts=$TS&value=${DATA[2]#DATA=}" 
 +    wget -O - -q "http://$HOST/middleware.php/data/$UUID.json?operation=add&ts=$TS&value=${DATA[2]#DATA=}" 
 +    printf "\n" 
 +fi 
 +</code> 
 + 
 + 
 +==== BASH-Script, gepuffert ==== 
 +Im Folgenden läuft die Verbindung mit [[hardware:controllers:ir-schreib-lesekopf#grundlagen|9600bd 8E1]]. 
 + 
 +Im Beispiel werden die Daten monatlich getrennt in eine Datei (mit log-powermeter.sh) geloggt.
  
  
Zeile 46: Zeile 121:
 [[https://github.com/gitaeuber/data_logger.git]]</note> [[https://github.com/gitaeuber/data_logger.git]]</note>
  
-Anhänge:\\+===== Quellen ===== 
 +[[http://bg-etech.de/download/manual/SDM630ModbusDE.pdf|Handbuch deutsch]]\\ 
 +[[http://bg-etech.de/download/manual/SDM630Register.pdf|Modbus-Registerübersicht]] 
 + 
 +===== Anhänge =====
 {{:hardware:channels:meters:power:log_powermeter.rar|log-powermeter.sh}}\\ {{:hardware:channels:meters:power:log_powermeter.rar|log-powermeter.sh}}\\
 {{:hardware:channels:meters:power:vz-import_sdm630.rar|vz-import_power.sh}}\\ {{:hardware:channels:meters:power:vz-import_sdm630.rar|vz-import_power.sh}}\\
 +
  
hardware/channels/meters/power/eastron_sdm630_modbus.txt · Zuletzt geändert: 2021/02/01 16:16 von jau