Schlagwort-Archive: Arduino

Überwachung der Luftqualität in Innenräumen über CO2, eTVOC, eCO2 und iAQ

In der Vergangenheit habe ich mich mehrfach mit der Überwachung der Luftqualität in Innenräumen befasst.

Die Informationen zur Bewertung der Luftqualität habe ich in einer Sammlung von Beiträgen zusammengestellt, die Ihnen gerade in einer Zeit erhöhter Belastung durch über Aerosole übertragene Infektionskrankheiten den Zusammenhang von CO2-Konzentration und Infektionsrisiko vor Augen führen soll.

Geeignete Sensorik stelle ich Ihnen vor und vergleiche deren Resultate. Praktische Anwendungsbeispiele runden den messtechnischen Teil ab.

Mit dem hier vermittelten Wissen und den zur Verfügung stehenden Elektronikkomponenten (Sensoren, Mikrocontroller) kann der Maker leicht
eigene Lösungen zur Überwachung der Luftqualität implementieren.

Wegen der starken Verbreitung in der Maker-Szene habe ich hier auf
Arduino oder Arduino-kompatible Mikrocontroller gesetzt.

Hier finden Sie den Text als Flipbook.


2022-03-10/ck

Flip Dot Status Indicator

Elektromagnetische Anzeigetechnologien ermöglichen die Anzeige von Informationen ohne Strom und deren Sichtbarkeit bei sehr unterschiedlichen Lichtverhältnissen.

Ich möchte hier nicht auf die eher betagten Anzeigen im Flughafen eingehen, sondern speziell auf Statusanzeigen (Flip Dot Status Indicators) eingehen, die sich auf Grund des nur während des Umschaltens auftretenden Strombedarfs auch für IoT-Anwendungen eignen.

Den hier eingesetzten Flip Dot Status Indikator hat mir die Fa. Alfa-Zeta Ltd. aus Łódź (PL) zur Verfügung gestellt.

Jede Scheibe enthält einen Permanentmagneten, der mit einem Elektromagneten zusammenwirkt. Ein kurzer Stromimpuls aktiviert eine Umkehr des im Elektromagneten induzierten Magnetfelds, die bestimmt, ob das Segment freigelegt (set) oder zurückgezogen (reset) wird.

Die für die Ansteuerung des Flip Dots notwendigen technischen Daten sind in der folgenden Tabelle zusammengestellt:

MerkmalWert
Pulsdauer Schaltvorgang1,5 ms
Strom für Schaltvorgang (min)250 mA
Strom nach erfolgtem Schaltvorgang0
Spannung4,5 V – 125 V
Spulenwiderstand (@20°C)12 Ohm
Technische Spezifikation Flip Dot Status Indikator

Beim hier verwendeten, zweipoligen Flip Dot wird das Umschalten des Status durch Richtungsänderung des kurzen Stromimpulses durch die Magnetisierungsspule erreicht. Über eine H-Brücke kann die Umschaltung der Stromrichtung im einfachsten Fall vorgenommen werden.

Ansteuerung Flip Dot Status Indikator

Durch Verwendung eines H-Brücken-Moduls ergibt sich die folgende Ansteuerung durch einen Mikrocontroller (hier ein Arduino Uno).

Die beiden Steuerausgänge müssen für einen Stromimpuls immer gegeneinander invertierte Signale führen, wie das leicht am einfachen Ansteuerprogramm zu erkennen ist. Das Programm selbst finden Sie wieder auf Github unter https://github.com/ckuehnel/Arduino2020/tree/master/Generic/FlipDot.

Ansteuerung Flip Dot Status Indicator über H-Brücke
/*
 * File: FlipDot.ino
 * 
 * Controlling Flip Dot Status Indicator by H-Bridge
 * short video: https://youtu.be/UxTjOamWLgs
 * 
 * 2021-12-01 Claus Kühnel info@ckuehnel.ch
 */
 
#define DEBUG 1

const int IN1 = 2;
const int IN2 = 3;

void setup() 
{
  Serial.begin(115200);
  delay(2000); // wait for serial monitor
  
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);

  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
}

void loop() 
{
  FlipDotOn();
  delay(2500);
  FlipDotOff();
  delay(2500);
}

bool FlipDotOff(void)
{
  if (DEBUG) Serial.println("FlipDot Off");
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  delayMicroseconds(1500);
  digitalWrite(IN1, LOW);
  return true;
}

