Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Löten des Temperaturmoduls
- Schritt 2: Bau unseres DCDC-Konverterkabels
- Schritt 3: Installieren Ihres Surfsticks
- Schritt 4: Erstellen Sie eine PostgreSQL-Datenbank
- Schritt 5: Vorbereiten der SD-Karte
- Schritt 6: Installieren des Raspberry und Verbinden mit ihm über SSH
- Schritt 7: Logger installieren
- Schritt 8: Installieren des Loggers (Temperaturmodul)
- Schritt 9: Pyhton-Skript herunterladen und anpassen
- Schritt 10: Installation des WittyPi-Moduls
- Schritt 11: Nehmen Sie einige Änderungen im Java Virtual Machine-Setup vor
- Schritt 12: Cron-Job einstellen
- Schritt 13: Alles zusammenfügen
- Schritt 14: Endgültige Installation
Video: Automatisiertes Flusswasserüberwachungssystem - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Mit dieser Anleitung wird die Entwicklung eines automatisierten Flusswasser-Monitoring-Systems dokumentiert. Die überwachten Parameter sind Wasserstand und Wassertemperatur. Ziel dieses Projektes war es, einen kostengünstigen und unabhängigen Logger zu entwickeln, der mit einer Datenbank verbunden ist. Der Wasserstand wird mit einem speziellen QR-Level überwacht. Eine Kamera im Pi macht alle 15 Minuten ein Bild. Die QR-Codes in diesem Bild werden per Software entschlüsselt und geben Auskunft über den aktuellen Wasserstand. Die Wassertemperatur wird mit einem DS18B20-Sensor gemessen.
Lieferungen
- Raspberry Zero WH
- WittyPi Mini
- Raspberry Pi Kameramodul v2.1
- Huawei E3531 SurfStick
- SIM-Karte (ThingsMobile)
- DC-DC-Abwärtswandler
- DS18B20 Digitalthermometer
- OTG Micro-USB-Kabel
- Ein Micro-USB-Kabelende
- Fensterglas
- Abgedichtetes Gehäuse (G258)
- Kabelverschraubung
- Schraubklemmenblock 3-polig
- 4, 7kOhm Widerstand
- Platine blanko 65x30mm
- 40-poliger Staking-Header
- 4 x M3x20 Schrauben
- 8 xM3-Schrauben
- Telefonkabel
- Lautsprecherkabel
Schritt 1: Löten des Temperaturmoduls
In diesem Schritt erstellen wir ein Temperaturmodul von Grund auf. Er hat die Größe eines pHAT und kann an den 40-Pin GPIO des Pi angeschlossen werden. Diese Methode ermöglicht es uns, den DS18B20-Sensor sicher am Raspberry Pi zu montieren.
- Zuerst müssen wir den 40-poligen Staking-Header auf die 60x35 mm leere Platine löten.
- Setzen Sie die Schraubklemmenleiste und den Widerstand wie in der Abbildung gezeigt ein
- Verbinden Sie den Widerstand mit den äußeren Pins des Klemmenblocks
- Löten Sie den Widerstand und die Pins zusammen
- Löten Sie die Kabel (schwarz, rot und gelb) genau an die Pins des Staking Headers und an die Pins der Klemmleiste
- Um die Befestigungslöcher zu bohren, montieren Sie zuerst das Modul an Ihrem Raspberry Pi Zero, dann bohren Sie mit einem 3mm Bohrer durch die vorhandenen Löcher Ihres Raspberry Pi in Ihr neues Modul.
- Schließlich können Sie Ihren DS18B20-Sensor an Ihr Modul anschließen, indem Sie die Kabel Ihres Sensors an die entsprechenden Farben auf Ihrem Board anbringen.
Schritt 2: Bau unseres DCDC-Konverterkabels
Um unseren Raspberry Pi mit Strom zu versorgen, müssen wir die 12 V, die wir von unserer Batterie erhalten, in 5 V umwandeln. Wir verwenden einen DC-DC-Abwärtswandler, um die Spannung zu reduzieren.
- Löten Sie das schwarze Kabel von Ihrem Lautsprecherkabel an den Anschluss mit der Bezeichnung GND
- Löten Sie das rote Kabel an den Anschluss mit der Bezeichnung IN+
- Löten Sie das schwarze Kabel von Ihrem Micro-USB-Kabel an den Anschluss mit der Bezeichnung GND
- Löten Sie das rote Kabel von Ihrem Micro-USB-Kabel an den Anschluss mit der Bezeichnung OUT+
- Schnitt der im Bild mit dem roten Pfeil markierten Schaltung
- Schweißen Sie die Bondpads zusammen, um einen festen 5V-Ausgang zu erhalten (blauer Pfeil)
Schritt 3: Installieren Ihres Surfsticks
Um eine Internetverbindung herzustellen, müssen wir unseren Surfstick mit unserem Raspberry Pi verbinden. Zuerst müssen wir einige Konfigurationen vornehmen:
- Legen Sie eine SIM-Karte des Mobilfunkanbieters Ihrer Wahl in Ihren Surfstick ein. In diesem Beispiel verwenden wir eine SIM von Things Mobile.
- Verbinden Sie Ihren Surfstick über USB mit Ihrem Computer.
- In Ihrem Browser sollte sich ein Fenster öffnen.
- Ändern Sie unter Einstellungen>Profilverwaltung den APN auf den Ihres Mobilfunkanbieters. Für Things Mobile ist es "TM".
- Aktivieren Sie die Roaming-Funktion unter Einstellungen > Mobile Verbindung und 'Mobile Daten einschalten'.
- Klicken Sie auf Übernehmen.
- Auf der Startseite können Sie überprüfen, ob eine Verbindung besteht.
- Jetzt können Sie loslegen, trennen Sie Ihren Surfstick.
- Der Surfstick kann ohne weitere Konfigurationen mit Ihrem Raspberry verbunden werden.
Schritt 4: Erstellen Sie eine PostgreSQL-Datenbank
In diesem Schritt richten wir unsere Datenbank ein. Wir nutzen das kostenlose Kontingent-Angebot von Amazon Web Services.
- Erstellen Sie zuerst ein kostenloses Konto bei AWS:
- Folgen Sie diesem Tutorial, um Ihre PostgreSQL-Datenbank zu erstellen und zu erfahren, wie Sie eine Verbindung dazu herstellen:
Schritt 5: Vorbereiten der SD-Karte
Zuerst müssen Sie das Raspian Stretch Lite-Image herunterladen:
Raspberry Pi-Downloads
Jetzt müssen wir das Image auf eine leere SD-Karte (mindestens 16 GB) flashen. Legen Sie die SD-Karte in Ihren SD-Kartenleser ein. Laden Sie Balena Etcher herunter und installieren Sie es auf Ihrem Computer:
www.balena.io/etcher/
Öffnen Sie Balena Etcher, wählen Sie die.zip-Datei Ihres Raspian-Images, das Sie zuvor heruntergeladen haben. Wählen Sie unter Laufwerk auswählen Ihre SD-Karte aus. Klicken Sie auf Flashen!
Schritt 6: Installieren des Raspberry und Verbinden mit ihm über SSH
Bevor wir unseren Raspberry Pi verwenden können, müssen wir einige Ersteinstellungen vornehmen.
- Stecken Sie Ihre SD-Karte in Ihren Raspberry Pi und verbinden Sie sie mit einem Monitor, einer Tastatur und einer Maus.
- Folgen Sie den Einrichtungsschritten Ihres Raspberry Pi [WLAN, Sprache, Zeitzone]
- Aktivieren Sie SSH über das Terminal auf Ihrem PI:sudo raspi-configgo, um: 5 SchnittstellenoptionenSSH aktivieren
-
Laden Sie Termius auf Ihren Computer herunter. Dieses Programm macht es einfach, sich über SSH.1 mit unserem Raspberry Pi zu verbinden. https://termius.com/2. Machen Sie ein Konto
3. Erstellen Sie NEUEN HOST4. Geben Sie Ihrem Raspberry ein Label (wählen Sie einen Namen) 5. Geben Sie die IP-Adresse Ihres PI aus dem NETZWERK ein, in dem er angemeldet ist (wenn Sie die IP-Adresse nicht kennen, können Sie sie mit einem Programm namens "ADVANCED IP SCANNER" suchen.) 7. Geben Sie Ihren Benutzernamen ein (pi standardmäßig, wenn nicht geändert) 8. Geben Sie Ihr Passwort ein (standardmäßig Himbeere, wenn nicht geändert) 9. Klicken Sie auf Speichern 10. Doppelklicken Sie auf Ihren neu erstellten Host 11. Eine Meldung erscheint -> klicken Sie auf Ja
Ihr Raspberry sollte über SSH mit Ihrem Computer verbunden sein
Schritt 7: Logger installieren
- Aktivieren Sie die Kamera in den Schnittstellenoptionen:sudo raspi-configgo to: 5 SchnittstellenoptionenEnable Camerasudo reboot
- Erstellen Sie ein neues Verzeichnis in Ihrem /home/pi-Verzeichniscd /home/pisudo mkdir Desktop
- Erstellen Sie eine neue Python-Datei im Desktop-Verzeichniscd Desktopsudo nano ctrl+orufen Sie die Datei qrbooftemp.pyenterctrl+x auf
- Paket pyboof installieren (numpy und py4j werden automatisch installiert) dies kann bis zu 40 min dauern.sudo pip3 install pyboof==0.33.1
- Führen Sie ein Update aus (wenn Sie dies nicht tun, können Sie später Probleme beim Installieren von Paketen bekommen)sudo apt-get updatesudo apt-get install libpq-dev
- Installieren Sie postgreSQL und psycopg2, um mit der postgreSQL-Datenbank über Pythonsudo zu interagieren apt-get install postgresqlsudo pip3 install psycopg2
Schritt 8: Installieren des Loggers (Temperaturmodul)
Um das Temperaturmodul zu installieren, müssen Sie das Modul auf Ihrem Raspberry Pi mit einem daran befestigten DS18B20-Sensor montieren. Das Modul wird über den 40-Pin-Header montiert.
- Aktivieren Sie 1-Wire in den Schnittstellenoptionensudo raspi-configgo, um: 5 SchnittstellenoptionenEnable 1-Wiresudo reboot
- setze 1-Wire-Pin auf Pin 23 und gpu_mem=256sudo nano /boot/config.txt append dtoverlay=w1-gpio, gpiopin=23, pullup=on an das Ende der Dateiändere gpu_mem=128 zu gpu_mem=256
- 1-Wiresudo modprobe w1-gpiosudo modprobe w1-thermsudo reboot aktivieren
- finde die Adresse deines DS18B20 heraus, diese sollte mit 28 beginnen- …cd /sys/bus/w1/deviceslsschreibe die Adresse auf, sie wird später im Python-Skript benötigt
Schritt 9: Pyhton-Skript herunterladen und anpassen
- Laden Sie das Python-Skript auf Ihren Computer herunter und öffnen Sie es in einem Texteditor
- Kopieren Sie das komplette Skript in Ihre Zwischenablage (Strg+a, Strg+c)
- Gehen Sie zu Ihrer zuvor erstellten Python-Datei cd /home/pi/Desktopsudo nano qrbooftemp.py
- Machen Sie einen Rechtsklick, um das Skript einzufügen
- Ändern Sie die Adresse des Temperatursensors in diejenige, die Sie zuvor notiert haben
- Ändern Sie die Einrichtung der Postgresql-Verbindung auf Ihre spezifischen Informationen, wie im Skript angegeben
- Speichern und beendenStrg+oenterStrg+x
Schritt 10: Installation des WittyPi-Moduls
- Laden Sie die Installationsdatei von Witty Pi wget herunter
- Führen Sie das Installationsskript sudo sh installWittyPi.sh. aus
- Neustart sudo reboot
Schritt 11: Nehmen Sie einige Änderungen im Java Virtual Machine-Setup vor
Dieser Schritt ist notwendig, um sicherzustellen, dass die JVM startet, wenn das Python-Skript ausgeführt wird.
- Gehen Sie in das Verzeichnis py4j und öffnen Sie jama_gateway.py cd /usr/local/lib/python3.5/dist-packages/py4jsudo nano jama_gateway.pyset DEFAULT_CALLBACK_SERVER_ACCEPT_TIMEOUT = 20
- Gehen Sie in das Verzeichnis pyboof und öffnen Sie _init_.pycd /usr/local/lib/python3.5/dist-packages/pyboofsudo nano _init_.pyset while time.time() - start_time < 20.0
Schritt 12: Cron-Job einstellen
In diesem Schritt setzen wir einen Cronjob, wenn der Raspberry bootet. Auf diese Weise wird jedes Mal, wenn der Pi aufwacht, unser Python-Skript ausgeführt.
- Cronjob setzen und in eine Log-Datei schreiben. Dies macht die Fehlerbehebung effizienter.crontab -e@reboot sleep 20 && sudo python3 /home/pi/Desktop/qrbooftemp.py >> /home/pi/Desktop/log.txt
- Hängen Sie eine weitere Zeile an crontab an. Diese Zeile stellt sicher, dass der Raspberry Pi trotzdem neu startet, wenn WittyPi fehlschlägt.@reboot sleep 1500 && sudo rebootctrl+oenterctrl+x
Schritt 13: Alles zusammenfügen
- Stellen Sie sicher, dass Ihr Pi ausgeschaltet ist, wenn nicht, fahren Sie es heruntersudo shutdown -h now
- Stapeln Sie Ihren WittyPi auf Ihren Raspberry Pi und das Temperaturmodul darauf.
- Schrauben Sie die 3 Module zusammen
- Verbinden Sie das Kameramodul mit dem CSI-Port des Raspberry Pi Zero
- Verbinden Sie Ihren Surfstick über das USB-OTG-Kabel mit Ihrem Raspberry Pi
- Schließen Sie das Stromkabel am WittyPi an (nicht am Raspberry Pi!)
- Legen Sie alles in das Gehäuse und schrauben Sie den Deckel fest
- Bringen Sie das Stromkabel an Ihrem Akku an
- Herzlichen Glückwunsch, Ihr Logger sollte laufen!
Schritt 14: Endgültige Installation
Diese Bilder zeigen den montierten Logger mit installiertem QR-Code Wasserstand.
Für optimale Ergebnisse wurden die Logger unter einer Brücke installiert. Direkte Sonneneinstrahlung sollte vermieden werden.