Archiv der Kategorie: Maker

Arduino-Sensorknoten

Auf der Basis eines ESP8266-Mikrocontrollers von Espressif hatte ich gezeigt, dass man einen WiFi-tauglichen IoT-Knoten zu sehr geringen Kosten (es waren 15 US$) aufbauen kann [Building an IoT Node for less than 15 $: NodeMCU & ESP8266].

Dass WiFi auf Grund der geringen Reichweite und des doch recht hohen Stromverbrauchs für einen batteriebetriebenen IoT-Knoten allerdings nur unter bestimmten Bedingungen geeignet ist, war auch durch eigene Untersuchungen gezeigt worden [IoT Button (5th)].

Der hier betrachtete Sensorknoten soll deshalb neben der Anbindung verschiedener Sensoren auch unterschiedliche Kommunikationsmöglichkeiten (WiFi, LoRaWAN, BLE, GSM) aufweisen. Damit wird es möglich werden, einen konkreten IoT-Sensor baukastenartig zusammenstellen.

Sensorknoten

Der Beitrag „Arduino-Sensorknoten“ wird im Sammelwerk „Messen, Steuern, Regeln mit IBM-kompatiblen PCs“ des Weka-Verlags veröffentlicht.

ISBN 978-3824549009

Die Programmbeispiele werden auf Github abgelegt und stehen zum Donload zur Verfügung.

Der erste Teil des Beitrags ist in der Ausgabe 170 im Februar 2019 erschienen.

Werbeanzeigen

Sonoff SC – Home Air Quality

Sonoff SC ist ein WiFi Luftgüte-Monitor für den Einsatz in Innenräumen.  Es werden Temperatur und Luftfeuchtigkeit, Lichtstärke, Feinstaub und Geräuschpegel erfasst. Die erfassten Daten werden direkt an die iOS/Android App EWeLink geschickt. Die Spannungsversorgung erfolgt über microUSB mit 5 V.

Sonoff SC ist „hacker-friendly“. Ein ATMega328p erfasst die Sensordaten mit Hilfe eines Arduino-Programms und ein ESP8266 dient der WiFi Kommunikation. Sonoff SC Schaltplan und Arduino Code sind im Wiki des Herstellers zu finden.

Wie die folgende Abbildung zeigt, besteht Sonoff SC aus Komponenten, die dem Maker weitgehend bekannt sein dürften.

sonoff_sc_2

Die Feinstaub-Belastung wird mit dem Sharp Dust Sensor GP2Y1010AU0F gemessen. Zur Messung von Temperatur und rel. Luftfeuchtigkeit dient der verbreitete DHT11 Sensor. Ein Elektret-Mikrofon erfasst die Umgebungsgeräusche und ein Fotowiderstand das Umgebungslicht.

Nach Installation der Android App eWeLink (für iOS gibt es eine entsprechende App) kann Sonoff Sc mit dieser App verbunden werden, die dann die erfassten Messgrößen auf dem Smartphone anzeigt.

Screenshot_20181201-143318_eWeLink

Sonoff Sc ist kein professionelles Messinstrument. Das zeigen schon die eingesetzten Low-Cost-Komponenten. Fast viel wichtiger ist es, diesen Sensor als Grundlage für eigene Experimente aufzufassen. Dazu sind alle Informationen, wie Schaltplan und Quellcode, offen gelegt und bei einem Preis von aktuell unter USD 20,- kann man da nichts falsch machen.

Website des Herstellers und Bezugsmöglichkeit: https://www.itead.cc/sonoff-sc.html
Weitere Bezugsmöglichkeiten: Aliexpress, Amazon

Thinger.io IoT Platform

Zahlreiche IoT Plattformen werben um die Gunst potentieller Kunden. Ich bin auf Thinger.io gestoßen, da von dieser Plattform mit dem ClimaStick auch eigene Hardware zur Erfassung von Umweltdaten angeboten wird. Hackster bietet auf dieser Basis auch gleich eine IoT Meteorological Station an.

Interessant ist diese Plattform allemal, da das Verbinden und Verwalten des eigenen IoT-Devices innerhalb weniger Minuten möglich ist.

