Click the image for download the ebook.
Archiv der Kategorie: Arduino
Arduino for the Cloud
This eBook describes the Arduino Yún configured for cloud applications.
Due to the combination of microcontroller and Linux device you can separate effectively real-time tasks from tasks that need network access.
Further explanations to Arduino Yún and the Arduino Yún shield as an addon for a conventional Arduino can be found in my book, Arduino for the Cloud.
Have fun with Arduino Yún!
Ranging mit radino32 DW1000
Der Decawave DW1000 Baustein ist ein IEEE802.15.4-2011 konformer Ultra-Wideband (UWB) Transceiver und kann zur Positionsbestimmung im 2-Wege-Ranging betrieben werden und bietet dabei eine Genauigkeit von 10cm.
Das radino32 DW1000 kombiniert einen STM32L151 Mikrocontroller (Cortex-M3 Core) von STMicroelectronics mit dem DW1000 Funkchip von Decawave zum kompakten radino Formfaktor und kann damit als ein Baustein in einem komplexeren Real-Time Location System (RTLS) dienen.
Der Hersteller In-Circuit bietet eine freie Arduino-Bibliothek für die radino Funkmodule an, welche USB-Treiber, Bootloader und zahlreiche Beispiel-Sketches enthält.
Links zu weiteren Herstellerinformationen:
DW1000 Datasheet DW1000 User Manual
radino32 DW1000 für Ranging und RTLS, Ultra Wideband (UWB), IEEE802.15.4-2011 compliant, 3.5-6.5GHz
Neu – CONTROLLINO MAXI Automation
Die CONTROLLINO Familie hat Zuwachs bekommen. CONTROLLINO MAXI Automation ist eine Anpassung des CONTROLLINO MAXI an speziellen Anforderungen der Automatisierung. Alle Detail auf der Website des Herstellers oder auf Github.
TMP36 LoRa Node

Die aus einem Arduino Uno und Dragino LoRa Shield V1.2. aufgebaute TMP36 LoRa Node misst die Aussentemperatur und überträgt die Messdaten (drahtlos) an das im Inneren platzierte LoRa Gateway.
Über dieses Gateway ist die TMP36 LoRa Node in das TTN LoRaWAN integriert. Das LoRa Gateway besteht aus einem Raspberry Pi 3 mit einem Dragino LoRa /GPS HAT.
Dieses einkanalige LoRa Gateway hat nicht die Möglichkeiten eines voll ausgebauten LoRa Gateways, trotzdem ist es für diese einfache Aufgabenstellung geeignet. Das TTN Gateway ist bestellt und wird erwartet.
Die gemessenen Daten werden vom LoRa Gateway via Internet an den TTN Server übertragen. Zugriff auf die Daten ist über die TTN Console möglich.
Um die Daten auch anderen Anwendungen zur verfügung zu stellen, kann auf diese via MQTT zugegriffen werden. Ich verwende Mosquitto auf einem anderen Raspberry Pi, um die Daten zu abonnieren und zur Visualisierung an den Thingspeak Server zu senden. In die Website ckuehnel.ch/TMP36_LoRa_Node.html habe ich diese Grafik eingebunden.
Die für dieses Anwendungsbeispiel verwendete Software ist auf Github abgelegt.
CONTROLLINO – Arduino im industriellen Einsatz
Arduino ist seit vielen Jahren über die Maker-Szene hinaus als Prototyping-Plattform bekant. Sowohl die aus einem Mikrocontroller-Board bestehende Hardware als auch die Arduino-Entwicklungsumgebung (IDE) sind Open Source. Prototyping-Plattformen sind aber nicht ohne weiteres für den industriellen Einsatz geeignet.
Mit CONTROLLINO stehen unterschiedlich ausgestattete Kleinsteuerungen auf Arduino-Basis zur Verfügung, die den industriellen Einsatz nicht scheuen brauchen. Für den industriellen Einsatz besonders wichtig sind die implementierten Schutzmaßnahmen gegen Kurzschluss, Überlast und elektrostatische Entladung und nicht zuletzt die spezifizierten Umgebungsbedingungen.
Zur Arbeit mit dem CONTROLLINO habe ich mir eine Spielwiese eingerichtet, die passend zur Bauform des CONTROLLINO mit Hutschienen-Komponenten arbeitet.

Über den Ethernet-Anschluss ist der CONTROLLINO mit dem Internet verbunden, während über den USB-Anschluss die Verbindung zur Arduino IDE (Programm-Download, Monitoring) vorgenommen wird.
Im Februar 2017 wird der CONTROLLINO in der Zeitschrift Design & Elektronik vorgestellt. Programmbeispiele sind auf Github zu finden.
LoRa Node sendet Messwerte
Als Grundlage für meine Experimente habe ich von Github das Dragino Programmbeispiel lora_shield_ttn.ino verwendet und mit einer Sensorerweiterung versehen. Zur Erfassung der Umgebungstemperatur habe ich einen Temperatursensor TMP36 mit A0, VCC und GND verbunden.

