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.
Eine Kommunikation zwischen einem Herzschlagsensor auf der einen Seite und einem Pulssensor auf der anderen Seite. Beide sind nicht mit einem Kabel miteinander verbunden. Die Kommunikation wurde mit verschiedenen aktuellen Methoden hergestellt.
Arduino, Sensor und Aktor
Für das Projekt haben wir einen ESP8266 benutzt, der die Fähigkeit hat, sich mit einem WiFi zu verbinden. Als Aktor entschieden wir uns für einen Herzschlagsensor, da wir seine Funktion spannend fanden und basierend auf dem Herzschlag, der sich verändert, Dinge angesteuert werden können. Ein Vibrationsmotor lag uns daraufhin nahe, um den Herzschlag zu simulieren.
Microsoft Azure
Azure ist eine von Microsoft entwickelte Cloud-Computing-Plattform und -Infrastruktur für die Entwicklung, Bereitstellung und Verwaltung von Anwendungen und Diensten über ein globales Netzwerk von Microsoft-verwalteten Rechenzentren. In Bezug auf das IoT (Internet der Dinge) bietet Azure eine Reihe von Cloud-Diensten, die es Entwicklern ermöglichen, IoT-Lösungen und -Anwendungen zu erstellen, bereitzustellen und zu verwalten.
Prozess
Wir haben Azure genutzt, um eine Verbindung zwischen einem ESP8266-Gerät und einem MQTT-Broker herzustellen. Die Verbindung wurde durch die Verwendung von einem Azure IoT Hub als zentralen Hub für die Datenkommunikation zwischen dem Gerät und der Cloud ermöglicht.
Wir richteten zunächst ein Message Routing im IoT Hub ein, um die vom Gerät eingehenden Daten an einen Stream Analytics Job weiterzuleiten. Der Stream Analytics Job wurde verwendet, um die vom ESP8266 eingehenden Daten zu verarbeiten und sie an eine SQL-Datenbank weiterzuleiten. Diese Datenbank wurde auf einem SQL Server von Azure gehostet und diente zur Speicherung der Daten von unserem Pulssensor.
Um die Verbindung auf dem ESP8266 herzustellen, haben wir die Azure IoT SDK für Embedded C verwendet. Die SDK bietet eine Reihe von Bibliotheken und Tools für die Verbindung zum Azure IoT Hub und die Kommunikation mit der Cloud. Wir haben einen Code für den ESP8266 geschrieben, der sich über das MQTT-Protokoll mit dem IoT Hub verbindet und Daten vom Pulssensor an die Cloud sendet.
Vom Frontend aus haben wir die SQL-Node-Verbindung verwendet, um die Pulsdaten in Echtzeit aus der SQL-Datenbank abzurufen. Die Daten wurden dann auf dem Frontend mit ChartJS verarbeitet und visualisiert. So konnten wir die Pulsdaten in Echtzeit anzeigen und das Diagramm dynamisch aktualisieren, sobald neue Daten eintrafen.
Web Interface
Für die Bereitstellung unseres Frontends haben wir einen NodeJS-Server und Express verwendet. Für das Frontend haben wir Vanilla JavaScript mit ein paar Bibliotheken benutzt.
ChartJS - Diagramme und Visualisierungen
jQuery - JavaScript library
True Audio Player - Audio Dateien im Web abspielen
Das Interface soll einem die Möglichkeit geben mit dem Sensor und Aktor zu interagieren und visuell eine Übersicht bieten über das was gerade passiert.
Die Dokumentation über das Projekt wurde wie eine Docs Webseite von einem Framework zum Beispiel aufgebaut um den Ablauf, sowie den Code möglichst übersichtlich darzustellen.
Hinterlasse einen Kommentar