Software
Die Software besteht aus folgenden Elementen:
- Betriebssysten Raspberry Pi OS (neueste Version)
- Hardware-nahes Script 'Adafruit' für das Protokoll des Sensors DHT22
- Standardpacket matplotlib für die Darstellung von gemessenen Wetterdaten
- Python-Script der Anwendung 'Smart Home'
Ausserdem benötigen wir noch 2 Files im Programm-Ordner:
- Ein gif-Bild mit Namen tablet2.gif [9 KB]
(ca. 100x80 pxl)
- Ein Audiofile mit Namen evacuate.mp3 [22 KB]
zur Alarmierung
Zuerst erstellen wir einen neuen Programm-Ordner (in diesem Beispiel mit dem Namen 'PRIG' und erteilen ihm Schreibrechte:
Erstellung eines Programmordners 'PRIG'
3 Files werden in den neu erstellten Ordner (PRIG) kopiert:
SmartHome_6.10.2020 [75 KB]
provisorisches Script (lauffähig):
Weitere 2 Files:
GIF-Bild (ca180 x 90 pxl) in zif-Format:
tablet2.gif [9 KB]
mp3-Format:
evacuate [22 KB]
Aufbau des Scrips 'Smart Home'
Das Script besteht aus einem Main Loop und insgesamt 8 Teilprogramme (Threads), die Quasi-parallel ausgeführt werden:
Threading
Definition der Teilprogramme
Die Teilprogramme bestehen im Prinzip je aus einem Loop, der die einzelnen Sensoren einliest und in einem csv-Speicher ablegt für eine grafische Darstellung der Daten. In der Abbildung ist ersichtlich, dass der Thread 1 für den Sensor DHT22 verhindert wird. Für den neuen Sensor DS18B20 wurde der Thread 7 (task 7) neu erstellt.
task1 - Aussensensor DHT22 (inaktiv)
task2 - Innensensor DHT22
task3 - Verschiedene (u.a. Mitternacht-Reset)
task4 - Druck- und Temperatursensor BMP280
task5 - CPU-Temperaturaufzeichnung
task6 - Gas-Sensor
task7 - Smart Home (Relaissteuerung und Aussensensor DS18B20)
task8 - Timer
Auszug aus dem Script task 7 (Smart Home) zum Auslesen der Temperatur von Sensor DS18B20:
Auslesem der Temperatur
Anpassungen DS18B20
- Sensor-Adresse
- Plot Temperature