PiDS-It! FAQ (Frequently Asked Questions, häufig gestellte Fragen)

    Autor   : Dirk Weyand
    Version : 1.1.3
    Datum   : 20/03/2023

Inhalt

1. Allgemeines
2. Häufig gestellte Fragen
2.1 Was muss man bei der Admin IP eingeben ?
2.2 Was ist die Access Whitelist ?
2.3 Wieso werden keine Grafiken im Browser dargestellt ?
2.4 Wie kann man sich Details zu den Grafiken ansehen ?
2.5 Wie funktioniert die Suche ?
2.6 Ich möchte mir die Messwerte von 10:00 bis 12:00 Uhr vom 7.Juli ansehen. Wie geht das ?
2.7 Was ist die Ereignissteuerung ?
2.8 Wie löscht man ein Ereignis ?
2.9 Wozu dient der Heartbeat ?
2.10 Was bewirkt der Wartungs-Button ?
2.11 Wie führe ich die Kalibrierung durch ?
2.12 Wie installiert man das spidev Modul für Python ?
2.13 Wie kann man die Module als Respawn-Prozesse ins System integrieren, wenn keine inittab vorhanden ist ?
2.14 Warum funktioniert die Software bei meinem Raspberry Pi nicht ?
2.15 Fortsetzung folgt . . .
3. Glossar

1. Allgemeines

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.

[ zurück nach oben ]

2. Häufig gestellte Fragen (Frequently Asked Questions)

2.1 Was muss man bei der Admin IP eingeben ?

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.

2.2 Was ist die Access Whitelist ?

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.

2.3 Wieso werden keine Grafiken im Browser dargestellt ?

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

2.4 Wie kann man sich Details zu den Grafiken ansehen ?

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 .

2.5 Wie funktioniert die Suche ?

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.

2.6 Ich möchte mir die Messwerte von 10:00 bis 12:00 Uhr vom 7.Juli ansehen. Wie geht das ?

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.

2.7 Was ist die Ereignissteuerung ?

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.

2.8 Wie löscht man ein Ereignis ?

Ein bereits konfiguriertes Ereignis kann jederzeit wieder entfernt werden. Nutzen Sie dafür folgende Schritte:

  1. Wählen Sie zunächst das gewünschte Ereignis über die bzw. Button aus.
  2. Drücken Sie anschließend den Button hinter dem Ereigniseingabefeld, um das Ereignis dauerhaft zu löschen.

Danach wird der Trigger für das Ereignis entfernt und die Aktion wird bei Erreichen des Pegelstandes nicht mehr ausgeführt.

2.9 Wozu dient der Heartbeat ?

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.

2.10 Was bewirkt der Wartungs-Button ?

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.

2.11 Wie führe ich die Kalibrierung durch ?

Vor der Inbetriebnahme eines PiDS-Systems muss dieses zunächst kalibriert werden. Dafür sind folgende Schritte durchzuführen:

2.12 Wie installiert man das spidev Modul für Python?

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.

2.13 Wie kann man die Module als Respawn-Prozesse ins System integrieren, wenn keine inittab vorhanden ist ?

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.

2.14 Warum funktioniert die Software bei meinem Raspberry Pi nicht ?

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.

2.15 Fortsetzung folgt . . .

. . . fragen Sie einfach !

[ zurück nach oben ]

3. Glossar

AppApplication (Programm)

FAQFrequently Asked Questions

GPIOGeneral Purpose Input/Output

HTTPHypertext Transfer Protocol

IPInternet Protocol

MTAMail Transfer Agent

OSOperating System (Betriebssystem)

PiDSΠ-Druck-Sensor

RPiRaspberry Pi

REBOLRelative Expression Based Object Language

SPISerial Peripheral Interface

TNGThe Next Generation

URLUniform Resource Locator

UTCUniversal Time Coordinated (koordinierte Weltzeit)

[ zurück nach oben ]

Copyright 2015 - 2023 TGD-Consulting   -  WWW.TGD-CONSULTING.DE
erstellt am 20-Mar-2023 um 12:34:56