»The Internet of Hedgehogs« (2021)

Mini IoT-Workshop im Rahmen des Open House '21 der New Design University:

»Das Internet der Igel« (German text only)

Mensch kann die Augen nicht immer dort haben, wo es notwendig ist. Pflegebedürftige Wildtiere können nicht auf Schritt und Tritt begleitet werden. Hier kann Technik wertvolle Dienste erweisen. In diesem Miniworkshop bauen wir einen Sensor, der uns am Handy benachrichtigt, wenn der liebe Igel wieder vorbeischaut. So lernen wir spielerisch die Idee hinter dem Internet der Dinge kennen.

Der Workshop wurde im Rahmen des NDU Open House 2021 durchgeführt und eine Aufzeichnung ist gleich hier unten verlinkt. Sie führt Schritt für Schritt durch die notwendigen Arbeitsschritte, die auch im Anschluss schriftlich dargestellt sind.

igel


Wie im Video dargestellt, geht es uns also darum ein kleines funkverbundenes und Batterie-betriebenes Gerät zu bauen, welches auf Erschütterungen reagiert und uns somit anzeigt, wann der Igel nachts aus seinem Haus kommt. Damit wir das Tier 'abpassen' und ihm Augentropfen verabreichen können, möchten wir zeitgleich eine Nachricht am Smartphone oder an einem Computer empfangen. Auch diesen Teil implementieren wir durch die folgende Anleitung.

 

 

Material-Liste

Die Liste der benötigten Materialien ist überschaubar und erfordert keine tiefgreifenden Investitionen. Ein paar der Utensilien (vor allem Powerbanks und USB Kabel) sind heutzutage eh in den meisten Haushalten bereits vorrätig:

  • ESP8266 Mikrokontroller mit USB Kabel, z.B. den D1 Mini (ca. 6 Euro)
  • MPU-6050 Beschleunigungssensor (ca 5. Euro)
  • Handelsübliche Powerbank, USB Kabel (ca. 10 Euro)
  • Lötzeug (eine Einstiegs-Ausrüstung sollte für unter 20 Euro zu bekommen sein)
  • Internetzugang/Router (MQTT)
  • Bastelmaterial (Schachtel, …)
  • Optional: LED, 220 Ohm Widerstand als Statusanzeige (weniger als ein Euro)
  • Optional: Shield für D1 Mini für einen kompakten Zusammenbau (ca. 2 Euro)
  • Optional: Sharp Entfernungssensor GP2Y0A21YK0F (ca. 10 Euro)
  • Optional: Passwort zum MQTT-Server der NDU, um dieses Service verwenden zu können (Mail an This email address is being protected from spambots. You need JavaScript enabled to view it. für die Zugangsdaten)


1. Arbeitsschritt: Pin-Buchsen und Steckleisten auf ESP8266 (D1 Mini) und Shield einlöten

Oftmals kommen die Mikrokontroller Boards wie das D1 Mini ohne eingelötete Steckverbindungen. So kann der Anwender oder die Anwenderin selbst entscheiden, welche Verbindungen verwendet werden. Daher müssen wir zunächst die Pin-Buchsen in das D1 Mini einlöten und auch die Steckleisten mit dem Shield verbinden. Als Resultat erhalten wir eine Art stapelbares 'Sandwich' bestehend aus D1 Mini und Shield. Neben der kompakten Bauweise besteht der Vorteil vor allem darin, dass man diese Verbindung einfach wieder lösen kann, sollten die Komponenten eines Tages für andere Projekte Verwendung finden.

Schritt1
Abbildung 1. Pin-Buchsen und Steckleisten einlöten.

 

2. Arbeitsschritt: Beschleunigungssensor einlöten

Ein nicht unwesentlicher Bestandteil unseres IoT-Gerätes ist der Beschleunigungssensor. Dieser reagiert auf Erschütterungen, also in unserem Fall, auf die Schritte des Igels, wenn er sein Igelhaus verlässt.

Das Anschließen des Sensors ist relativ 'straightforward'. Wir müssen das Modul (MPU-6050) mit Spannung versorgen (VCC und Ground; rotes und schwarzes Kabel). Zudem brauchen wir drei Anschlüsse für die Datenkommunikation zwischen Sensor und Mikrokontroller. In der Abbildung ist die Verdrahtung dargestellt. Im Video wird gezeigt, wie der Sensor auf das Shield montiert wird. Dennoch müssen auch hier die gleichen pins miteinander verbunden werden, da das Shield ja lediglich der mechanischen Verbindung für eine kompakte Bauweise dient und letztlich völlig optional ist.

Schritt2
Abbildung 2. Die Verbindungen zwischen D1 Mini und Beschleunigungssensor.


3. Arbeitsschritt: Status-LED mit Schutzwiderstand einlöten

