IoT für „Pfeifen“

Ein Beitrag von Andreas K. auf TheThingsNetwork.org

Das Spielen einer Orgel ist eine Wissenschaft für sich, gleichwohl auch alles was dazu gehört.
Wußtet Ihr, dass eine Temperaturänderung von 10 Grad eine Frequenzänderung von 7Hz bei Labialpfeifen ausmacht ? Oder dass Ihre Wohlfühltemperatur zwischen 14 und 16 Grad liegt ?

Wir bisher auch nicht ¯(ツ)/¯.

Aber man lernt ja immer wieder dazu, so auch gerade beim Anwendungsfall „Klimamessung von Orgeln“.
Ein Freund und Organist der Moritzorgel in Halle erzählte mir von seiner „Klimamessung“ via 3G Router und Netatmo, hinter dicken Mauern wahrlich keine Freude.
So kam doch schnell die Idee auf, das kann man mit den kleinen TinyLora Modulen locker abbilden.
Ein Blick auf die Karte zeigte ein Gateway in der direkten Nachbarschaft, umso besser.

So zogen 5 kleine Nodes aus.

und verteilten sich

um fortan das Klima der Moritzorgel in Halle zu messen.

Visualsiert wird das ganze via InfluxDB und Grafana.

Der hat doch ne Beule!?

Es gibt was Neues zum TinyLoRa Node. Es wurden erste Exemplare mit Beule gesichtet.

Die Lösung des Rätsels findet sich bereits in Stefans Gitea. Dort gibt es jetzt neue Optionen.

define HAS_SHT21_BRIGHTNESS – configure a SHT21 Sensor + Brightness Measurement via LED
define HAS_BME280_BRIGHTNESS – configure a BME280 Sensor + Brightness Measurement via LED

Auszug aus der secconfig.h

Ah, richtig – die Beule ist durchsichtig und im Quelltext steht etwas von Brightness.

Der Sketch wurde so angepasst das über einen Eingang die Helligkeit gemessen werden kann. Die Zielstellung dabei war es nicht, die Helligkeit auf 2 Lux genau zu ermitteln sondern zu erkennen, ob ein Raum hell oder dunkel ist. Dies hat mit speziellen Anforderungen eines Anwendungsfalles zu tun für welchen wir die Erweiterung geplant und realisiert haben.
Um dem Low Poweransatz gerecht zu werden bekommt die LED nur für die Messungen Spannung.

Die LED ist in Sperrrichtung an 2 GPIOs angeschlossen. Die LED wird aufgeladen und gemessen, bis sie wieder entladen wird. Je dunkler die Umgebung der LED ist, desto länger dauert es, sie zu entladen.
Am besten geeignet sind klare LEDs mit einer niedrigen Vorwärtsspannung, z.B. rot oder gelb.

Dies bedeutet in dem folgenden Bild – ein Low-Level signalisiert einen hellen Raum

Damit sollte man dann in einer finalen Visualisierung entweder die Werte invertieren oder einfach nur anhand zweier Schwellwerte Hell und Dunkel ausgeben. Wichtig – diese Schwellwerte sollten individuell für den jeweiligen Einbauort definiert werden.

Zum Prinzip der Messung ein Auszug aus https://www.elektronik-labor.de/Elo/LEDsensor.html:

Für die Lichtmessung wird die LED zunächst kurz in Sperrrichtung auf 3 V geladen. Die LED-Sperrschicht ist zugleich ein kleiner Kondensator mit ca. 5-20 pF, der diese Spannung mehrere 100 Millisekunden halten kann. Ein als hochohmiger Eingang geschalteter Port liest also High-Zustände. Ganz anders sieht es aber aus, wenn die LED beleuchtet wird. Nun arbeitet sie gleichzeitig als Fotodiode. Der erhöhte Sperrstrom entlädt die Sperrschichtkapazität in wenigen Millisekunden, bei starker Beleuchtung sogar in weniger als einer Millisekunde. Damit setzt die LED die Beleuchtungsstärke in eine Messzeit um.

Damit erhält der Tiny eine weitere Funktion – und es geht weiter!
Vielen Dank an @twentysixer für die Erweiterung des Sketches um diese Funktion und die Ergänzung der Doku auf https://www.ttgw.de

Feinstaubsensor – Auswahl und Gehäuse

