Autor : Dirk Weyand Version : 1.1.3 Datum : 20/03/2023
PiDS-It! ist eine von TGD-Consulting entwickelte Software, welche die Nutzung eines Raspberry Pi als Füllstandsanzeige mit optionaler Steuerung zur automatischen Nachspeisung für Zisternen, Tanks und Regenwassertonnen ermöglicht. Die Management Software PiDS-It! ist eine embedded App und besteht aus mehreren Modulen,
Alle Module benötigen eine REBOL3-Laufzeitumgebung/Interpreter. Weitere Informationen zum π-Druck-Sensor (PiDS) und zur PiDS-It! Management Software erhalten Sie hier.
Dies sind die FAQ zu PiDS-It!, neue Fragen können Sie hier stellen.
Bei der Admin IP werden die IP-Adressen der Rechner eingetragen, welche den PiDS über das Webinterface administrieren dürfen. Die Admin IP beschränkt dabei den Zugriff auf die "config.html" Seite des PiDS und legt den IP-Filter des PiDS-It! Webserver-Moduls für diese Seite entsprechend fest.
Achtung: Nur berechtigte IP-Adressen können Änderungen an den Einstellungen der PiDS-It! Management Software durchführen. In der Voreinstellung sind dies nur Rechner, welche sich im selben IP-Segment wie der PiDS befinden. Bei Bedarf kann die Zugriffsmöglichkeit auf dedizierte IP-Adressen eingeschränkt werden.
Mit Hilfe der Access Whitelist wird der IP-Filter des PiDS-It! Webserver-Moduls für die Seiten "show.html" und "search.html" sowie für alle übrigen Ressourcen festgelegt. Falls bei Access Whitelist eine IP-Adresse (z.B. 192.168.1.100) oder ein IP-Segment (z.B. 192.168.1.0) eingetragen wird, so ist der Zugriff auf den Webserver des PiDS nur von Rechnern mit diesen IP-Adressen möglich. Ist die Access Whitelist leer, ist der Zugriff auf den Webserver nicht eingeschränkt und von allen Rechnern aus möglich.
Nach dem erstmaligen Start der PiDS-It! Management Software ist noch keine ausreichende Anzahl an Messwerten vorhanden, um einen Verlauf des Pegelstandes als Grafik (Plot) darzustellen. Sie müssen daher die Software mindestens 24h in Betrieb haben, bevor genügend Daten zur Generierung der Plots vorhanden sind. Die Plots werden in einem nächtlichen Batch jeweils um kurz vor Mitternach erstellt und als Resource dem Webserver-Modul zur Verfügung gestellt.
Darüber hinaus kann es nur zwei Gründe geben, warum keine Grafiken dargestellt werden:
Hinweis: Das Kommandozeilenprogramm gnuplot installiert man so:
sudo apt-get update && sudo apt-get install gnuplot
Klicken Sie dazu einfach auf die Grafik und sie wird in einem separaten Browserfenster in original Größe dargestellt. Sollten dadurch immer noch nicht alle gewünschten Details erkennbar sein, können Sie mit Hilfe der Suche detailiertere Plots erstellen, siehe auch folgenden Abschnitt 2.5 .
Die Suche erreicht man mit Hilfe des entsprechenden Buttons von der Hauptseite des PiDS vom Browser aus. Die Suchfunktion bietet mehrere Möglichkeiten. Zulässige Suchparameter sind dabei entweder
Es werden nur die Grafiken passend zur Suche dargestellt. Da die Plots bei der Suche dynamisch generiert werden, können einige Sekunden vergehen bis das Browserfenster aktualisiert wird.
Geben Sie dafür zunächst das Datum bei der Suche ein:
7-Jul-2014
Es werden nun die Grafiken für den 7.Juli ( Tag / Woche / Monat / Jahr ) angezeigt.
Präzisieren Sie ihre Suche nun für den gewünschten Zeitraum. Die Uhrzeiten müssen dabei durch ein Space voneinander getrennt sein, siehe Beispiel:
10:00 12:00
Jetzt wird zusätzlich eine Grafik für den genauen Zeitraum im Browser dargestellt.
Anstelle der obigen iterativen Suche kann auch direkt der gewünschte Zeitraum mit Beginn und Ende im DD-MMM-YYYY/HH:MM Format eingegeben werden.
7-Jul-2014/10:00 7-Jul-2014/12:00
Da bei dieser Art der Suche mehr Zeichen im Suchfeld einzugeben sind, ist die iterative Suche intuitiver und anschaulicher und führt daher auch meistens schneller zum erwünschten Ergebnis.
Mit Hilfe der optionalen Ereignissteuerung lassen sich automatisch pegelabhängige Ereignisse auslösen. Es gibt zwei unterschiedliche Arten von Ereignissen:
Bei GPIO-Ereignissen wird ein konfigurierbarer GPIO des Raspberry Pi pegelabhängig geschaltet (Low|High). Auf diese Weise kann z.B. eine automatische Nachspeisung der Zisterne mit entsprechenden Relais-Modulen und Magnet-Ventilen realisiert werden. Das Eingabefeld bei diesem GPIO-Ereignis sieht folgendermaßen aus:
26 Nachspeisung
Dabei entspricht 26 dem zu schaltenden GPIO und Nachspeisung ist ein beliebiger Kommentar für das Ereignis, quasi als Merkhilfe zur Funktion des GPIOs gedacht.
Das gültige Eingabeformat bei GPIO-Ereignissen ist <Zahl|Nummer des GPIO><Space><Kommentar>.
Das Eingabeformat bei Shell-Befehlen darf dagegen nicht mit <Zahl><Space> beginnen, ansonsten ist es beliebig. Folgende Platzhalter $level, $cm oder $date im Eingabefeld werden beim Auslösen des Ereignisses durch die aktuellen Werte ersetzt. Die Parameter haben folgende Bedeutung:
Über Ereignisse, die Shell-Befehle auslösen, kann zum Beispiel auch eine Benachrichtigung per E-Mail bei Erreichen oder Unter/Überschreiten eines Pegels versendet werden. Voraussetzung dafür ist dann allerdings, dass ein entsprechender MTA oder Mail-Client auf dem RPi vorhanden ist.
Ein bereits konfiguriertes Ereignis kann jederzeit wieder entfernt werden. Nutzen Sie dafür folgende Schritte:
Danach wird der Trigger für das Ereignis entfernt und die Aktion wird bei Erreichen des Pegelstandes nicht mehr ausgeführt.
Die Funktion des Heartbeat kann zur Live-Überwachung oder zur Datenübermittlung an einen externen Server genutzt werden. Bei aktiviertem Heartbeat wird bei jedem geloggten Messwert ein HTTP-Get Request an den externen Server gesandt. Die oben genannten Platzhalter $level, $cm oder $date können in der Heartbeat-URL ebenfalls zur Parameterübergabe an den externen Server verwendet werden.
Eine regelmäßige Inspektion und Wartung erhöht neben der Aufrechterhaltung der einwandfreien Funktion auch die Lebensdauer ihrer Zisterne. Der Wartungszyklus kann je nach Art der Zisterne variieren. Insbesondere die Wartungshäufigkeit von Filtern unterscheidet sich individuell nach Grundstücks- und Dachbeschaffenheit. Damit das kostbare Nass auch in der Zisterne landet und nicht direkt bei verstopften Filtern in den Überlauf entsorgt wird, ist daher eine regelmäßige Wartung erforderlich.
Den Zeitraum zwischen den Wartungen konfigurieren Sie als Wartungsintervall in den PiDS-It! Systemeinstellungen. Zur eigenen Erinnerung wird auf ihrer PiDS-It! Homepage immer der Zeitpunkt der nächsten Wartung angezeigt. Durch Anklicken des Buttons wird nur ein interner Timer auf das konfigurierte Wartungsintervall zurückgesetzt und der Countdown bis zur nächsten Inspektion beginnt erneut. Ähnlich wie bei einer Service-Anzeige beim Auto, dessen Rücksetzung aber normalerweise durch eine Kfz-Werkstatt und nicht wie bei PiDS-It! durch einen selbst erfolgt.
Vor der Inbetriebnahme eines PiDS-Systems muss dieses zunächst kalibriert werden. Dafür sind folgende Schritte durchzuführen:
Um das spidev Python Modul zu installieren, geben Sie bitte folgenden Befehlssequenzen nacheinander in der Shell als User pi ein:
sudo apt-get install python-dev mkdir python-spi && cd python-spi wget https://raw.github.com/doceme/py-spidev/master/setup.py wget https://raw.github.com/doceme/py-spidev/master/spidev_module.c touch README.md && touch CHANGELOG.md sudo python setup.py install
Hinweis: Damit das spidev Modul für Python überhaupt genutzt werden kann, muss per sudo raspi-config SPI im Kernel aktiviert sein.
Falls bei ihrem Raspbian keine /etc/inittab zu finden ist, wird die aktuelle Jessie/Stretch Distribution anstelle von Wheezy verwendet. Bei Raspbian Jessie/Stretch werden die Prozesse nicht mehr über das init-System sondern per systemd gestartet. Eine /etc/inittab ist daher nur bei Wheezy basierten Distributionen zu finden.
Um das Webserver-Modul von PiDS-It! ab Jessie als Respawn-Prozess ins System einzubinden, muss nur der folgende systemd-Service per sudo nano /etc/systemd/system/WebserverPiDS.service eingetragen werden:
[Unit] Description=PiDS-It! Webserver-Modul, respawn After=network-online.target Wants=network-online.target [Service] WorkingDirectory=/home/pi/pids ExecStart=/home/pi/pids/bin/r3 Webserver.r User=pi Restart=always RestartSec=1 StandardOutput=append:/home/pi/pids/nohup.out StandardError=append:/home/pi/pids/nohup.out [Install] WantedBy=multi-user.target
Anschließend wird der Service noch per
sudo systemctl enable WebserverPiDS.service
aktiviert und fortan wird beim Hochfahren des Raspberry Pi das PiDS-It! Webserver-Modul automatisch als Respawn-Prozess gestartet.
Das PiDS-It! Management Software Modul bindet man übrigens auf die gleiche Art und Weise per sudo nano /etc/systemd/system/PiDSItMgmt.service
[Unit] Description=PiDS-It! Mgmt-Modul, respawn After=network.target [Service] WorkingDirectory=/home/pi/pids ExecStart=/home/pi/pids/bin/r3 PiDSIt.r User=pi Restart=always RestartSec=1 StandardOutput=append:/home/pi/pids/nohup.out StandardError=append:/home/pi/pids/nohup.out [Install] WantedBy=multi-user.target
und
sudo systemctl enable PiDSItMgmt.service
ein.
Falls bei ihrem Raspberry Pi die Software ohne erkennbaren Grund nicht funktionieren will, verwenden Sie aller Wahrscheinlichkeit nach die 64-bit Version des Raspberry Pi OS (arm64). Im Softwarebundle ist allerdings nur der REBOL3-Interpreter für die gängige 32-bit Version des Raspberry Pi OS (armhf) enthalten.
Wechseln Sie in das Installationsverzeichnis der Software, um mit diesem Befehl:
file bin/r3 bin/r3: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=c73a4fb5e845483360fcd0717e7c670dba7e20c9, stripped
die Art des Binaries zu ermitteln, welche auf ihrem System installiert ist.
Entweder Sie befolgen dann die hier aufgeführten Schritte, um das 32-bit Rebol3 Binary verwenden zu können, oder laden die 64-bit Version von Rebol3 herunter und ersetzen damit die vorhandene r3 Datei im bin Verzeichnis der Software.
Oder Sie installieren das - für alle Raspberry Pi Modelle empfohlene - Raspberry Pi OS Lite Image in 32-bit.
. . . fragen Sie einfach !
App | Application (Programm) |
FAQ | Frequently Asked Questions |
GPIO | General Purpose Input/Output |
HTTP | Hypertext Transfer Protocol |
IP | Internet Protocol |
MTA | Mail Transfer Agent |
OS | Operating System (Betriebssystem) |
PiDS | Π-Druck-Sensor |
RPi | Raspberry Pi |
REBOL | Relative Expression Based Object Language |
SPI | Serial Peripheral Interface |
TNG | The Next Generation |
URL | Uniform Resource Locator |
UTC | Universal Time Coordinated (koordinierte Weltzeit) |
Copyright 2015 - 2023 TGD-Consulting - WWW.TGD-CONSULTING.DE
erstellt am 20-Mar-2023 um 12:34:56