Entwickle dein eigenes SmartHome System in Python
Verknüpfe Sensoren mit deiner SmartHome Zentrale. Hierfür verwenden wir ESP`s und einen Raspberry Pi.
Description
Hi! In diesem Kurs zeige ich dir, wie du dein eigenes Smart-Home System Bauen und Programmieren kannst.
Auf Seiten der Hardware verwenden wir einen Raspberry Pi und mehrere ESP`s. Für die Kommunikation zwischen den Sensoren und der Zentrale werden wir auf das MQTT Protokoll zurückgreifen. Um eine visuell ansprechende Schnittstelle zwischen Anwendung und Benutzer zu ermöglichen werden wir einen Webserver Programmieren, welcher uns alle relevanten Informationen in Form einer HTML-Webseite aufbereitet, welche wir mit CSS optisch etwas aufpeppen werden. Die Programmierung der ESP`s werden wir in C++ vornehmen. Unser Webserver wird in Python programmiert.
Dieser Kurs gibt dir die komplette Anleitung - vom theoretischen Verständnis, über die praktische Funktionsweise bis hin zur Programmierung der einzelnen Module.
Am Ende erhälst du ein vollständig funktionsfähiges Smart-Home System mit mehreren Sensoren und Erweiterungsmöglichkeit in allen Bereichen.
Die Programme sind so kurz und einfach wie möglich gestaltet, sodass du auch ohne Profiwissen die Funktionsweise überblicken kannst.
Es würde mich sehr freuen, wenn ich dein Interesse für die Thematik gewinnen konnte und dich sehr bald im Kurs willkommen heißen darf.
Das Python Flask Framework
Für Python gibt es unzählige hilfreiche Frameworks, um aus wenig Code viel rauszuholen. Das Python Flask Framework ist eines davon. Es ermöglicht die Programmierung eines Webservers in Python. Über Platzhalter im HTML Dokument können wir später zur Laufzeit immer die aktuellsten Sensorwerte aus dem Backend in das Frontend bringen und damit ohne großen Aufwand unsere Informationen visualisieren. Mit einem zusätzlichen CSS Stylesheet bleiben dir hier keine Wünsche offen und du kannst gestalterisch deine Webseite auf ein neues Level bringen.
Raspberry Pi
Es gibt wohl keinen bekannteren Einplatinencomputer als den Raspberry Pi. In diesem Kurs dient er uns als permanent aktiver Computer. Durch seine hohe Effizienz ist er kostengünstig im Dauerbetrieb und dennoch sehr leistungsfähig. Diese Eigenschaften werden wir nutzen, um den Webserver auf den Raspberry Pi auszulagern. Somit ist es auch bei ausgeschalteten Computer möglich, die Smart-Home Zentrale in Form unseres Webservers zu erreichen, zum Beispiel mit einem Smartphone oder Tablet.
Linux mit Kommandozeile
Die meisten nutzen wahrscheinlich täglich ein Windows Betriebssystem. Da unser Raspberry Pi ohne Bildschirm und weitere Hardware funktionieren soll, werden wir mit einem desktoplosen Betriebssystem arbeiten und uns über eine Remote Sitzung mit dem Gerät verbinden, um Programme zu installieren und unsere Features zu realisieren. In diesem Kurs bekommst du eine ausführliche Einführung in das Linux Terminal, damit du selbstbewusst und wissend was du tust, das Terminal bedienen kannst. Keine sorge, ich erwarte nichts von dir, das ich dir nicht vorher selbst beigebracht habe.
ESP`S
Der Ein oder Andere wird eventuell schon einmal mit einem Arduino gearbeitet haben. ESP`s erweitern seine Eigenschaften um eine WiFi Schnittstelle, wodurch jegliche Art von Netzwerkanwendung auf einfache Weise zugänglich gemacht wird.
In diesem Kurs verwenden wir den ESP8266 D1 Mini aufgrund seiner geringen Größe. Er bietet viele Pins, um Sensoren verschiedenster Art anzubringen. Ich zeige dir wie du Fensterkontaktsensoren sowie Bewegungsmelder und eine kleine Wetterstation realisieren kannst. Angefangen mit dem praktischen Aufbau, über die Programmierung, siehst du außerdem, wie wir die Sensorwerte über das Netzwerk versenden und in unserer Zentrale in Empfang nehmen, um sie dort abzuspeichern.
Programmieraufgaben
Um den Lernfaktor zu erhöhen, habe ich einige Programmieraufgaben hinzugefügt, in welchen du dein Wissen aus den vorangestellten Lektionen auf die Probe stellen kannst. Solltest du einmal nicht weiter kommen, wartet natürlich eine detaillierte Auflösung in der Folgelektion auf dich. Bei weiteren Fragen kannst du dich aber selbstverständlich auch persönlich an mich wenden.
What You Will Learn!
- Einen Raspberry Pi als Smart - Home Zentrale einrichten
- Bewegungsmelder und Fensterkontaktsensoren mit ESP´s bauen
- Eine Wetterstation bauen und programmieren
- Einen Python Flask Webserver Programmieren
- Das MQTT Protokoll in Python und C++ anwenden
- Grundkonzepte der Elektrotechnik verstehen und anwenden
- Netzwerkgrundlagen lernen und anwenden
- Datenstrukturen in Python anwenden
Who Should Attend!
- IT begeisterte Bastler
- Smart Home Interessierte
- Python und C++ Programmierer
- Raspberry Pi und ESP Interessierte