Schon seit vielen Monaten wabert das Thema Feinstaubfilter durch die Tweets und Einträge diverser Foreneinträge. Seit jetzt der Paxcountersketch von Cyberman54 den SDS011 unterstützt habe ich mich mal daran gemacht, meine luftdaten.info-Version mit WLAN einmal auf LoRa umzubauen.

Eine der ersten Reaktionen im Forum – Paxcounter und Feinstaubsensor – wie passt das zusammen?
Nun ja, der Paxcounter wurde in der letzten Zeit vom einfachen Sensor eher zum Schweitzer Taschenmesser umgebaut und wenn man die Parameter entsprechend setzt macht man aus diesem Node einen Klimasensor.

Doch dazu mehr. Hier soll es erst einmal um die Geräteauswahl und das Gehäuse gehen.

Die Geräteauswahl war in meinem Fall recht einfach. Im Standard unterstützt der Feinstaubsensor von luftdaten.info den Node.MCU in zwei unterschiedlichen Bauformen. Da ich gern ein dafür designtes Gehäuse nutzen wollte, musste das Board vergleichbare Maße haben. Ein Display war weniger relevant da dieses im Gehäuse eh nicht mehr sichtbar sein wird.

„Feinstaubsensor – Auswahl und Gehäuse“ weiterlesen

TinyLoRa Node

+ + + Update 24.05.2020 – Alternativer Programmieradapter und Erweiterung um die Messung der Helligkeit + + +

Der TinyLoRa Node steht aktuell in der Version Zwei unter https://ttgw.de zur Verfügung. Dort finden sich neben den Gerber-Files für die Platinen auch die stl-Files für verschiedene Gehäusevarianten zum selbst Drucken und eine BOM für die Teile.

Dabei ist es gar nicht so viel, was sich am Ende auf der Platine wieder findet. Die Arbeit macht ein AT Tiny 84-Chip und für die Kommunikation ist ein RFM95-Modul zuständig.

Dazu noch zwei Widerstände, zwei Kondensatoren, eine LED und eine Batteriehalterung für eine CR2032-Knopfzelle und eine Antenne – fertig ist die Hardware.

Die Platinen habe ich direkt beim Developer des Nodes bezogen, mit den Gerberfiles kann man diese jedoch auch bei den einschlägigen PCB-Herstellern bestellen.

Dem ganzen Kleinkram gibt es beim Elektronikversand oder dem freundlichen Chinesen – je nach Geschmack und Termindruck. Alle Teile sind im SMD-Format 1206.

„TinyLoRa Node“ weiterlesen

Der BBC micro:bit

Micro:bit

Nach dem wir mit dem Verein Nucleon e.V. im Sommer 2019 einen ersten Schnupperkurs für Kids von 9-11 Jahren durchgeführt haben möchten wir an dieser Stelle nun weitere Informationen, Beispiele und Links zum Thema micro:bit bereitstellen. Wir haben mit dem Kurs unsere ersten Erfahrungen sammeln können und sind davon überzeugt das wir dieses Thema weiter ausbauen müssen, der Bedarf ist vorhanden.

Was ist der BBC micro:bit überhaupt?

Der micro:bit ist ein kleiner kostengünstiger Computer der speziell für die Schulungen auch sehr junger Schüler gebaut worden ist.

Der micro:bit ist das Resultat einer Zusammenarbeit von Firmen und Communities rund um die Welt. Die Micro:bit Educational Foundation hält die Gemeinschaft zusammen so das dort viele Informationen zusammen laufen und auch die Links zu den online Plattformen direkt zu erreichen sind.

Übersicht BBC Micro:bit von https://microbit.org

Node-RED und die Meta Daten der Nodes

Wir haben nun schon die Nucleon Wetter Nodes in einem Node-RED Flow, so das diese ihre Wetter Daten in die InfluxDB senden. Jeder Node liefert aber auch noch eine Handvoll Meta Daten über den Standort und interessante Daten zur Übertragung. Diese Daten wollen wir natürlich auch aufbereiten und zur Anzeige bringen.

Übersicht des vollständigen Flows mit Meta Daten

Der oben gezeigte Node-RED Flow ist das Ziel dieses Beitrags. Wir werden auch hier jeden Node besprechen so das am Ende ein Nachbau in der eigenen Node-RED Instanz möglich wird.

„Node-RED und die Meta Daten der Nodes“ weiterlesen

Node-RED und der Wetter-Flow für den BaseNode

Wir haben im Artikel Node-RED zur Verarbeitung der TTN Daten unsere Node-RED Umgebung eingerichtet, jetzt werden wir die ersten Schritte gehen um aus dem The Things Network (TTN) die ersten Daten abzuholen.

