Archiv der Kategorie: Visualisierung

IoT-Projekte für Maker mit WisBlock von RAKwireless

WisBlock ist eine modulare Open-Source-IoT-Entwicklungsplattform, die von RAKwireless entwickelt wurde.
Sie wurde entwickelt, um eine schnelle und einfache Möglichkeit zur Entwicklung von IoT-Produkten zu bieten, und kann zur Erstellung verschiedener Arten von IoT-Produkten wie Smart Home, Industrie- und medizinische Geräte verwendet werden.
WisBlock Core sind Mikrocontroller-Module mit integrierter WiFi-, BLE-, LoRaWAN- bzw. NFC-Konnektivität und bieten verschiedenen I/O-Optionen.
WisBlock Base ist das Basisboard für Block Core und die WisBlock Module.
Die Module können miteinander verbunden werden, um ein komplettes IoT-System zu erstellen.

WisBlock is a modular open-source IoT development platform developed by RAKwireless.
It is designed to provide a fast and easy way to develop IoT products and can be used to create various types of IoT products such as smart home, industrial and medical devices.
WisBlock Core are microcontroller modules with integrated WiFi, BLE, LoRaWAN, or NFC connectivity and offer various I/O options.
WisBlock Base is the baseboard for WisBlock Core and the WisBlock modules.
The modules can be connected together to create a complete IoT system.

IoT-Projekte für Maker ist ein eBook mit dem Sie Wisblock von RAKwireless an Hand praktischer Anwendungen kennenlernen können.

Das eBook ist so angelegt, dass es bei neuen Anforderungen oder neuen Komponenten im WisBlock System erweitert wird.

Haben Sie sich für den Kauf dieses eBook entschieden, dann erhalten Sie die Updates nach Registrierung kostenlos. Die in der Arduino IDE erstellten Anwendungsbeispiele finden Sie auf GitHub.

Eine englische Version ist von RAKwireless in Vorbereitung.

IoT Projects for Makers is an eBook with which you can learn Wisblock from RAKwireless using practical applications.

The eBook is designed to expand as new requirements or components are added to the WisBlock system.

If you have decided to purchase this eBook, you will receive free updates after registration. The application examples created in the Arduino IDE can be found on GitHub.

An English version is in preparation by RAKwireless.

M5Stack Prototyping Platform

Im Blogbeitrag Rapid Prototyping mit M5Stack hatte ich die M5Stack Family als interessante Prototyping Platform vorgestellt.

Dieser Beitrag zeigt an Hand einer einfachen Wetterstation als Beispiel einer nahezu beliebigen IoT-Anwendung, wie mit M5Stack Komponenten schnell ein ansehnlicher Prototyp erstellt werden kann

Mit einem M5Stack Basic Core und einer ENV Unit zur Erfassung von Temperatur, rel. Luftfeuchte und Luftdruck sowie einem SIM800L Module zum Versenden der Daten über GPRS hat man schnell eine abgesetzte Wetterstation aufgebaut, die auch ohne WLAN Zugang autonom funktionieren kann.

Der M5Stack Core besitzt in seinem Unterteil nur einen 150 mAh. Will man die Akkuleistung, beispielsweise zur Pufferung, erhöhen, dann kann ein M5GO/FIRE Battery Bottom Charging Base als Unterteil eingesetzt werden.

M5Stack Basic Core

Die ENV Unit ist ein Umgebungssensor, der zur Messung von Temperatur, relativer Luftfeuchtigkeit und Luftdruck verwendet werden kann. Intern werden die Sensoren DHT12 und BMP280 verwendet.

Der DHT12 ist eine Weiterentwicklung des bekannten DHT11 Sensors, der nun präziser und mit einer I2C-Schnittstelle ausgestattet ist. Der BMP280 ist ein barometrischer Drucksensor, der speziell für mobile Anwendungen entwickelt wurde.

Kontaktiert wird die ENV Unit über den an der linken Seite des M5Stack Basic Core angeordneten Grove-PortA (i2C).

ENV Unit with Temperature Humidity Pressure Sensor (DHT12+BMP280)

SIM800L ist ein Mobiltelefonmodul auf Basis des SIM800L GSM / GPRS-Modul von SIMCOM,

GSM Module SIM800L with MIC & Headphone Jack

Mit diesen drei Komponenten wird die Wetterstation aufgebaut. Die Kosten der ansprechenden Anordnung belaufen sich dabei auf:

