======RaspberryPi-Erweiterung klein====== Da häufiger nach einer kleinen Raspberry Pi-Erweiterung gefragt wurde, hier eine Version mit 2x S0-Eingängen und 1x 1-Wire-Busmaster-Eingang.\\ =====Features===== * Zwei DIN gerechte S0-Eingänge mit aktiver Impulsformung und Entprellung der S0-Eingangssignale (Mindestimpulsbreite und Pausen > 30ms) * Ein 1-Wire-Eingang mit einem Busmaster zum Anschluss von ( fast ) beliebig vielen 1-Wire-Sensoren und/oder [[hardware:controllers:1-wire-schalteinheit|1-Wire-Schalteinheiten]].\\ * Die Spannungsversorgung des Raspberry Pi erfolgt über die Klemmen der Erweiterung.\\ Das Netzteil sollte mindestens 1,5A liefern können. z.B.: [[http://www.exp-tech.de/Zubehoer/Netzteil/HNP15-050-5V-2-5A-Steckernetzteil-15W.html |von Exp-Tech]]\\ Wird die Erweiterung an einem Banana Pi angeschlossen, muss die Spannungsversorgung über die normale µUSB-Buchse erfolgen.\\ Wir sind derzeit leider nicht in der Lage fertige Hardware anzubieten\\ =====Stromlaufplan===== {{:hardware:controllers:raspi-b_2xs0_1x1-wire_1_stromlaufplan.png?800|}}\\ Der 1kOhm bis 4,7kOhm Widerstand, der üblicherweise von 1-Wire-Data gegen +Ub geschaltet ist,\\ wurde extra nicht auf der Leiterplatte platziert, um diesen einfach an Leitungslänge und Sensoren anpassen zu können.\\ Er kann daher extern angeschlossen werden.\\ In den meisten Fällen wird er nicht benötigt.\\ =====Bestückungsplan und Anschlussplan===== {{:hardware:controllers:raspi-b_2xs0_1x1-wire_1_anschluss-_und_bestueckungsplan.png?800|}}\\ Sowohl die S0-Eingänge als auch der 1Wire-Eingang wird mittels vzlogger im Volkszaehler erfasst. ^Klemmen^vzlogger.conf^GPIO-RPi^ |S0/0|GPIO17|GPIO17| |S0/1|GPIO18|GPIO18| =====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_latest.zip|Image-Quelle]]\\ Darauf sind installiert: vzlogger, die middleware, das Frontend und phpmyadmin.\\ 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]] 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 reboot''\\ Das Frontend mit einem Browser aufrufen und vorhandene Kanäle löschen und eigene Kanäle erstellen. Die UUIDs merken.\\ Cockies im Browser erlauben.\\ Danach wieder mit Putty einloggen.\\ Jetzt müssen die Dateien unter /etc : vzlogger.conf und rc.local editiert werden.\\ ''sudo nano /etc/vzlogger.conf''\\ ''sudo nano /etc/rc.local ''\\ Die rc.local ergänzen, wenn nicht schon vorhanden.\\ In der vzlogger.conf müssen die IDs der 1Wire-Sensoren und die zugehörige UUID eingetragen werden. Vorhandene IDs und UUIDs werden überschrieben.\\ Die IDs der angeschlossenen 1Wire-Sensoren bekommt man mit dem Befehl ''ls /sys/bus/w1/devices/'' heraus.\\ 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.\\ Wenn alles läuft, die 'verbosity' auf '0' setzen.\\ Danach reboot. Hier eine Beispiel vzlogger.conf: { "retry": 0, "verbosity": 15, "log": "/var/log/vzlogger/vzlogger.log", "local": { "enabled": false, "port": 8081, "index": false, "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": 30, "aggtime": -1, "aggfixedinterval": false, "channels": [ { "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" } ] } Hier eine Beispiel rc.local #!/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 exit 0 =====CAD-Arbeits-Datei===== {{:hardware:controllers:raspi_2xs0_1x1-wire_rev4.rar|}}\\ Der Target-Arbeitsfile, der mit Target3001 geöffnet und bearbeitet werden kann.\\