Grundlegende Funktionsweise

Node-RED arbeitet mit grafischen Ablaufplänen den sogenannten Flows. In diesen Flows werden diverse Nodes eingesetzt die unterschiedliche Funktionen beinhalten. Im folgenden werde ich die verwendeten Nodes vorstellen.

Die verwendeten Nodes in Node-RED

Der Wetter Flow in der Übersicht
„Node-RED und der Wetter-Flow für den BaseNode“ weiterlesen

Node-RED zur Verarbeitung der TTN Daten

Die Node-RED Plattform eignet sich hervorragend um schnell Daten von A nach B zu bekommen und sie zwischen durch anzupassen, transformieren oder mit anderen Daten anzureichern, als sie auch auf unterschiedliche Datensenken zu verteilen.

Ein klassischer ETL Prozess mit grafischer Oberfläche.

Die Einrichtung der Datenbanken können wir an anderer Stelle mal genauer besprechen, hier soll es erst einmal um Node-RED gehen.

Installation

Node.js und npm

Um Node.JS auf dein System zu installieren gibt es viele Möglichkeiten, ich möchte an dieser Stelle die Installation unter Debian kurz erklären. Wer schon die aktuelle Version von Node.JS und npm laufen hat kann zur Installation von Node-RED weiter gehen.

Du musst Node.js PPA zu deinem System hinzufügen, welches auf der offiziellen Website von Nodejs bereitgestellt wird. Wir müssen auch das Software-Properties-Common-Paket installieren, falls es nicht bereits installiert ist. Du kannst entweder die aktuelle Version Node.js oder die LTS-Version installieren.

Eine gute Idee ist es auch für Node-RED einen eigenen User anzulegen, da einige Nodes nicht sauber installiert werden können wenn Node-RED unter root installiert wurde. Grade beim RaspberryPI sind Probleme bekannt wenn Node-RED unter dem User pi installiert ist.

„Node-RED zur Verarbeitung der TTN Daten“ weiterlesen

Wettermonster eine Anleitung für die eigene Wetterstation

Einfach, Günstig, Gut…

…das ist die Idee hinter Wettermonster. Jeder Interessierte soll die Möglichkeit bekommen, selbst eine Wetterstation zu betreiben.

So wirbt Wettermonster auf ihrer Seite und hält das Versprechen auch ein.

Jan Dopheide hat im Rahmen einer Jugend-forscht-AG an seiner Schule und des Wettbewerbs Schüler experimentieren eine Wetterstation gebaut und im Nachgang dann die Webseite aufgebaut in der sehr gut erklärt wird wie man zu einer eigenen Wetterstation kommt.

Wir haben uns im Verein Nucleon e.V. nun zum Ziel gesetzt diese Wetterstation zu einer autonom arbeitenden LoRaWAN Wetterstation auszubauen. Das interessante an der Seite ist das neben dem Tutorial auch eine Karte mit den Stationen aufgebaut wurde an die man dann seine Daten senden kann. Da der verwendete MCU seine Daten aber mittels WLAN an die Seite sendet haben wir eine kleine Schnittstelle bauen müssen um die Daten unserer Stationen über LoRaWAN, dem The Things Network und Node-RED dann auch zu Wettermonster senden können.

Dieses werden wir hier nun näher beschreiben.

„Wettermonster eine Anleitung für die eigene Wetterstation“ weiterlesen

Der Sketch für den Nucleon BaseNode

Der BaseNode mit BME280 als Wetterstation

Hardware

  1. Nucleon BaseNode (Aufbau hier)
  2. BME280 (Datenblatt)

Auf dem letzten Workshop haben wir nun den Nucleon BaseNode gebaut, hier geht es nun um den Sketch der zum Betrieb notwendig ist.

Der Sketch ist so aufgebaut das wir unterschiedliche Wetter/Klima Nodes in einer TTN Application verarbeiten können. Somit haben wir die Möglichkeit die entstehenden Daten geregelt zu empfangen und in unsere InfluxDB zu speichern. Auf diese kann dann unser Wetter Dashboard zugreifen und die Werte aller Nodes anzeigen.

Der Sketch kann natürlich auch an jede beliebige andere TTN Application seine Daten senden, aber mit der von uns bewirtschafteten Application ist die Datenverarbeitung schon geregelt.

„Der Sketch für den Nucleon BaseNode“ weiterlesen