Archiv des Autors: ckuehnel

Avatar von Unbekannt

Über ckuehnel

Mein aktuelles Profil ist unter https://www.linkedin.com/in/ckuehnel zu finden.

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.

pycom LoPy – erste Schritte mit ESP32

Mit dem LoPy habe ich nun nach dem WiPy das zweite Controller-Board von pycom in Betrieb genommen. Die Inbetriebnahme gestaltet sich nach der pycom Doku recht problemlos.

pycom_boards

Aus der Pymakr IDE heraus habe ich über USB-Serial mit den Boards kommuniziert. Ganz wichtig ist ein gelegentliches Firmware Update, da die Firmware selbst noch spürbar in Entwicklung ist.

Ich hatte folgende Situation vorgefunden, die jeder mit seinem System durch die folgenden Schritte nachvollziehen kann:

>>>import os
>>>os.uname()

WiPy:

(sysname='WiPy', nodename='WiPy', release='0.9.2.b2', version='7713d55 on 2016-10-28', machine='WiPy with ESP32')

LoPy:

(sysname='ESP32', nodename='ESP32', release='0.9.0b', version='8785822 on 2016-10-06', machine='LoPy with ESP32')

und musste feststellen, dass nicht alle von mir für erste Tests benutzten Funktionen erwartungsgemäß funktionierten. Nach dem Firmware-Update zeigte sich die Situation dann folgendermaßen:

WiPy:

(sysname='WiPy', nodename='WiPy', release='0.9.6.b1', version='v1.8.6-40-gd10463e on 2016-11-25', machine='WiPy with ESP32')

LoPy:

(sysname='LoPy', nodename='LoPy', release='0.9.6.b1', version='v1.8.6-40-gd10463e on 2016-11-25', machine='LoPy with ESP32')

Das Firmware-Update war also erforderlich und erfolgreich.

Mit ein paar einfachen Files habe ich meine Tests begonnen. Alles weiteren Experiment werden auf GitHub abgelegt.

Die Terminal-Ausgabe der Scripts hello.py, blink.py und TMP36.py sind im folgenden Screenshot zu sehen.

output

Weitere Infos und Programmbeispiele sind hier zu finden.

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.