Die folgenden Merkmale erscheinen mir besonders erwähnenswert:

  • Open Source
    Der Server kann in der eigenen Cloud (z.B. auf einem Raspberry Pi) installiert werden.
  • Flexible Hardware
    Arduino, ESP8266, ESP32, Raspberry Pi, Intel Edison – alles kann problemlos angeschlossen werden.
  • Cloud-Plattform
    Die gehostete Cloud-Infrastruktur mit einer benutzerfreundlichen Administrationskonsole ermöglicht Skalierbarkeit, Geschwindigkeit und Sicherheit.
  • Einfache Codierung
    Um ein Licht aus dem Internet einzuschalten oder einen Sensorwert zu lesen, ist eine einzige Codezeile auf der MCU erforderlich. Aber das ist nicht alles.
  • Für Maker
    Interessenten können sich für einen kostenlosen Account registrieren, um innerhalb weniger Minuten unter Nutzung der Cloud-Infrastruktur mit der Erstellung des ersten IoT-Projekts zu beginnen.

Im Bild zum Beitrag ist ein aus NodeMCU und DHT22 bestehendes IoT-Device mit der Cloud-Infrastruktur verbunden, die die erhobenen Daten visualisiert.

 

ESP32 – Erweiterung der Arduino Familie

Nachdem der verbreitete ESP8266 in die Arduino Umgebung integriert wurde und Ledunia als High-End-ESP8266-Modul (http://ledunia.de/) verfügbar ist, steht mit dem ESP32 der chinesischen Firma Espressif ein weiteres Upgrade der Arduino Familie bereit.

Ich hatte die Benchmarks aus dem Beitrag  „Arduino32: Die jungen Wilden“ [1] mit denen des ESP8266/Ledunia ergänzt [2] und will den deutlich mehr Performance versprechenden ESP32 ebenfalls diesen Tests unterziehen.

Sowohl der ESP8266 als auch der ESP32 Mikrocontroller von Espressif sind in zahlreiche Mikrocontroller-Module eingegangen und heute gerade wegen ihrer WiFi-Eigenschaften oft Bestandteil von Entwicklungen in der Maker-Szene. Beim ESP32 kommt nun auch noch die Bluetooth LE-Konnektivität (BLE) hinzu.

In der Zeitschrift Design & Elektronik Heft 11/2018 ist ein Artikel mit dem gleichnamigen Titel erschienen, der den ESP32 als Erweiterung der Arduino und dessen Features betrachtet.

[1]        Arduino32: Die jungen Wilden (Teil 2).  DESIGN & ELEKTRONIK 06/2016 S.14-17

http://www.elektroniknet.de/embedded/arduino32-die-jungen-wilden-131502.html

[2]        Ledunia – ESP8266 High-End-Modul. DESIGN & ELEKTRONIK  3/2018 S. 16-21

http://www.elektroniknet.de/design-elektronik/embedded/einer-der-hoechstintegrierten-wifi-chips-der-branche-152310.html

 

enviro:bit add-on für micro:bit

enviro:bit ist eine Erweiterung für den micro:bit Mikrocontroller zur Erfassung von Temperatur, relativer Feuchte und Druck über einen BME280 Sensor, Licht und Farbe über einen TCS3472 Sensor sowie Geräuschen über ein MEMS Mikrofon. Ein Steckverbinder zum Kontaktieren eines micro:bit Mikrocontrollers ist vorhanden.

enviro-bit

Die Programmierung in MicroPython wird durch eine Library unterstützt. Unter Verwendung der Library bme280.py kann das folgende Programm zur Erfassung von Temperatur und relativer Feuchte erstellt werden. Die serielle Ausgabe zeigt der folgende Screenshot.

from microbit import *
import os
import bme280
bme = bme280.bme280()

CYCLE = 5000

uart.init(baudrate=115200)
uart.write("\r\n" + os.uname().machine + " measuring environmental data by BME280\r\n")
uart.write("Cycle time is " + str(CYCLE) + " msec\r\n\r\n")

while True:
    temp = round(bme.temperature(),1)
    display.scroll(str(temp)+" *C")
    uart.write("BME280 temperature = "+str(temp)+" *C\r\n")
    humi = round(bme.humidity())
    uart.write("BME280 humidity = "+str(humi)+" %\r\n\r\n")
    sleep(CYCLE)

BME280 Output

Im Beitrag LIGHT AND COLOR MEASUREMENTS WITH THE PIMORONI ENVIRO:BIT FOR THE MICRO:BIT werden verschiedene Auswertungen der Signale des TCS3472 Sensors beschrieben.

Mit Hilfe von Klatschgeräuschen können Schaltvorgänge ausgelöst werden. Der Beitrag Build a clap-activated light with micro:bit! zeigt eine solche Anwendung.

 

 

 

Einfache LoRaWAN-Knoten für das IoT

Low Power Wide Area Network (LPWAN) steht als Oberbegriff für viele unterschiedliche Protokolle. Neben dem hier betrachteten LoRa stehen Sigfox, LTE-M, Weightless, Symphony Link und einige andere im Wettbewerb.

Im Gegensatz zu einigen anderen Protokollen ist der LoRa-Standard Open Source und nicht proprietär. Das ist ein Grund für das rasante Wachstum von LoRaWAN-Netzwerken über ganze Länder, beginnend in den Ballungszentren.

Im Kindle eBook mit dem Titel „Einfache LoRaWAN-Knoten für das IoT“ beschreibe ich, wie mit sehr einfachen Mitteln und zu niedrigen Kosten LoRaWAN-Sensorknoten ohne Lötarbeiten selbst entwickelt werden können, die ihre Daten dann an einen LoRaWAN-Server senden.

Im Bild sind die betreffenden LoRaWAN-Knoten zu sehen:Nodes-1

Vom LoRaWAN-Server sind die Daten abrufbar und in eine beliebige Anwendung integrierbar. The Things Network (TTN) stellt mit seinem dezentrale Open-Source-Netzwerk die erforderliche Infrastruktur bereit.

Die folgende Abbildung zeigt, wie durch eine Subscription des Topics elsys_nodes/devices/+/up/#  alle zum LoRaWAN-Server hochgeladenen Messages von in der Application elsys_nodes registrierten Devices vom MQTT-Client MQTTlens empfangen werden.

Abbildung 57

Zum aktuellen Zeitpunkt, das war der 15.09.2018 11:38:39, betrug die Temperatur 19.4 °C bei einer relativen Luftfeuchtigkeit vom 71%. Die Batteriespannung lag bei 3.532 V.

Ein andere Möglichkeit der weiteren Verarbeitung der über mittelten Daten besteht darin, dass beispielsweise ein MQTT-Client auf einem Linux-Device, wie z.B. Raspberry Pi, diesen MQTT-Topic abonniert und daraus weitere Informationen respektive Aktionen ableitet. Das könnte dann z.B. eingebunden in eine Website so aussehen:

Abbildung 58

Wer bislang mit einem Arduino erste Erfahrungen sammeln konnte, der ist bestens auf diese zukunftsträchtige Aufgabenstellung vorbereitet und kann erste praktische Erfahrungen im Internet of Things sammeln.

Die Quelltexte zu den behandelten LoRaWAN-Knoten sind auf Github abgelegt.

Link zum eBook: https://www.amazon.de/dp/B07HDP62K3
Link zur Printausgabe: https://www.amazon.de/dp/3907857356

 

Raspberry Pi 3 Model B vs. 3 B+

Hier ist ein interessanter Vergleich zwischen Raspberry Pi 3 Model B und Raspberry Pi 3 Model B +.

Fazit des Autors Andrew Back:
Leistungssteigerungen sind immer willkommen. Während es immer jemanden gibt, der auf der Suche nach zusätzlicher Rechenleistung oder grösserem Netzwerkdurchsatz ist, ist Power-over-Ethernet mit ziemlicher Sicherheit das heißeste Feature des Raspberry Pi 3 Model B +. Der Vorteil, ein Gerät mit Netzwerk und Stromversorgung über ein einziges Kabel betreiben zu können – und zwar ohne eine Unordnung von Netzteilen und Stromkabeln – ist nicht zu unterschätzen.