In this course, students learn how to design software and program various subsystems in the Internet of Things. This includes programming microcontrollers, building an IoT cloud architecture and web development.
The programming of microcontrollers is done with Arduino, the IoT cloud architecture is implemented with Microsoft Azure and the creation of a graphical user interface happens in the form of a website. This imparts knowledge of the entire IoT chain as well as the dependencies and communication options, such as REST APIs or MQTT, in this area.
Der Kurs Softwareentwurf vermittelt essentielle Kenntnisse für IoT Projekte. Ziel war es Daten mit Hilfe eines Mikrocontroller und einem Sensor zu erheben, diese in mit einer API zur verfügung zu stellen bzw. an eine Cloudkomponente (Azure) zu passen wo sie verarbeitet und gespeichert werden. Die gespeicherten Daten sollen anschließend abgerufen werden können um etwas zu steuern.
Sprich, ein klassisches IoT Projekt. Daten erheben, sie verarbeiten, zu speichern und basierend darauf Dinge steuern.
Die Wahl des Sensors fiel auf einen Co2-Sensor (SCD-30) und einen Schrittmotor (Stepper).
Konzept
Zusammen sollte eine optimale Luftqualität in Innenräumen gewährleistet werden. Der Co2-Sensor soll laufend die aktuellen Luftwerte messen und diese an einen sog. IoT-Hub von Azure (Microsoft) schicken. Hier sollen sie in einer Datenbank abgespeichert werden. Zusätzlich können auf einer Website laufend Werte wie Co2-Gehalt und Temperatur kontrolliert werden, sowie der Status des Fenster aktualisiert werden. Überschreitet der Co2-Wert den von uns festgelegten Grenzwert, öffnet sich das Fenster. Andersrum wenn die Werte kleiner sind
Umsetzung
Für die Umsetzung nutzen wir verschiedene Tools und Techniken welche folgend beschrieben werden.
Azure
In Azure, einem All-in-One Cloud Service von Microsoft, arbeiten wir mit einem sog. IoT-Hub. Dieser bietet verschiedenste Möglichkeiten um mit IoT-Geräten zu kommunizieren, Daten zu verarbeiten, diese zu speichern und vieles mehr. Letztere nutzten wir für das Projekt.
ESP32 mit Code
Als Mikrocontroller nutzen wir den ESP32, da er über eine Chipeinheit verfügt die sich über WLan mit dem Internet verbinden kann. Auf diesen ESP schrieben wir einen Code der in regelmäßigen Intervallen die Daten des angeschlossenen Sensor nutzt um eine Nachricht mit den Luftwerten an Azure zu schicken.
Website und Gestaltung
Zuerst gestalteten wir erste Konzepte der Website in Figma. Dabei setzten wir auf ein Layout aus 4 Hauptkacheln die ein Dashboard ergeben. Als Gamification Faktor bauten wir Persönlichkeitskarten ein die je nach Co2-Gehalt der Luft wechselten. Bei der Farbwahl entschieden wir uns bewusst für ein Blauton um die CO2 Werte wiederzuspiegeln, da man Blau mit “Himmel” und “Luft” verbindet. Temperatur wurde mit einem Orange Gelb Ton dargestellt. Dieser bietet eine gute Komplementärfarbe und lässt sich auch gut zu “Temperatur” verbinden. Die Restlichen Farben sollten mit Grün und Lila Tönen weitere Kontraste und Komplementärfarben bilden.
Zusätzlich arbeiteten wir mit verschiedenen Hovereffekten und eine Library die die Graphen darstellt.
Modell und 3D-Druck
Um dem Sensor und dem Mikrocontroller noch eine festgelegte Position zu geben, damit die Messungen wie geplant funktionieren können, konstruierten wir ein Gehäuse das auf dem Schreibtisch Platz findet und neben dem hauptsächliche Anwendungszweck noch als Halter für ein Smartphone dienen kann.
Zusätzlich planten wir einen Mechanismus der es uns ermöglichte mit Hilfe eines Steppermotors, einem Zahnrad und der passenden Schiene, ein Fenster zu öffnen.
Hinterlasse einen Kommentar