Die eigentliche Aufgabe unseres IoT-Gerätes ist es, Erschütterungen (Igel-Bewegungen) zu registrieren und über das Internet an ein Smartphone weiterzuleiten. Dennoch ist es nicht schlecht, ein LED zusätzlich am IoT-Gerät als Feedback Signal anzubringen. So können wir auch ohne Internetzugang mit nur einem Blick feststellen, ob das Gerät funktioniert (insofern wir in seiner Nähe sind natürlich). Alles was es dazu braucht sind ein LED und ein Widerstand (etwa 220 Ohm), damit das LED nicht durchbrennt. Die Abbildung zeigt, wie diese Komponenten an den D1 Mii angeschlossen werden sollten. Im Video wird demonstriert, wie das LED alternativ in das Shield eingelötet wird.

schritt3
Abbildung 3. Status-LED mit Schutzwiderstand anschließen.

 

4. Arbeitsschritt: Software auf D1 Mini laden

Selbstverständlich muss unser IoT-Gerät auch noch programmiert werden. Dafür könnt Ihr diesen Code hier runterladen und 1:1 verwenden. Lediglich den Namen Eures Wifi Netzwerkes müsst Ihr einsetzen (siehe Abbildung) und auch das dazugehörige Passwort, denn das IoT-Gerät braucht natürlich eine Internetverbindung um zu funktionieren.

Wenn ihr Euch den oben verlinkten Code runtergeladen habt, benutzt am besten die gratis Arduino Entwicklungsumgebung, um ihn auf den D1 Mini zu spielen. Dies ist der einfachste Weg, das Programm auf unser IoT-Gerät zu bekommen. Wie gesagt, das einzige, was Ihr ändern müsst, ist der Name des Wifi Netzwerkes und das dazugehörige Passwort!

Dazu müsst Ihr den D1 Mini mit einem USB Kabel an Euren Computer anschließen. Je nach Betriebssystem muss zudem ggf. ein Treiber für den D1 Mini installiert werden, damit Euer Computer diesen Mikrokontroller auch 'erkennt'. Dieser Arbeitsschritt ist kein Hexenwerk, doch sei an dieser Stelle auf die vielen Installations-Anleitungen im Internet verwiesen (z.B. hier), denn eine Beschreibung der Treiber-Installation für verschiedenen Betriebssysteme sprengt den Rahmen unseres kleinen Igel-Workshops.

schritt4
Abbildung 4. Der verlinkte Code geöffnet in der Arduino Entwicklungsumgebung. Hier muss unbedingt noch der Name des Netzwerkes ('ssid') und das Passwort eingesetzt werden. Dann kann durch diese Entwicklungsumgebung der Code auf unser IoT-Gerät (D1 Mini) gespielt werden.

 

5. Arbeitsschritt: Konfiguration eines Empfangsgeräte (z.B. ein Smartphone)

Der verlinkte Code verwendet das MQTT-Protokoll, um Nachrichten vom IoT-Gerät an ein Eingerät zu verschicken. D.h. sobald eine Erschütterung registriert wird, sendet der D1 eine 'MQTT-Botschaft' an einen Server. Von diesem Server können sich - vereinfacht gesprochen - interessierte Endgeräte diese Nachrichten abholen. Es gibt eine Vielzahl von fertigen Anwendungen, die extra für diesen Zweck gratis ins Internet und in die App-Stores gestellt worden sind. In dem Video verwenden wir eine Software namens MQTTAlert für Android, um am Handy benachrichtigt zu werden, sobald sich der Igel an der Igel-Haustüre bewegt. In der unten stehenden Abbildung verwenden wir HiveMQ, um in einem beliebigen Browser Nachrichten vom IoT-Gerät zu empfangen. Wenn Du genau die gleiche Konfiguration auch in deinem Browser eingibst (wenn du unseren MQTT-Server verwenden willst, schreibe an This email address is being protected from spambots. You need JavaScript enabled to view it. um ein Passwort zu erhalten!), wirst auch Du diese Botschaften sehen! Alternativ kannst Du natürlich auch deinen eigenen MQTT-Server aufsetzen oder einen anderen MQTT-Service-Anbieter suchen.

schritt5
Abbildung 5. HiveMQ mit den Zugangsdaten des NDU Servers. Passwort gibts bei This email address is being protected from spambots. You need JavaScript enabled to view it.


Ausblick

Das wars eigentlich auch schon. Als Erweiterung schlagen wir vor - wie im Video vorgestellt - den Beschleunigungssensor durch einen Entfernungssensor zu ersetzen und nicht mehr Erschütterungen, sondern das Durchlaufen einer 'Lichtschranke' zu messen!

schritt6
Abbildung 6: Das IoT-Gerät mit einem Entfernungssensor in einer wasserdichten Box.