Starterkit: Internet der Dinge

Features

  • Ermöglicht das Steuern von Geräten über das Internet
  • Unterstützt 433MHz Aktoren
  • Externe Antenne, große Reichweite
  • Erweiterbar, frei programmierbar
  • Steuerbar über www.iot-remote.com

Beschreibung

Das Internet der Dinge (engl. Internet of Things (IoT)) stellt eine Evolution des Internets dar und vernetzt nicht nur, wie bisher Menschen und Computer, sondern auch beliebige andere physische Objekte ("Dinge", "things").

Das Starterkit: Internet der Dinge bietet einen einfachen Einstieg in die Welt des Internets der Dinge und ermöglicht es, nahezu beliebige Geräte über das Internet zu steuern. Dazu ist das Kit mit einem Remote Switch Bricklet 2.0 ausgestattet über das verschiedenste 433MHz Funksteckdosen, Funkdimmer und Hausautomatisationskomponenten gesteuert werden können. In der Dokumentation des Bricklets gibt es eine Liste der unterstützten Funkaktoren.

Über die API Bindings können diese Funkaktoren von jedem (Embedded-) PC, Smartphone oder Tablet über das Internet gesteuert werden. Dem Einschalten der Kaffeemaschine von unterwegs über das eigene Smartphone, oder das Dimmen der Wohnungsbeleuchtung gesteuert aus der eigenen Cloud oder von einem Raspberry Pi steht mit dem Kit nichts im Wege. Die Webseite www.iot-remote.com stellt eine direkte Möglichkeit zur Verfügung diese Aktoren von jedem internetfähigen Gerät zu steuern.

Das Kit besteht im wesentlichen aus einem Master Brick und einem Remote Switch Bricklet 2.0, welches mit einem 433MHz Sender ausgestattet ist. Über die USB Verbindung des Master Bricks können somit Steckdosen o.ä. gesteuert werden. Ein angeschlossener (Embedded-) PC (z.B. Raspberry Pi) kann direkt die Steuerung übernehmen oder als Gateway dienen. Mit einer zusätzlichen Ethernet Master Extension kann auf ein Gateway verzichtet werden.

Mittels weiterer Module aus dem Baukastensystem kann das Kit erweitert werden. So können zum Beispiel Temperaturen erfasst werden (Temperature, Temperature IR oder PTC Bricklet) oder auf Bewegungen reagiert werden (Motion Detector Bricklet).

Dieses Kit wurde am 20. März 2018 aktualisiert. Das Kit kommt ab sofort mit der neuen Version 2.0 des Remote Switch Bricklet und das Bricklet-Kabel ist von der 7p-10p Variante. Die komplette Software ist kompatibel zu beiden Versionen.

Technische Spezifikation

Eigenschaft Wert
Integriertes Funkmodul RFM69HW (Remote Switch Bricklet)
Stromverbrauch 10mA (inaktiv), 40mA (senden)
Funkfrequenz 433MHz
   
Abmessungen (B x T x H) 11cm x 6,5cm x 4,5cm (zusammengebautes Kit)
Gewicht 130g (zusammengebautes Kit)

Ressourcen

  • Internet of Things Gehäuse als FreeCAD CAD Dateien (Download)
  • iot-remote.com Webseite (Download)
  • iot-remote.com Server Implementierung (Download)

Firmware aktualisieren und erste Tests

Im ersten Schritt sollten die Bricks und Bricklets ausprobiert und die Firmwares ggf. aktualisiert werden.

Dazu müssen der Brick Daemon und der Brick Viewer installiert werden. Schließe das Remote Switch Bricklet an den Master Brick an und verbinde es per USB mit dem PC. Anschließend kann über den Brick Viewer bestimmt werden, ob alle Firmwares aktuell sind. Falls nicht so sollten diese aktualisiert werden (Bricks aktualisieren, Bricklets aktualisieren):

Internet der Dinge Update im Brick Viewer

Im nächsten Schritt sollte das Remote Switch Bricklet mit einer Funksteckdose getestet werden. Eine Anleitung zu den Konfigurationsmöglichkeiten ist hier zu finden. Anschließend kann damit begonnen werden das Kit zusammenzubauen.

Konstruktion

Das Starterkit: Internet der Dinge wird mit einem Master Brick, einem Remote Switch Bricklet 2.0, einem 6cm Bricklet Kabel, zwei Befestigungskits und vier rutschfeste Gummifüsse ausgeliefert.

Das Gehäuse kann in vier einfachen Schritten aufgebaut werden.

Exploded assembly drawing

Schritt 0: Schutzfolie entfernen

Als erstes müssen die Schutzfolien von allen Gehäuseteilen entfernt werden. Jeweils auf Front- und Rückseite befindet sich eine Schutzfolie. Ein Messer kann bei der Entfernung der Folien helfen, sollten sich diese schwer entfernen lassen.

