Ein Experiment mit Arduino, MQTT, Apache ActiveMQ und Apache Camel
Einleitung
Die IBM-Vision des Internets der Dinge ist der smarte Planet.
- Instrumentiert
- miteinander verbunden
- intelligent
Die technische Grundlage für den Ansatz stellt Messaging dar. Bereits 1999 wurde von Andy Stanford-Clark (IBM) und Arlen Nipper (Eurotech) das Messaging-Protokoll MQTT (Message Queue Telemetry Transport) entwickelt.
MQTT is a machine-to-machine (M2M)/”Internet of Things” connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium. For example, it has been used in sensors communicating to a broker via satellite link, over occasional dial-up connections with healthcare providers, and in a range of home automation and small device scenarios. It is also ideal for mobile applications because of its small size, low power usage, minimised data packets, and efficient distribution of information to one or many receivers … Quelle: http://mqtt.org/
Das Protokoll wird neben IBM WebSphere® MQ Telemetry auch von Open Source Brokern wie z.B. Apache ActiveMQ oder unterstürzt. Diesen werde ich in diesem Tutorial verwenden.
Systemaufbau
Das Prototyp-Bord simuliert zwei Sensoren (Taster 1 und Taster 2) und vier Aktoren (LED 1-4). Es ist über die digitalen Anschlüsse D02-D07 mit dem Arduino UNU-Board verbunden.
Das ArduinoBoard ist über ein Ethernet-Shield per LAN mit einem Hausnetz verbunden. Möglich ist auch das Arduino per LAN mit einem WLAN-Router zu verbinden, der sich als WLAN-Client mit einem bestehenden Hausnetz verbindet. Ein Fonera mit DDWRT ist aufgrund seiner Größe gut geeignet dafür.
Schaltplan Sensoren und Aktoren
Ausblick
Im zweiten Teil des Blogs wird die Realisierung des Home-Gateways vorgestellt, was die die Sensoren und Aktoren an die MQTT Messaging-Welt anschließt. Im dritten Teil des Blogs wird die zentrale Steuerlogik (HomeControl) vorgestellt, welche über das Camel-Framework das intelligente Routing der Nachrichten und die fachliche Logik enthält.
Links
- Building Smarter Planet Solutions with MQTT and IBM WebSphere MQ Telemetry
- MQTT and Arduino Devices
- Arduino Client for MQTT
- JavaMagazin 01/2013, Push Notifications für Android mit MQTT, Androiden im Internet der Dinge
- Teil 2: Das Internet der Dinge – Vernetzung
- Teil 3: Das Internet der Dinge – Logik
Pingback: Teil 2: Das Internet der Dinge – Vernetzung | TechBlog
Pingback: Teil 3: Das Internet der Dinge – Logik | TechBlog