Archiv der Kategorie: Arduino

TMP36 LoRa Node

architecture

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.

tafel

Ü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.

lora-node-tmp36

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.

lora_shield_ttn_tempc

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.

ttn4

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.

ttn5

 

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.

ck-lora-gateway

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?

  1. Eine mit dem Internet verbundene Hardware (Raspberry Pi oder Arduino)
  2. Smartphone mit iOS oder Android oder ein Browser auf dem PC
  3. 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.

enviro-phat

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.

cayenne-desktop

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.

tmp36_verlauf

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.

archpro1

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.