bool FlipDotOn(void)
{
  if (DEBUG) Serial.println("FlipDot On");
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  delayMicroseconds(1500);
  digitalWrite(IN2, LOW);
  return false;
}

2021-12-02/CK

Seeeduino XIAO

Seeeduino XIAO ist das kleinste Arduino-kompatible Board in der Seeeduino-Familie. Basis des XIAO ist ein Microchip-SAMD21 (ARM Cortex-M0+ CPU (SAMD21G18)). Der Controller weist 256 KB Flash Memory und 32 KB RAM auf und wird mit 48 MHz getaktet.

Aus dem Pinout des Seeeduino XIAO ist die Ausstattung des kleinen Boards mit Schnittstellen ersichtlich. Durch den mit 48 MHz getakteten Cortex-M0+ weist das kleine Board eine gute Performance auf. Der Dhrystone Benchmark liefert einen Wert von 41589 Dhrystone/sec und das VAX MIPS Rating beträgt 23.67. Für raumsparende Aufbauten und Wearables ist das Board sehr geeignet, wenn auch die On-Board LEDs und die Stromaufnahme von ca. 350 uA im Sleep Mode weniger optimal sind.

Pinout Seeeduino XIAO
Dhrystone Benchmark Resultate Seeeduino XIAO

Weiterführende Informationen: http://wiki.seeedstudio.com/Seeeduino-XIAO/

bpi:bit – Mehr Power im micro:bit Universum

In meinem Beitrag Mikrocontroller nicht nur für die Schule! (Design & Elektronik 01/2018, MF40-44) hatte ich BBC micro:bit und Calliope mini, beides für die Grundschul-Ausbildung konzipierte Mikrocontroller-Boards, vorgestellt und deren Erweiterungsmöglichkeiten betrachtet.

Befördert durch den Edge-Connector des BBC micro:bit werden mittlerweile zunehmend Peripherieerweiterungen für den BBC micro:bit angeboten, die diesen Controller auch für Maker interessant machen.

Einen Überblick über vorhandene Erweiterungen kann man sich beispielsweise bei Reichelt oder den folgenden Adressen holen:

Durch den im BBC micro:bit eingesetzten Mikrocontroller nRF51822 gerät man aber auch schnell an Grenzen. Will man beispielsweise seinen BBC micro:bit über WiFi vernetzen, dann ist dafür bereits ein Zusatzmodul erforderlich. Auch vom Speicherausbau her sind Grenzen gesetzt, die den Wunsch nach einem Mikrocontroller mit mehr Performance aufkommen lassen.

Mit dem bpi:bit des Banana-Pi Herstellers SinoVoip gibt es einen solchen Mikrocontroller auf Basis eines ESP32. Warum bei heise der bpi:bit als kuriose Kopie abgetan wird, ist für mich nur schwer nachvollziehbar. Die nachfolgende Tabelle zeigt die Merkmale von bpi:bit und micro:bit im Vergleich.

Wer bislang seinen BBC micro:bit bereits mit MicroPython oder der Arduino IDE programmiert hat, bekommt mit dem bpi:bit eine leistungsstarken Controller incl. WiFi für seine micro:bit Umgebung.

Nutzt man alle WS2812, dann kommt man um eine Fremdspeisung des Moduls nicht umhin, denn der Strombedarf übersteigt das, was ein USB-Anschluss zur Verfügung stellt.

Modulbpi:birmmicro:bit
CPUESP32 nRF51822
RAM520 KB256 KB
ROM448 KBN/A
Flash512 KB16 KB
WiFi 802,11 b/g/n/e/ich N/A
Bluetooth BT4.2 BR/EDR und BLE BLE
Sensoren2 Fototransistoren,
Thermistor,
MPU-2950
LED-Matrix,
On-Chip Temperatursensor,
LSM303GR
SummerSummerN/A
LEDs 25 Neopixel-LEDs (WS2812 ) 25 rote LEDs
GPIOEdge-Connector (Goldfinger)Edge-Connector (Goldfinger)
Tasten2 programmierbare Tasten 2 programmierbare Tasten
USBmicro-USB (UART)micro-USB
Software Webduino, Arduino,
MicroPython, Scratch X
Microsoft MakeCode, Arduino
MicroPython, Scratch X
Grösse5 x 5 cm5 x 4 cm

