Raspberry Pi 2 und Real-Time Linux

Das Echtzeitverhalten des Single-Core Raspberry Pi wurde im Beitrag Echtzeitfähiger Raspberry Pi untersucht. Der RT Patch des Kernel wurde beschrieben.

Mittlerweile sind auch Ergebnisse für den Quad-Core Raspberry Pi 2 verfügbar. In der QA-Farm von OSADL wird das Real-Time Verhalten einem ständigen Monitoring unterzogen. Bei Interesse sollte unbedingt der betreffende Beitrag in den OSADL News gelesen werden.

Mit dem RT Patch des Kernels werden nunmehr die folgenden Latenzzeiten erreicht.

rbs3s

 

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.

 

ESP8266/ESP32 programmieren – Resultate der Umfrage

Vor einigen Tagen hatte ich eine Umfrage zu den eingesetzten resp. erwünschten Programmiersprachen/Programmierumgebungen für die beiden Prozessoren von Espressif lanciert.

Hier sind nun die (nicht repräsentativen) Resultate der 65 Rückmeldungen. Mehrfach-Nennungen waren möglich.

ESP8266:

esp8266

ESP32:

esp32

Die Verteilung ist für beide Prozessoren praktisch identisch, woraus der Schluss gezogen werden kann, dass man gern die beim ESP8266 eingesetzte Umgebung auch für den ESP32 verwenden möchte.

IoT-Knoten mit LoRa-Funkmodul

Auf der Basis von NodeMCU/ESP-8266 war es recht einfach einen IoT-Knoten zu erstellen, der über WiFi ins Heimnetz integriert werden konnte. Problematisch waren dabei immer Reichweite und Energiebedarf.

Mit dem radino32 SX1272 der Dresdner Fa. in-circuit.de kann eine Funkübertragung mit einer Reichweite von mehr als 30 Kilometern erreicht werden. Der radino32 SX1272 kombiniert einen STM32L151 Controller von STMicroelectronics mit dem SX1272 LoRa Funkchip von SemTech zum kompakten radino Formfaktor.

Mit dem radino Spider, einem low-cost Entwicklungsboard für alle radino/radino32 Funkmodule mit RP-SMA Buchse, hat man eine für den Breadboard-Aufbau geeignete Plattform. Alle Pins des radino Moduls sind auf zwei Stifleisten im 2.54mm Raster geführt.

Im Bild gezeigt ist ein radiono Spider hier allerdings mit aufgesetztem radinoWiFi-Modul.spider_top_640

radino_32_WiFi_Pinout.jpg

In der Folge möchte ich meine Erfahrungen mit dem radino32 SX1272 LoRa-Funkmodul mitteilen und dessen Eignung für einen IoT-Knoten untersuchen.

Nextcloud/ownCloud

ownCloud als Universal File Access Plattform hat nicht nur für Unternehmen eine starke Verbreitung gefunden und kann sowohl auf eigenen Servern als auch in externen Rechenzentren gehostet werden. Ein Überblick über die Möglichkeiten und die Architekture von ownCloud ist hier zu finden.

Zu den Hintergründen, warum es nun Nextcloud und ownCloud gibt, möchte ich auf einen Beitrag im Linux-Magazin verweisen.

Will man sich nicht die Mühe machen, ownCloud auf einem eigenen System zu installieren, dann bieten sich externe Anbieter an, die Transparenz und Datensicherheit garantieren.

Für erste Test bietet u.a. der Schweizer Anbieter woelkli.com einen Gratiszugang mit 500 MB an. Die zur Verfügung stehenden Pakete und die Features sind detailliert beschrieben. Für alle möglichen Geräte sind ownCloud Clients vorhanden.

Der Zugriff auf die Daten kann aber auch über ein Webinterface oder WebDAV erfolgen.

Auf einem Linux-Device (hier ein Raspberry Pi 3) ist dazu das WebDAV Filesystem zu installieren und ein Directory für das Mounting einzurichten:

apt-get install davfs2
mkdir /mnt/DAV
mount -t davfs cloud.woelkli.com/remote.php/webdav /mnt/DAV

Alle ins Directory /mnt/DAV geschriebenen Dateien werden dann auf dem ownCloud-Server und den mit ihm synchronisierten Clients zur Verfügung stehen.

Wie man Dropbox, Box und 4share einbinden kann, ist hier beschrieben.

Mit der Nextcloud Box steht nun auch eine vorbereitete Hardware zur Verfügung.

Anzeige von ThingSpeak-Daten mit ThingView

ThingSpeak ist eine Open Source IoT-Anwendung und API zum Speichern und Abrufen von Daten von IoT-Nodes über HTTP über das Internet oder über ein Local Area Network (https://github.com/iobridge/thingspeak, http://www.thingspeak.com).

Zusätzlich zum Speichern und Abrufen von numerischen und/oder alpha-numerischen Daten erlaubt die ThingSpeak-API auch numerische Datenverarbeitung wie Time-Scaling, Bildung von Mittelwert und Medianwert, Summation und Rundung u.a.m. Jeder ThingSpeak-Kanal unterstützt Dateneinträge von bis zu 8 Datenfeldern, Breitengrad, Längengrad, Höhe und Status. Die Abfrageergebnisse stehen als JSON-, XML- und CSV-Formate für die Integration in Anwendungen zur Verfügung.

Mit ThingView können ThingSpeak-Kanäle auf einfache Weise auf dem Smartphone oder Tablet sichtbar gemacht werden. Es reicht die Kanal-ID einzugeben und die Daten können angezeigt werden. Die App kann von Google Play als Gratis-Version (mit Werbung) oder kostenpflichtig heruntergeladen werden.

Das folgende Bild zeigt die Darstellung meiner lokalen Wetterdaten im Browser und Screenshots der Darstellung über ThingView auf dem Smartphone.

 

 

thingview