Auf die Angabe des Listings des Programms lora_shield_ttn_tempC.ino möchte ich an dieser Stelle aus Platzgründen verzichten und auf Github verweisen. Dort ist das Programm abgelegt und kann von da heruntergeladen werden. Damit sind alle Vorkehrungen für das Versenden der Sensordaten in das LoRaWAN getroffen und es ist nun am Gateway diese Daten auch zu empfangen. Der Consolen Output zeigt die Messages dieser LoRa Node.

Die vom TTN LoRa Server empfangenen Messages zeigen hier im Bild Temperaturwerte von 24,71 und 27,64 °C (letzteres nach Auflegen eines Fingers auf den TMP36).
Beim Auruf des TTN LoRa Servers ist etwas Geduld notwendig. Nur alle 10 Minuten wird eine Message vom Gateway gesendet. Historische Daten werden nicht angezeigt.

Vom TTN Lora Server werde die Daten via MQTT bereitgestellt und können da mit einem MQTT Viewer (hier habe ich MQTTlens verwendet) dargestellt bzw. über Subscribe in eine Anwendung gezogen werden.

LoRa Gateway aktiv…
Heute habe ich zu Testzwecken ein LoRa Gateway installiert. Im TTN Mapping (TheThingsNetwork) ist es als „CK LoRa Gateway“ markiert.
Ein LoRa Concentrator iC880A ist bei IMST bestellt, dann wird das Gateway LoRaWAN kompatibel.

In den nächsten Tagen bekommt die eingesetzte LoRa Node (Dragino Lora Shield & Arduino Uno) noch einen Temperatursensor, dessen Daten dann übermittelt werden. Es folgen später stromsparende Varianten auf Basis des LoRa Transceiver RFM95W & Arduino Pro Mini, Raduino32 SX1272 und LoPy.
IoT Projekte mit Cayenne erstellen
Cayenne bezeichnet sich selbst als den ersten Drag & Drop IoT Builder in der Welt. Grund genug das Ganze auszuprobieren. Details sind unter http://www.cayenne-mydevices.com/ zu finden.
Was wird benötigt?
- Eine mit dem Internet verbundene Hardware (Raspberry Pi oder Arduino)
- Smartphone mit iOS oder Android oder ein Browser auf dem PC
- Ein Cayenne Account
Am Einfachsten ist die Installation mit dem Smartphone. Nach Auswahl des hier verwendeten Raspberry Pi werden Libraries und ein Agent auf den Raspberry Pi installiert und nach ca. 10 Minuten kann das erste Projekt gestartet werden.
Ich habe hier einen mit einem Enviro pHAT von Pimoroni ausgestatteten Raspberry Pi Zero wegen des dort vorhandenen AD-Converters ADS1015 verwendet und an diesen einen Temperatursensor TMP36 angeschlossen. Dieser liefert eine zur Temperatur proportionale Ausgangsspannung.

Zuerst fügt man auf dem Cayenne Desptop den ADC hinzu und bekommt damit das Feld Analog Input, selektiert den ADC-Kanal und verbindet dann den Sensor TMP36 mit diesem. Daraufhin erhält man das Feld TMP36. Die anderen Felder werden defaultmäßig bereitgestellt. Die Anzeigen lassen sich konfigurieren.

Mit wenigen Schritten hat man erreicht, dass auf dem Dashboard eine funktionierende Anzeige der gemessenen Temperatur erscheint.
Ebenso kann der Verlauf des Messwerte über einer vorwählbaren Zeit als Graph dargestellt werden.

Die Cayenne Plattform ist noch in Entwicklung. Neue Devices, wie bspw. LoRa, kommen hinzu. Die Palette der Sensoren und Aktoren wird erweitert etc. Diesen Entwicklungsstand spürt man an der einen oder anderen Ecke. Ein Blättern im Forum hilft den Eindruck etwas abzurunden. Interessant bleibt der Ansatz aber allemal.
Arduino-Formfaktor
Hersteller von Mikrocontrollern stellen auf ihren Evaluationboards häufig eine Arduino-Schnittstelle zur Verfügung, um das breite Spektrum von Arduino-Shields für das Rapid Prototyping einsetzen zu können. Der eingesetzte Mikrocontroller wird aber nicht mit der Arduino-IDE programmiert.
Für das Rapid Prototyping ist die Arduino-Schnittstelle von großem Vorteil, da auch später noch Komponenten/Shields gewechselt oder an konkrete Anforderungen angepasst werden können.
Die mbed Plattform unterstützt zahlreiche dieser Boards, die ich in der filter- und sortierbaren Liste Arduino-compatible Microcontroller Boards supported by ARMmbed zusammengestellt habe.

Beim Arch Pro von Seeed Studio ist der Arduino-Formfaktor durch die gelben Buchsenleisten deutlich erkennbar. Der auf dem Board befindliche Mikrocontroller LPC1768 von NXP (Cortex-M3) kann aus der mbed Umgebung heraus programmiert werden.
