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