Schritt 1: Abstandshalter anschrauben

Schraube die 10mm Abstandshalter (Gewinde innen/innen) an den Master Brick und das Remote Switch Bricklet.

Konstruktion Schritt 1

Wenn die Ethernet Extension verwendet werden soll, kann diese auf mit 12mm Abstandshaltern (Gewinde innen/außen) auf den Master Brick geschraubt werden.

Konstruktion Schritt 1 (Ethernet Extension)

Schritt 2: Gehäuseunterteil anschrauben

Schraube den Master Brick (mit oder ohne Ethernet Extension) und das Remote Switch Bricklet auf die Unterseite des Gehäuses. Dabei sollte folgende Reihenfolge eingehalten werden:

  • Stecke Vorderteil des Gehäuses in Unterteil
  • Schraube Master Brick und Remote Switch Bricklet zur Unterseite
  • Klebe rutschfeste Gummifüsse an Unterseite
  • Verbinde Master Brick und Remote Switch Bricklet mit Bricklet Kabel
  • Schraube Antenne an Remote Switch Bricklet
Konstruktion Schritt 2

Schritt 3: Kuppel aufsetzen

Im letzten Schritt muss nun noch das Rückteil des Gehäuses in das Unterteil gesteckt werden. Danach kann dann das Oberteil gebogen und angebracht werden. Das war es schon, das Gehäuse ist fertig!

Konstruktion Schritt 3

Anwendungen

Über das eigene Tablet, Smartphone oder PC steuern

Ohne Programmieraufwand können direkt 433MHz Aktoren wie Funksteckdosen, Dimmer oder Hausautomatisierungskomponenten über die Webseite www.iot-remote.com gesteuert werden. Die Webseite nutzt JavaScript, das direkt im Browser ausgeführt wird. Es erfolgt also nach dem Laden der Webseite und des JavaScipts kein Datenaustausch über einen Server sondern nur zwischen dem lokalen Gerät und der zu steuernden Hardware. Für eine offline Nutzung kann die Webseite heruntergeladen werden.

iot-remote.com Webseite

Die Webseite ist sehr einfach aufgebaut. Über "+ New Remote..." können neue Geräte hinzugefügt werden. "Settings" erlaubt das Laden/Speichern von Konfigurationen und die Liste links (leer im Bild) zeigt die konfigurierten Geräte und bietet Zugriff auf deren Steuerung.

Neues Gerät hinzufügen

Über "+ New Remote..." können neue Geräte hinzugefügt werden. Es gibt vier Typen: A (Schalter), B (Schalter), B (Dimmer), C (Schalter). Der einzustellende Typ ist nur von dem zu steuernden Aktor abhängig (siehe Liste der unterstützten Aktoren).

Je nach Aktor sind verschiedene Angaben zu machen. Eine genauere Beschreibung befindet sich in der Dokumentation des Remote Switch Bricklets:

Typ A (Schalter):

Konfiguration für Typ A Schalter

Typ B (Schalter):

Konfiguration für Typ B Schalter

Typ B (Dimmer):

Konfiguration für Typ B Dimmer

Typ C (Schalter):

Konfiguration für Typ C Schalter

Steuern eines Geräts

Geräte können durch Klicken auf den jeweiligen Eintrag in der Liste gesteuert werden. Als Beispiel nachfolgend die Steuerungsseite eines Typ A Schalters.

Konfigurierter Typ A Schalter

Speichern/Laden der Konfiguration

Die Webseite www.iot-remote.com wurde absichtlich ohne Loginfunktion programmiert. Dies macht es einfacher eine eigene Instanz der Webseite aufzusetzen. Die Konfiguration wird lokal im Browser in einem Cookie gespeichert und standardmäßig nicht an den Server übertragen. Für die Nutzung der Webseite von einem Browser aus ist dies ausreichend.

Um eine einmal erstellte Konfiguration in verschiedenen Browsern zu nutzen kann diese auf www.iot-remote.com gespeichert werden, um sie dann in einem anderen Browser wieder zu laden.

Speichern/Laden der Konfiguration

Wurde eine Konfiguration erstellt, so kann diese gespeichert werden. Dazu klickt man auf "Settings" und klickt anschließend "Save configuration". Der Server erzeugt anschließend eine Konfigurations-ID mit der die aktuelle Konfiguration geladen werden kann.

Das Laden einer Konfiguration erfolgt analog. Dazu wird eine Konfigurations-ID eingegeben und "Load configuration" geklickt. Anschließend sollten die zur ID gehörenden Geräte in der Liste angezeigt werden.

Offline Betrieb / Lokale Nutzung