KomponentePreis
M5Stack Basic Core$ 27.95
ENV Unit$ 3.39
GSM Module SIM800L with MIC & Headphone Jack $ 9.95
Summe$ 41.29

Die folgenden Bilder zeigen den Ablauf vom Programmstart bis zum Abschluss der Übertragung des Temperaturmesswertes, der hier für die Evaluierung ausreichend erschient.

Initialisierung nach Programmstart
Messwerte erfasst – Versenden zum Thingspeak Server
Messwerte versendet

Der Quelltext für das Programm M5Stack_DHT12_Thingspeak ist auf Github unter https://github.com/ckuehnel/M5Stack/tree/master/M5Stack/M5Stack_DHT12_Thingspeak abgelegt. Anpassungen auf weitere Parameter und andere Displayausgaben können nach dem Download leicht vorgenommen werden. Programmiert wurde mit der Arduino IDE v1.8.9.

Das Ergebnis der abendlichen Abkühlung ist im folgenden Bild zu sehen.

Temperaturverlauf 6.08.2019 abends

Ein Wort noch zur Stromversorgung. Der SIM800L ist bekannt dafür, dass er in Spitzen bis zu 2 A Stromaufnahme verzeichnet. Die Spannungsversorgung kann beim M5Stack aber vernünftig nur über den USB-Anschluss erfolgen. Dadurch ist der zur Verfügung stehende Strom limitiert.

Ich habe einen D-Link DUB-H4 USB-Hub verwendet, der vier Downstream-USB-Anschlüsse Typ A (Buchse) inklusive Schnellladeanschluss besitzt und durch ein externes Netzteil gespeist wird.

Der fürs iPad u.a. stromhungrige Verbraucher gedachte Schnellladeanschluss dient hier zur Stromversorgung und die sporadischen Brown Out-Resets des ESP32 sind Vergangenheit.

C.H.I.P. als Sensor-Knoten

Wegen seiner Kompaktheit kann C.H.I.P.  dann sehr gut als Sensor-Knoten eingesetzt werden, wenn es nicht auf minimalen Stromverbrauch ankommt.

Für erste Tests habe ich mit dem Program chiplog.py  die CPU-Last, den verfügbaren Speicher und die Boardtemperatur abgefragt und über Thingspeak visualisiert. Ausserdem wird beim Überschreiten der Temperatur eine Push-Message versendet. Mit dem Programm stress habe ich die CPU-Last erhöht, um die Auswirkungen auf die Boardtemperatur zur verdeutlichen.

CPU_Load

Mem_avail

PMU_Temp

Um einen externen Sensor abfragen zu können, bedarf es nur noch weniger zusätzlicher Zeile Code, die für einen Temperatur- und Feuchtigkeitssensor SHT31 noch folgen.

Das Programm BatStatus.py zeigt den Status der Batterie in den ersten Minuten nach dem Anschliessen an den C.H.I.P.  Controller.

BatStatus

Die Programme chiplog.py und BatStatus.py sind auf Github abgelegt. Im Wiki sind Installationshinweise nach einem Flashen des Betriebssystems und dem erforderlichen Python-Setup aufgeführt.

 

Einfache Wetterstation für € 20

sht31chip

Mit dem $ 9 C.H.I.P. und einem Grove SHT31 ($ 11.90) kann man schon für € 20 Temperatur und relative Luftfeuchtigkeit erfassen und in der Cloud visualisieren.

Vorbedingung ist die Installation der folgenden Pakete:

sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-dev

Drei sehr überschaubare Scripte übernehmen die Abfrage des Sensors und das Versenden der Daten.

Mit dem Python Script SHT31.py werden von dem über den I2C-Bus angeschlossene Sensor Temperatur und relative Luftfeuchtigkeit abgefragt und zwischengespeichert. Das Shell Script thingspeak.sh sendet die erhobenen Messwerte an den Thingspeak-Server, während das Shell Script mqtt.sh die gleichen Daten an einen MQTT Broker sendet. Mit dem Script weather.sh werden diese drei Scripte gekapselt und in die Crontab eingetragen.

# m h dom mon dow command
*/5 * * * * /home/weather.sh

Durch diesen Eintrag erfolgt ein Aufruf des Scripts weather.sh alle fünf Minuten.

Die Scripte stehen wieder in meinem CHIP Repository zum Download zur Verfügung. Hier können die Ergebnisse der Messungen verfolgt werden.

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.

 

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