tronde / raspi-sht21 Goto Github PK
View Code? Open in Web Editor NEWÜberwachung von Temperatur und Luftfeuchtigkeit mit dem Raspberry Pi und dem SHT-21 Sensor
License: Other
Überwachung von Temperatur und Luftfeuchtigkeit mit dem Raspberry Pi und dem SHT-21 Sensor
License: Other
Bisher werden die Grenzwerte für Temperatur und Luftfeuchtigkeit im Shell-Script sht21.sh definiert. Dadurch werden sie bei jedem neuen Deployment überschrieben.
Um die Software deploymentsicher zu gestalten, sind diese Parameter in eine Konfigurationsdatei auszulagern.
Wenn nur eine Alarmierung für die Temperatur gewünscht ist, gibt es zwei Möglichkeiten die Luftfeuchtigkeitswarnung auszuschalten.
Welche Alternative soll umgesetzt werden?
Es ist ein Installationsskript für die kommende Python-Version des Raspi-SHT21 zu erstellen.
Vor der Verarbeitung sind die per POST-Request übermittelten Eingabewerte zu validieren. Es dürfen nur gültige Werte durch die Datei import.php
verarbeitet werden.
Um nicht so viele verschiedene Technologien zu verwenden ist zu überlegen, dass Script sht21.sh in PHP neu zu schreiben.
Diese Überlegung hat keine Priorität. So kann ich aber ein wenig PHP üben, wenn ich dafür Zeit finde.
sudo service raspi-sht21.sh status
Die obige Abfrage liefert stets:
Deamon raspi-sht21.sh is started.
Dies sollte noch behoben werden.
Integration eines Rauchmelders in die Lösung. Bei Auslösung des Sensors, soll eine E-Mail an einen definierten Empfängerkreis versendet werden.
Es soll möglich sein die Alarm-E-Mails an mehrere Emfänger versenden zu können. Dazu sollen Empfangsadressen für die Felder AN, CC und BCC konfiguriert werden können. Pro Feld sollen mehrere Empfänger eingetragen werden können.
Der SHT-21 Sensor hat beim Abruf der Werte einen Fehler zurückgeliefert. Dieser wurde in die Datei sht21-data.csv geschrieben. Die Folge war, dass auf der Webseite kein Diagramm mehr angezeigt wurde.
Im Shellscript ist eine Überprüfung zu implementieren, die Fehler abfängt und nur gültige Werte in die sht21-data.csv schreibt.
Der RASPI-SHT21 soll bei Grenzwertüberschreitung Warnungen und Alarmierungen per E-Mail versenden.
Es ist eine robuste Postfix-Konfiguration zu implementieren.
Benötigte Pakete:
Hinweis zur Postfixkonfiguration auf www.my-it-brain.de beachten.
Es ist ein Updateskript zu erstellen, dass eine vorhandene Raspi-SHT21 Installation aktualisieren kann und die aktuelle Version von Github deployed.
Es ist zu eruieren, ob sich ein SMS-Modul an den Pi anbinden lässt.
Ich habe bisher noch keine Idee, wie dies umgesetzt werden kann. Mal schauen, wie man die Sache am besten angeht.
Beim Testen des E-Mailversandes wurde folgende Fehlermeldung ausgegeben:
ImportError: No module named 'ConfigParser'
Nachdem ich gemäß dieser Info: https://stackoverflow.com/questions/14087598/python-3-importerror-no-module-named-configparser
die entsprechende Zeile in import configparser geändert habe, funktioniert nun auch die E-Mail-Benachrichtigung.
Vielen Dank an Georg S. welcher mir diesen Fehler gemeldet hat.
Die vom Raspi-SHT21 importierten Daten der esp8266-Sensoren sollen auf jeweils einer separaten Webseite ausgegeben und visualisiert werden.
Versand der Logdaten kann z.B. in das logrotate Script (raspi-sht21) integriert werden.
Der Versand der Logdaten sollte nach Wunsch des Auftraggebers konfiguriert werden.
Nach der Installation kann das Programm offenbar nicht auf den I2C-Bus zugreifen. Es können keine Daten vom Sensor gelesen werden.
Vermutlich wird das benötigte Kerlenmodul nicht geladen.
Der I2C-Bus kann über das Tool raspi-config aktiviert werden. Es ist dann ein Neustart des Pi erforderlich.
Das Installationsskript install.sh ist zu überarbeiten. Es muss sicherstellen, dass das Kernelmodul für den I2C-Bus geladen wird.
Der Benutzer "megazocker" hat mir auf der Plattform Ubuntuusers.de einen Verbesserungsvorschlag unterbreitet:
Es kann ja auch zu kalt werden im Kühlschrank also ein unterer Grenzwert für Temperatur wäre toll.
Diese Erweiterung sollte sich integrieren lassen und wird in Version 1.3.0 einfließen.
Die index.php erweitern, so dass die aktuelle Temperatur und Luftfeuchtigkeit auch im Browsertab mit ausgegeben werden.
Leider gibt es den SHT21 nicht mehr zu kaufen, ich habe daher den SHT31. Leider schaffe ich es nicht das Skript anzupassen. Gibt es eine Möglichkeit dieses super Skript zu verändern? An welcher Stelle müsste das geschehen?
Vielen Dank!
Der Urheber hat seinen Quelltext unter eine MIT-Lizenz gestellt. Ein entsprechender Lizenzhinweis ist in deutscher und englischer Sprache in das Repository einzupflegen.
Zusätzlich zu den reinen Minimal- und Maximalwerten soll auch der Timestamp mit ausgegeben werden, an dem diese Werte gemessen wurden.
Dies sollte mit in der Datei calc_avgminmax.py passieren.
Toter Link zum SHT21 Breakout Board in der README.md.
Danke Georg S. für die Meldung.
Aktuell werden durch das Installationsskript folgende Dateien in die entsprechenden Verzeichnisse kopiert.
Es ist zu prüfen, an welchen Stellen stattdessen mit symbolischen Verknüpfungen gearbeitet werden kann.
Die Überwachung funktioniert und mir werden im Browser auch die Werte angezeigt.
Aber in der nohup.out Datei erscheint folgende Meldung bei jedem Intervall:
(standard_in) 1: syntax error
./sht21.sh: Zeile 19: [: -eq: Einstelliger (unärer) Operator erwartet.
./sht21.sh: Zeile 30: [: 51: Einstelliger (unärer) Operator erwartet.
./sht21.sh: Zeile 35: [: 51: Einstelliger (unärer) Operator erwartet.
Für das Release 2.x des Projekts ist ein Dashboard zu entwerfen.
Es ist ein Cleanup-Script zu erstellen, welches alle durch das Script install.sh vorgenommenen Änderungen und Konfigurationen rückgängig macht und installierte Pakete entfernt.
Es wird die Integration eines Wassersensors gewünscht, um Überschwemmungen, defekte Wasserzuleitungen usw. erkennen zu können.
Es ist zu evaluieren, ob evlt. schon der SHT21 zu diesen Zwecken taugt. In jedem Fall sollte aber nach einem besser geeigneten Sensor geschaut werden. Da eine integrierter Temperatursensor für diesen Einsatzzweck nicht benötigt wird.
Es ist eine Datei sht21.php zu erstellen. Diese Datei generiert eine HTML-Seite, welche die aktuell gemessene Temperatur und Luftfeuchtigkeit des SHT21 Sensors sowie ein dazu passendes RRDtool-Diagramm anzeigt.
Auf dem Dashboard ist ein Link auf diese Seite zu setzen.
Wenn ich setup.py per sudo aufrufe bekomme ich folgende Fehlermeldung:
Place files in webroot
cp: der Aufruf von stat für 'www/*' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
im richtigen Verzeichnis habe ich nun nachträglich
sudo cp -rpv www/* /var/www/html
ausgeführt und schon sind die Dateien wo sie hingehören.
Danke für das tolle Skript!
Der SSH Server des Raspi-SHT21 ist so zu konfigurieren, dass man ausschließlich via SSH-Key-Authentifizierung darauf zugreifen kann.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.