Maduino GPRS A6

Maduino GPRS A6 ist ein kostengünstiger Netzwerkknoten für das IoT. Der Hersteller
Makerfabs mit Sitz in Shenzhen, China hat auf dem Board einen Mikrocontroller ATmega 328, ein GRRS/GSM-Modul AI-Thinker A6, ein und ein integriertes Power-Management integriert.

Maduino GPRS A6

Das GRPS/GSM-Modul A6 unterstützt Quad-Band 850/900/1800/1900 MHz, das jedes GSM-Netzwerk abdeckt. In Verbindung mit einer SIM-Karte können Daten über GPRS übertragen werden. In meinem Post 2G für IoT Anwendungen hatte ich hierzu entsprechende Hinweise gegeben.

Das Modul kann über die Arduino IDE programmiert werden. Im Wiki sind Hinweise zur Inbetriebnahme und Programmierung enthalten. Hinweise zu einem Firmware Update sind hier zu finden.

Angekündigt: MAIXDUINO

Maixduino, Sipeed’s neues MAiX-Board, führt die Arduino IDE und -Bibliotheken mit den MAiX RISC-V Boards (Kendryte K210-Chips) zusammen, wodurch eine großen Anzahl vorhandener Open-Source Arduino-Bibliotheken für die schnelle Entwicklung und das Prototyping mit Sipeed’s RISC-V Boards eingesetzt werden kann.

On-board sind K210 und ESP32. Auch die KPU des K210 wird unterstützt.

Ich verfolge Sipeed auf Twitter, um die Verfügbarkeit nicht zu verpassen. Sipeed’s Development Boards sind unter https://www.seeedstudio.com/sipeed zu finden.

Maixduino

2G für IoT-Anwendungen

Bislang schon bereits für tot erklärt und mit Abschaltungsszenarien belegt, stellt das mittlerweile betagte 2G-Netz immer noch eine Alternative zu 3G/4G und 5G dar.

Dass ein schnelles Internet und damit 5G seine Bedeutung haben, ist keineswegs strittig. IoT Anwendungen mit geringem Datenvolumen und mglw. auch geringen Datenraten kommen aber mit deutlich weniger Ressourcen aus.

Vergleicht man die Netzabdeckung der deutschen Telekom, dann bietet auch das 4G-Netz noch Lücken, die das 2G-Netz nicht bietet. Bei den anderen Anbietern sieht das weniger erfreulich aus.

Netzabdeckung 4G Telekom

Kostengünstige GSM-Module sowie preiswerte und flexible IoT-Tarife lassen 2G für IoT-Anwendungen (M2M) durchaus interessant erscheinen.

Ich verwende für einen abgesetzten Temperatursensor einen Arduino Uno und ein SIM800L EVB.

SIM800L EVB am Arduino Uno

Alternativen sind z.B. Maduino GPRS oder das GSM Modul aus der M5Stack-Familie.

Auf die Software selbst möchte ich hier nicht eingehen. Programmbeispiele zum SMS-Versand und HTTP-Zugriff sind auf Github zu finden.

Ich verwende hier den Mobilfunkanbieter ThingsMobile, der sich ausschließlich dem IoT widmet und international aufgestellt ist.

Der SMS-Versand ist einfach und bequem, allerdings kostenmäßig nicht zu empfehlen. Ich sende den Temperaturmesswert über HTTP-GET alle 5 Minuten an den Thingspeak-Server zu Visualisierung. Die erhobenen Messwerte können über die URL abgegriffen werden. Der Sensor selbst liegt auf meinem Arbeitstisch, misst also nur die Raumtemperatur.

Interessant sind die entstehenden Kosten. Aus dem Thingsmobile Report für die vergangene Woche kann man die folgenden Daten entnehmen:

Report für KW15

Der Datenverkehr belief sich auf 2.19 MB, die € 0.22 gekostet haben. Der Auszug aus dem Detailreport gibt einen Überblick über die versendeten Daten. Die Datenpakete sind entweder 980 oder 1950 Byte, was zu 370 KB am Tag führt. Diese 370 KB kosten dann € 0.036.

Auszug aus dem Report für den 15.04.2019

Bei diesen Kosten kann aus meiner Sicht für so oder ähnlich angelegte IoT-Anwendungen bedenkenlos mit dem 2G-Netz gearbeitet werden.

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.

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.

 

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