Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware:controllers:raspberry_pi_erweiterung_mit_schaltausgaengen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
hardware:controllers:raspberry_pi_erweiterung_mit_schaltausgaengen [2015/02/02 17:58] – [Preise] udo1hardware:controllers:raspberry_pi_erweiterung_mit_schaltausgaengen [2022/04/21 22:20] (aktuell) – daemon, logfile & port jau
Zeile 1: Zeile 1:
 ======RaspberryPi-Erweiterung mit Schaltausgängen====== ======RaspberryPi-Erweiterung mit Schaltausgängen======
  
-Hier die aktuelle Version der [[hardware:controllers:raspberry_pi_erweiterung_rev1|RaspberryPi-Erweiterung]].+<note important>Diese Version wird nicht mehr unterstützt.
  
-Weggefallen sind zwei der drei 1-Wire-Eingänge, dafür hat diese Erweiterung zwei Relais-Schaltausgänge erhalten.\\+Empfohlene Alternative:  
 + [[/hardware:controllers:raspberry_pi_erweiterung_mit_schaltausgaengen_rev.1|RaspberryPi-Erweiterung mit Schaltausgängen Rev.1]]</note>
  
  
Zeile 16: Zeile 17:
  
 <note important>Die Relais auf der Leiterplatte können zwar ohmsche Lasten bis 230V/5A, [[http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME=C300%252FDS_HF49FD.pdf|Datenblatt]], schalten. Es wird aber dringend Empfohlen diese Relais nur für Spannungen bis 24V einzusetzen. Verbraucher mit höheren Spannungen und Strömen können über zugelassene [[http://www.reichelt.de/?;ARTICLE=26592|externe Installationsrelais]] geschaltet werden, die von den Relais auf der Erweiterung angesteuert werden.</note>\\ <note important>Die Relais auf der Leiterplatte können zwar ohmsche Lasten bis 230V/5A, [[http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME=C300%252FDS_HF49FD.pdf|Datenblatt]], schalten. Es wird aber dringend Empfohlen diese Relais nur für Spannungen bis 24V einzusetzen. Verbraucher mit höheren Spannungen und Strömen können über zugelassene [[http://www.reichelt.de/?;ARTICLE=26592|externe Installationsrelais]] geschaltet werden, die von den Relais auf der Erweiterung angesteuert werden.</note>\\
- 
-<note important>Wird die Erweiterung an einem Banana Pi angeschlossen, muss die Spannungsversorgung über die normale µUSB-Buchse erfolgen.</note> 
  
  
 =====Software===== =====Software=====
  
-Extra für dieses Board gibt es passende, native Linux Daemons inklusive Init-Script.\\ +vzlogger liest 1wire-Temperatur-Sensoren, die GPIOs und IR-Köpfe.
-Sie liefern die Daten direkt an die Middleware.\\ +
- +
-  * S0/Impulse to Volkszaehler 'RaspberryPI deamon' ([[https://github.com/w3llschmidt/s0vz|S0VZ ]]) für die S0-Schnittstelle(n).\\ +
- +
-  * DS2482 I²C 1-Wire® Master to Volkszaehler 'RaspberryPI deamon' ([[https://github.com/w3llschmidt/1wirevz|1WIREVZ ]]) für die DS1820 Temperatursensoren.\\ +
- +
-Die Daemons sind in ANSI C geschriebenlaufen komplett im Userspace, mit sehr kleiner Speichersignatur und minimaler Prozessorlast.\\ +
- +
- +
-<note important>Da sich die verbundenen GPIOs  geändert haben, kann die s0vz-Version von [[https://github.com/w3llschmidt/s0vz]] nicht mehr verwendet werden. Die neue Version könnt ihr euch hier herunter laden: {{:hardware:controllers:s0vz-master.zip|}}\\ +
-Die ist aber im neuen Image schon enthalten.</note>+
  
 =====Fertiges Image===== =====Fertiges Image=====
  
-Ein komplettes Image für den RPi und neuen RPi-B+ könnt ihr euch hier herunter laden: https://demo.volkszaehler.org/downloads/volkszaehler_image.rar \\ +Ein komplettes Image für alle RPI-Versionen könnt ihr euch hier herunter laden: [[https://demo.volkszaehler.org/downloads/volkszaehler_latest.zip|Image-Quelle]] \\ 
-Darauf sind installiert: 1wirevz, s0vz und vzlogger, sowie die middleware und das Frontend.\\+Darauf sind installiert: vzlogger, die middlewaredas Frontend und phpmyadmin.\\
 Es wird mindestens ein 8GB SD-Karte benötigt. Besser ist eine 16GB bzw. 32GB SD-Karte.\\ Es wird mindestens ein 8GB SD-Karte benötigt. Besser ist eine 16GB bzw. 32GB SD-Karte.\\
-Die Installation kann auf einem Windows-Rechner mit Hilfe von http://sourceforge.net/projects/win32diskimager/files/latest/download?source=navbar +Die Installation kann auf einem Windows-Rechner mit Hilfe von [[http://sourceforge.net/projects/win32diskimager/files/latest/download?source=navbar]]erfolgen. 
-erfolgen. +Nach dem Installieren des Image auf die SD-Karte mit Putty auf den RPi einloggen und ''sudo raspi-config'' ausführen und das Filesystem expandieren.\\ Dann reboot. ''sudo shutdown -r now''\\
-Nach dem Installieren des Image auf die SD-Karte mit Putty auf den RPi einloggen und "sudo raspi-configausführen und das Filesystem expandieren.\\ Dann reboot. "sudo shutdown -r now"\\+
 Das Frontend mit einem Browser aufrufen und vorhandene Kanäle löschen und eigene Kanäle erstellen. Die UUIDs merken.\\ Das Frontend mit einem Browser aufrufen und vorhandene Kanäle löschen und eigene Kanäle erstellen. Die UUIDs merken.\\
 Cockies im Browser erlauben.\\ Cockies im Browser erlauben.\\
 Danach wieder mit Putty einloggen.\\ Danach wieder mit Putty einloggen.\\
-Jetzt müssen die Dateien unter /etc : 1wirevz.cfg , s0vz.cfg und vzlogger.conf und rc.local editiert werden.\\ +Jetzt müssen die Dateien unter /etc : vzlogger.conf und rc.local editiert werden.\\ 
-"sudo nano /etc/1wire.cfg"\\ +''sudo nano /etc/vzlogger.conf''\\ 
-"sudo nano /etc/s0vz.cfg"\\ +''sudo nano /etc/rc.local ''\\ 
-"sudo nano /etc/vzlogger.conf"\\ +In der rc.local müssen die entsprechenden Programme und GPIOs der Schaltausgänge freigegeben werden.Nicht genutzte GPIOs auskommentieren (#)\\ 
-"sudo nano /etc/rc.local "\\ +In der vzlogger.conf müssen die IDs der 1Wire-Sensoren und die zugehörige UUID eingetragen werden. Vorhandene IDs und UUIDs werden überschrieben.\\ 
-In der rc.local müssen die entsprechenden Programme freigegeben werden. Die davor entfernen. +Die IDs der angeschlossenen 1Wire-Sensoren bekommt man mit dem Befehl ''ls /sys/bus/w1/devices/'' heraus.\\ 
-In der 1wire.cfg müssen die IDs der Sensoren und die zugehörige UUID eingetragen werden. Vorhandene IDs und UUIDs werden überschrieben.\\ +In der vzlogger.conf müssen die den S0-Eingängen entsprechenden GPIOs und die entsprechenden UUIDs eingetragen werden. Vorhandene UUIDs oder Platzhalter werden überschrieben.\\
-Die IDs der angeschlossenen 1wire-Sensoren bekommt man mit dem Befehl "cat /var/log/syslog|grep 1wirevz" heraus.\\ +
-In der s0vz.cfg müssen bei den S0-Eingängen die entsprechenden UUIDs eingetragen werden. Vorhandene UUIDs oder Platzhalter werden überschrieben.\\ +
-In der vzlogger.conf müssen die "protocol"-Art, das "device", ggf. "baudrate" und "parity", die "UUID" und der "identifier" eingetragen/überschrieben werden.\\+
 Danach reboot. Danach reboot.
 +
 +Hier eine Beispiel vzlogger.conf für 1wire und S0:
 +<code base vzlogger.conf>
 +{
 +  "retry": 0,
 +  "verbosity": 15,
 +  "log": "/var/log/vzlogger/vzlogger.log",
 +//  "push": [],
 +  "local": {
 +    "enabled": false,
 +    "port": 8081,
 +    "index": true,
 +    "timeout": 0,
 +    "buffer": 0
 +  },
 +  "meters": [
 +    {
 +      "enabled": true,
 +      "allowskip": false,
 +      "interval": -1,
 +      "aggtime": -1,
 +      "aggfixedinterval": false,
 +      "channels": [
 +        {
 +          "uuid": "0c916ca0-ef7d-11e4-8365-2512933ea8df",
 +          "identifier": "Impulse",
 +          "api": "volkszaehler",
 +          "middleware": "http://127.0.0.1/middleware.php",
 +          "aggmode": "none",
 +          "duplicates": 0
 +        }
 +      ],
 +      "protocol": "s0",
 +      "gpio": 17,
 +      "configureGPIO": true,
 +      "debounce_delay": 0
 +    },
 +    {
 +      "enabled": true,
 +      "allowskip": false,
 +      "interval": -1,
 +      "aggtime": -1,
 +      "aggfixedinterval": false,
 +      "channels": [
 +        {
 +          "uuid": "31be9060-ef7d-11e4-845a-693a7878620a",
 +          "identifier": "Impulse",
 +          "api": "volkszaehler",
 +          "middleware": "http://127.0.0.1/middleware.php",
 +          "aggmode": "none",
 +          "duplicates": 0
 +        }
 +      ],
 +      "protocol": "s0",
 +      "gpio": 18,
 +      "configureGPIO": true,
 +      "debounce_delay": 0
 +    },
 +    {
 +      "enabled": true,
 +      "allowskip": false,
 +      "interval": -1,
 +      "aggtime": -1,
 +      "aggfixedinterval": false,
 +      "channels": [
 +        {
 +          "uuid": "079e4d60-f03a-11e4-a1f2-8ba3458b66ed",
 +          "identifier": "Impulse",
 +          "api": "volkszaehler",
 +          "middleware": "http://127.0.0.1/middleware.php",
 +          "aggmode": "none",
 +          "duplicates": 0
 +        }
 +      ],
 +      "protocol": "s0",
 +      "gpio": 23,
 +      "configureGPIO": true,
 +      "debounce_delay": 0
 +    },
 +    {
 +      "enabled": true,
 +      "allowskip": false,
 +      "interval": -1,
 +      "aggtime": -1,
 +      "aggfixedinterval": false,
 +      "channels": [
 +        {
 +          "uuid": "14d79bd0-f03a-11e4-85e9-edfdbad8043f",
 +          "identifier": "Impulse",
 +          "api": "volkszaehler",
 +          "middleware": "http://127.0.0.1/middleware.php",
 +          "aggmode": "none",
 +          "duplicates": 0
 +        }
 +      ],
 +      "protocol": "s0",
 +      "gpio": 22,
 +      "configureGPIO": true,
 +      "debounce_delay": 0
 +    },
 +    {
 +      "enabled": true,
 +      "allowskip": false,
 +      "interval": -1,
 +      "aggtime": -1,
 +      "aggfixedinterval": false,
 +      "channels": [
 +        {
 +          "uuid": "24ef24a0-f03a-11e4-8653-2f3eb496bfb8",
 +          "identifier": "Impulse",
 +          "api": "volkszaehler",
 +          "middleware": "http://localhost/middleware.php",
 +          "aggmode": "none",
 +          "duplicates": 0
 +        }
 +      ],
 +      "protocol": "s0",
 +      "gpio": 24,
 +      "configureGPIO": true,
 +      "debounce_delay": 0
 +    },
 +    {
 +      "enabled": true,
 +      "allowskip": false,
 +      "interval": -1,
 +      "aggtime": -1,
 +      "aggfixedinterval": false,
 +      "channels": [
 +        {
 +          "uuid": "2eb394a0-f03a-11e4-b392-930d4a012661",
 +          "identifier": "Impulse",
 +          "api": "volkszaehler",
 +          "middleware": "http://127.0.0.1/middleware.php",
 +          "aggmode": "none",
 +          "duplicates": 0
 +        }
 +      ],
 +      "protocol": "s0",
 +      "gpio": 10,
 +      "configureGPIO": true,
 +      "debounce_delay": 0
 +    },
 +    {
 +      "enabled": true,
 +      "allowskip": false,
 +      "interval": -1,
 +      "aggtime": -1,
 +      "aggfixedinterval": false,
 +      "channels": [
 +        {
 +          "uuid": "68102e10-ef7c-11e4-a495-7f0a84de0257",
 +          "identifier": "28-000004508eec",
 +          "api": "volkszaehler",
 +          "middleware": "http://127.0.0.1/middleware.php",
 +          "aggmode": "none",
 +          "duplicates": 0
 +        },
 +        {
 +          "uuid": "9bee5e60-ef7c-11e4-80af-6b56ff429c5f",
 +          "identifier": "28-00000450a4cc",
 +          "api": "volkszaehler",
 +          "middleware": "http://127.0.0.1/middleware.php",
 +          "aggmode": "none",
 +          "duplicates": 0
 +        },
 +        {
 +          "uuid": "c6cb4b20-ef7c-11e4-8fd6-972990841f29",
 +          "identifier": "28-00000450cbbd",
 +          "api": "volkszaehler",
 +          "middleware": "http://127.0.0.1/middleware.php",
 +          "aggmode": "none",
 +          "duplicates": 0
 +        }
 +      ],
 +      "protocol": "w1therm"
 +    }
 +  ]
 +}
 +
 +</code>
 +
 +Hier eine Beispiel rc.local
 +<code bash rc.loacl>
 +#!/bin/sh -e
 +#
 +# rc.local
 +#
 +# This script is executed at the end of each multiuser runlevel.
 +# Make sure that the script will "exit 0" on success or any other
 +# value on error.
 +#
 +# In order to enable or disable this script just change the execution
 +# bits.
 +#
 +# By default this script does nothing.
 +
 +# Print the IP address
 +_IP=$(hostname -I) || true
 +if [ "$_IP" ]; then
 +  printf "My IP address is %s\n" "$_IP"
 +fi
 +
 +# Part of DS2482 I2C 1-Wire Master to Volkszaehler.
 +echo ds2482 0x18 > /sys/bus/i2c/devices/i2c-1/new_device
 +
 +
 +# GPIOs exportieren und Datenrichtung einstellen.
 +echo 9 > /sys/class/gpio/export
 +echo 11 > /sys/class/gpio/export
 +echo out > /sys/class/gpio/gpio9/direction
 +echo out > /sys/class/gpio/gpio11/direction
 +
 +exit 0
 +
 +</code>
 +
  
 =====Stromlaufplan===== =====Stromlaufplan=====
Zeile 118: Zeile 318:
  
 =====Pollins Raspberry Pi-Hutschienenset===== =====Pollins Raspberry Pi-Hutschienenset=====
-Die Firma Pollin bietet seit kurzem einen [[http://www.pollin.de/shop/dt/ODc4NzkyOTk-/Computer_und_Zubehoer/Hardware/Mainboards_Mainboard_Bundles/Raspberry_Pi_Hutschienen_Set.html|Hutschienenset mit dem Raspberry Pi]] an.\\+Die Firma Pollin bietet seit kurzem einen [[http://www.pollin.de/shop/dt/MjM5NzkyOTk-/Bausaetze_Module/Entwicklerboards/Hutschienen_Gehaeuse_fuer_Raspberry_Pi_Model_B_Kit_4M_Rasp_25_0410000_RPI_.html|Hutschienenset für den Raspberry Pi B]] an.\\
 Die Erweiterung mit Schaltausgängen passt nach Bearbeitung des Gehäuses in das Gehäuse.\\ Die Erweiterung mit Schaltausgängen passt nach Bearbeitung des Gehäuses in das Gehäuse.\\
 {{:hardware:controllers:pollin1.jpg?600|}}\\ {{:hardware:controllers:pollin1.jpg?600|}}\\
hardware/controllers/raspberry_pi_erweiterung_mit_schaltausgaengen.1422896322.txt.gz · Zuletzt geändert: 2015/02/02 17:58 von udo1