DL3NDD 2015

Mit Raspberrypi Spannung messen ( Volt ), Werte mit FTP verschicken

ftp upload


Script zum Auslesen des A/D Wandlers MCP3008

Das Script zur Abfrage ist in python geschrieben, das schon auf
Raspberry dabei ist.
Dazu gibt es verschiedene ähnliche Lösungen. Erik Bartmann hat auf
seiner Webseite die Scripte zum freien download.

Da der MCP3008 mit dem SPI Bus arbeitet muss dieser natürlich aktiviert sein.
Standardmäßig ist der SPI Bus geblacklistet.
Konfigurationsdatei
sudo nano /etc/modprobe.d/raspi-blacklist.conf
anschließend blacklisting mit # auskommentieren
#blacklist spi-bcm2708
Raspberry Pi neu booten


Für die Programmierung der GPIO's mithilfe Python muss die Python-Entwicklungsungebung sowie die
RPI.GPIO Bibliothek nachinstalliert werden.
sudo apt-get update
sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio

Mit Rootrechten (sudo) das .py Skript anlegen



und starten


...und schon läuft das Auslesen. (stoppen mit ctrl c)
Der A/D Wandler zeigt zwischen 0 und 1023, d.h. 1 Bit ist das 1/1024 des Voltbereichs.
Diese Kenntnis brauchen wir später noch, um diesen Wert in Volt umzurechnen zu lassen.

Drehe ich jetzt am Poti unsere Schaltung verändert sich die Anzeige.




Empfangene Werte in ein File schreiben

Damit wir auch mit den empfangenen Zahlen was anfangen können, müssen
wir sie irgendwo speichern. Das kleine Python Skript, das ich geschrieben habe, schreibt
ein txt-file in das Home Verzeichnis deines Raspberry.

Mit sudo nano read_mcp3008.py unten dran hängen



f = open schreibt volt.txt in dein Home Verzeichnis.
"w" überschreibt den letzten Wert (es steht also immer nur eine Zahl dort).
Wer alle empfangenen Daten speichern möchte gibt "a" ein.


FTP upload auf einen FTP-Server


Damit die Werte der Akkuspannung der Solarakkus auf der Webseite laufend aktualisiert werden,
müssen sie erstmal dahin gelangen.

Skript anlegen



Der automatische upload in Intervallen wird mit einem cronjob erledig: crontab -e
Diese Detail spare ich mir hier jetzt, bei Fragen bitte PM an mich.
zurück