Die komplette Webseite kann heruntergeladen werden (inklusive JavaScript) und lokal genutzt werden. Ein Aufruf von www.iot-remote.com ist dann nicht mehr notwendig. Am einfachsten kann das komplette Projekt von GitHub als ZIP heruntergeladen werden. Die Webseite inklusive JavaScript befindet sich im Verzeichnis "web".

Leider unterstützt Chrome/Chromium standardmäßig keine File-Cookies, welche benötigt werden um Cookies bei Offline Nutzung zu speichern. Um dieses Problem zu umgehen kann Chrome/Chromium mit folgendem Parameter gestartet werden:

--enable-file-cookies

Die Webseite kann bei Lokale Nutzung immer noch den www.iot-remote.com Server nutzen um Konfigurationen zu speichern/laden. Dieser Server kann aber auch leicht selbst aufgesetzt werden. Dazu müssen folgende Programmteile angepasst werden:

  • web/js/remote/pages/PageSettings: this.HOST, this.PORT sowie
  • server/server.py: CONFIGURATION_PATH und LOCAL_PROXY_PORT.

Die Abhängigkeiten des Python Servers bestehen aus python-twisted und python-autobahn. Der Server kann einfach mit Python gestartet werden:

python server.py

Und schon ist man im Besitzt eines eigenen Internet of Things Webserver der über WebSockets Konfigurationen speichern kann!

Eigene Programme Entwickeln

Neben der direkten Nutzung von www.iot-remote.com kann das Kit natürlich auch in eigenen Anwendungen verwendet werden. Grundlage hierzu bildet die API des Remote Switch Bricklets, die für verschiedene Programmiersprachen zur Verfügung steht. Die API Dokumentation der jeweiligen Sprache enthält zusätzlich kleine Beispielprogramme die als Startpunkte für die eigenen Entwicklungen dienen können.

Ethernet Hardware Erweiterung

Möchte man auf ein externes USB <-> Ethernet Gateway (PC, Raspberry Pi o.ä.) verzichten, bietet sich der Einsatz einer Ethernet Master Extension an. Somit kann direkt mit dem Kit kommuniziert werden. Im Gehäuse ist Platz für eine Ethernet Master Extension vorgesehen. Diese muss nur auf das Master Brick gesteckt werden. In der Dokumentation gibt es weitere Informationen zur Nutzung der Ethernet Extension.

Interaktion mit anderen Dingen

Das Kit kann mit den verschiedensten anderen "Dingen" kommunizieren. Am einfachsten lassen sich andere Bricks und Bricklets des Baukastensystems nutzen. Über produktspezifische Schnittstellen oder Online-Services wie Xively, Cumulocity, Carriots, oder ähnliche lässt sich aber auch ohne viel Aufwand mit anderen Geräten interagieren. Nachfolgend stellen wir einige Beispiele vor:

Bewegungserkennung mit dem Motion Detektor Bricklet: Das Motion Detector Bricklet ermöglicht die Detektion von Bewegungen. Zusammen mit dem Kit können somit Verbraucher in Abhängigkeit von der Anwesenheit von Personen geschaltet werden.

Temperaturbasiertes Steuern von Fenstermotoren: Über Bricklets wie Temperature, Temperature IR oder dem PTC Bricklet können Temperaturen gemessen werden. Zusammen mit 433MHz Hausautomatisierungskomponenten können somit Fenster temperaturabhängig bewegt werden.

Tageslichtabhänige Jalousiesteuerung: Das Ambient Light Bricklet 2.0 ermöglicht die Messung der Helligkeit von Sonnenlicht. Somit könnten Jalousien lichtabhängig gesteuert werden.

GPS basierte Haussteuerung: Über das GPS Bricklet oder ein Smartphone mit GPS könnte das eigene Heim in Abhängigkeit der eigenen Position über das Internet gesteuert werden. Als Beispiel könnte die Außenbeleuchtung eingeschaltet werden wenn es dunkel ist und der Eigentümer sich dem Haus nähert.

Strompreisbasierte Verbraucherschaltung: In manchen Stromtarifen ist der Strompreis abhängig von der Uhrzeit oder richtet sich direkt an den aktuellen Strommarktpreisen. Verbraucher könnten in Abhängigkeit des aktuellen Strompreises Ein-/Ausgeschaltet werden.

Verbrauchsabhängige Verbraucherschaltung: Viele intelligente Stromzähler ermöglichen den Zugriff auf den aktuellen Stromverbrauch. Eine Alternative stellt das Auslesen der Umdrehungen der Ferrarisscheibe in einem gewöhnlichen Stromzähler mittels eines Hall-Effect Bricklets dar. Abhängig vom aktuellen Verbrauch könnten somit Verbraucher geschaltet werden.