Archiv der Kategorie: Arduino

Messung der Wassertemperatur

Weil ich mit den Angaben zur Wassertemperatur der Ostsee während eines zurückliegenden Ferienaufenthaltes nicht so recht zufrieden war, hatte ich mit M5Stack-Komponenten und einem abgesetzten Temperatursensor ein Thermometer aufgebaut und in einem Blogpost vorgestellt. Mit dem abgesetzten DS18B20-Temperatursensor habe ich die Wassertemperatur in einem Meter Tiefe gemessen.

Nun rücken die Ferien wieder näher und die Meldung vom BSH zeigt Ende Mai immer noch sehr kühles Wasser an.

Um der Entwicklung der Wassertemperatur zu folgen und vor größeren Überraschungen gefeit zu sein, habe ich das vorgestellte Thermometer etwas erweitert.

Wegen des etwas größeren Displays habe ich den M5StickC durch einen M5StickC+ ersetzt und verwende einen M5StickC 18650C, um die Batteriekapazität zu vergrößern. Hinzu kommt, dass das Thermometer wesentlich besser gehandhabt werde kann.

Damit ich die Messwerte auf meinem Mobilphone zur Verfügung habe, nutze ich es als mobilen Hotspot und sende die Messwerte vom M5StickC+ über WiFi an das Mobilphone, welches dann die Daten an den Pushover Server sendet. Von da werden die Daten dann an die gewählten Endgeräte verteilt.

Die folgenden beiden Bilder zeigen die Messeinrichtung und eine über Pushover versendete Message auf dem Mobilphone. Auf GitHub ist das betreffende Programm zu finden.

Ich werde mit dieser Einrichtung die Wassertemperatur nicht beeinflussen, kann sie aber schriftlich festhalten. Und wenn es so kalt bleibt, dann kann ich mein Heldentum dokumentieren.


2023-05-29/CK

Mut zu MINT

MINT steht als Synonym für Mathematik, Informatik, Naturwissenschaft und Technik. Die MINT-Fachbereiche bilden den zentralen wirtschaftlichen Innovationssektor. Die Digitalisierung ist im Kern die Grundlage für unser aller Zukunft.

In der IoT2-Werkstatt ist kürzlich das folgende Büchlein erschienen, wo die dortigen MINT-Aktivitäten sehr anschaulich beschrieben werden.

Das vorliegende Büchlein zeigt, wie MINT die Resilienz der Gesellschaft stärken kann. Als herausragende Anwendung hat sich dabei die auf dem Octopus-Mikrocontroller basierende IoT-CO2-Ampel erwiesen. Hunderte Schulen in Deutschland haben zu Beginn der Pandemie ihre Ampeln gemeinsam selbst gebaut. In tausenden Klassenräumen helfen sie seither beim nachhaltigen Lüften.

Im Blogbeitrag https://ckblog2016.net/2022/03/10/uberwachung-der-luftqualitat-in-innenraumen-uber-co2-etvoc-eco2-und-iaq/ hatte ich mich mit unterschiedlicher Sensorik zur Erfassung der Luftqualität befasst.

Angesichts weltweit weiter zu erwartender Infektionen gibt es aber erheblichen Nachholbedarf bei der Raumluftqualität. Da ist es schon etwas deutlich Anderes, ob ein gekaufter Sensor an der Wand hängt, oder ob ein selbstgebautes und durchschautes System an die MINT-Hintergründe der Lüftungsregeln erinnert.

Neben der Messung der Raumluftqualität sind im Büchlein Anwendungen zur Messung des Energieverbrauchs, zum Balkonkraftwerk (genehmigungsfreie Stecker-Solaranlage) und zur Messung des Starkregenpegels zu finden.

Das Büchlein kann als PDF von der URL https://www.umwelt-campus.de/fileadmin/Umwelt-Campus/IoT-Werkstatt/octopus/IoT_MINT_Making_Zukunft_Gestalten.pdf gratis heruntergeladen werden. Ich kann Ihnen das nur empfehlen!

Ü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

M5Stack Stamp-C3U

Heute im Postkasten – M5Stamp-C3U.

Der M5Stamp-C3U basiert auf dem 32-Bit-RISC-V-Mikrocontroller ESP32-C3 – RV32IMC von Espressif und arbeitet mit einer maximalen Taktfrequenz von 160 MHz.

Heute geliefert – – M5Stamp-C3U.

Ein ESP32-C3-DEVKITM-1 und ein ESP32-C3-DEVKITC02 hatte ich zu je € 9.65 bei Schukat bestellt und im Juli 2021 getestet. Siehe hierzu meinen Blogbeitrag ESP32-C3 – RV32IMC von Espressif. Für $ 5.90 erhalten Sie die M5Stamp-C3U im M5Stack Store.

Interessant sind die verschiedenen Bestückungsvarianten (SMT, DIP, Flywire, Grove Interface), die durch das hoch-temperatur-beständige Plastikgehäuse gegeben sind. Mit diesem Gehäuse können die internen Komponenten einschliesslich der 3D-Antenne sehr gut geschützt werden.


2022-02-03/CK

Abgesetzter Wettersensor mit NB-IoT

Im Norden Deutschlands wird man schnell feststellen, dass die Abdeckung mit Gateways für TTS mit der in den Ballungszentren in der Mitte und im Süden Deutschlands in keiner Weise vergleichbar ist.

Was bleibt?

Entweder folgt man dem LoRaWAN-Community-Gedanken und nimmt ein eigenes Gateway in Betrieb und unterstützt die Community in Schwerin oder Rostock oder nutzt mit NB-IoT eine LPWAN-Alternative.

LoRaWAN ist eine verbreitete und unter bestimmten Bedingungen auch für jeden zugängliche Möglichkeit zur Übermittlung von Daten eines IoT-Knotens. Aber, LoRaWAN ist eine Möglichkeit und es gibt weitere, wie NB-IoT, Sigfox, LTE-M, Weightless, Symphony Link u.a.

Von den verfügbaren Technologien setzen sich LoRaWAN und NB-IoT deutlich ab. In der geschilderten Situation ist es also angebracht, sich auch mit NB-IoT auseinander zu setzen, um die Funktionen und Unterschiede der beiden Technologien zu verstehen.

LPWAN-Technologie NB-IoT

NB-IoT dient dem Senden und Empfangen kleiner Datenmengen (einige zehn oder hundert Bytes pro Tag), die von IoT-Geräten mit geringer Zahl an generierten Daten stammen. NB-IoT ist wie LoRaWAN nachrichtenbasiert, jedoch mit einer viel schnelleren Modulationsrate, die viel mehr Daten verarbeiten kann als LoRa.

NB-IoT ist für einfache Geräte gedacht, die über ein lizenziertes Frequenzspektrum eine Verbindung zu einem Betreibernetzwerk herstellen müssen.  Da NB-IoT-Geräte auf 4G (LTE)-Abdeckung angewiesen sind, profitieren sie von einer sehr guten Abdeckung und funktionieren in Innenräumen und in dichten städtischen Gebieten sehr gut. NB-IoT hat schnellere Reaktionszeiten als LoRaWAN und kann eine bessere Servicequalität garantieren.

Eine Gegenüberstellung der Hauptmerkmale beider LPWAN-Technologien zeigt die folgende Tabelle [1].

Technology ParametersLoRaWANNB-IoT
Bandwidth125 kHz180 kHz
Coverage165 dB164 dB
Battery Life15+ years10+ years
Peak Current32 mA120 mA
Sleep Current1 µA5 µA
Throughput50 Kbps60 Kbps
LatencyDevice Class Dependent<10 s
SecurityAES 128 bit3GPP (128 to 256 bit)
GeolocationYes (TDOA)Yes (In 3GPP Rel 14)
Cost EfficiencyHighMedium
LoRaWAN vs. NB-IoT [1]

Da NB-IoT auf 4G (LTE) angewiesen ist, ist der Anwender von NB-IoT auch an einen entsprechenden Provider gebunden, der die Netzabdeckung absichert. Für die deutsche Telekom und Vodafone sieht die Netzabdeckung für NB-IoT in Deutschland sehr gut aus, wenn es da auch noch Unterschiede gibt. Die folgende Abbildung zeigt die NB-IoT-Netzabdeckung der Telekom für Deutschland.

NB-IoT-Netzabdeckung der Telekom für Deutschland

Die NB-IoT-Abdeckung von Vodafone für Deutschland sieht ähnlich aus. Wenn Sie den angegebenen Links folgen, können Sie detaillierte Information für Ihre Umgebung erhalten.

Telekom (D)https://www.telekom.de/netz/mobilfunk-netzausbau
Vodafone (D)https://www.vodafone.de/hilfe/netzabdeckung.html
Swisscom (CH)https://scmplc.begasoft.ch/plcapp/pages/gis/netzabdeckung.jsf?netztyp=lte
A1 (A)https://www.a1.net/hilfe-support/netzabdeckung/frontend/main.html

Für die DACH-Region (D, A und CH) sind damit providerseitig alle Voraussetzungen für den Einsatz von NB-IoT gegeben. Roaming-Vereinbarungen, die beispielsweise von der Telekom mit zahlreichen Nachbarstaaten getroffen worden sind, ermöglichen einen länderübergreifenden Einsatz von NB-IoT.

Die für den NB-IoT-Zugriff erforderlichen SIM-Karten können von verschiedenen Anbietern bezogen werden. Ich verwende hier 1NCE (1nce.com) . Die 1NCE IoT Flat Rate ist ein Pre-Paid Modell für IoT Geräte.

Wettersensor mit NB-IoT

Für den Test von NB-IoT habe ich einen einfachen Wettersensor auf Basis einer M5Stack AtomDTU NB-IoT mit einem Atom Lite als Controller und einer M5Stack ENV.II Unit als Sensor aufgebaut.

Die ENV.II Unit umfasst einen SHT30 Sensor zur Messung von Temperatur und Luftfeuchtigkeit und einen BMP280 zur Messung von Temperatur und barometrischem Druck. Beide Komponenten werden über die Grove-Ports mit dem I2C-Bus miteinander verbunden.

Das über die Arduino IDE erstellte Anwendungsprogramm erfasst die Sensordaten und versendet diese über NB-IoT an einen MQTT-Broker. Die Basis für das Anwendungsprogramm ist auf GitHub unter der URL https://github.com/m5stack/ATOM_DTU_NB/tree/master/examples/MQTT.

Die Beschreibung der AT-Kommandos für das im AtomDTU NB-IoT eingesetzte SIMCom SIM7020 Modul finden Sie unter [2] und [3].

Ich verwendet hier den HiveMQ Public MQTT Broker und greife auf die Daten über einen Webclient zu.

Die Messwerte für Temperatur, relative Luftfeuchtigkeit und barometrischen Druck werden abgefragt und einer nach dem anderen im Minutentakt versendet (published).

Im Webclient habe ich den Topic atomdtu/# abonniert (subscribed) und sehe damit jede versendete Nachricht incl. deren Time Stamp.

Haben Sie keinen WLAN-Zugang ins Internet und zum MQTT-Broker, dann kann ein mobiler Zugriff vom Smartphone (hier über 4G) von einer MQTT Dashboard App aus erfolgen.

Mobiler Zugriff über MQTT Dashboard App

Referenzen


2022-01-19/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

ESP32-C3 – RV32IMC von Espressif

Ende letzten Jahres kündigte Espressif bereits den ESP32-C3 an – einen kostengünstigen, RISC-V-basierten Mikrocontroller mit Wi-Fi- und Bluetooth 5 (LE)-Konnektivität für sichere IoT-Anwendungen.

Der ESP32-C3 ist eine 32-Bit-Single-Core-MCU auf RISC-V-Basis (RV32IMC) mit 400 KB SRAM, die mit bis zu 160 MHz getaktet werden kann. Neben integriertem 2,4-GHz-WiFi und Bluetooth 5 (LE) mit Long-Range-Unterstützung verfügt der ESP32-C3 über 22 GPIOs mit Unterstützung für ADC, SPI, UART, I2C, I2S, RMT, TWAI und PWM. Das ausführliche ESP32-C3-Datenblatt finden Sie hier.

Nun ist seit November reichlich Zeit vergangen und Module auf Basis des ESP32-C3 sind jetzt bestellbar.

Bei Schukat habe ich ein ESP32-C3-DEVKITM-1 und ein ESP32-C3-DEVKITC02 zu je € 9.65 bestellt. Andere Distributoren hatten wesentlich längere Lieferzeiten.

Beide DevKits unterscheiden sich nur durch das jeweils eingesetzte ESP32-C3-Modul und die resultierende Pinbelegung.

Das im ESP32-C3-DevKitM-1 eingesetzte ESP32-C3-MINI-1 ist ein universelles Wi-Fi- und Bluetooth LE-Kombimodul mit einer PCB-Antenne. Kern des Moduls ist ESP32-C3FN4 mit 4 MB embedded Flash Memory. Da das Flash Memory im ESP32-C3FN4-Chip verpackt ist hat das ESP32-C3-MINI-1 ein kompakteres Gehäuse.

ESP32-C3-DevKitM-1 Pin Mapping

Das im ESP32-C3-DevKitC-02 eingesetzte ESP32-C3-WROOM-02 ist ebenfalls ein universelles Wi-Fi- und Bluetooth LE-Kombimodul mit einer PCB-Antenne. Das Flash Memory ist ein externes 4 MB SPI-Flash.

ESP32-C3-DevKitC-02 Pin Mapping

Sollten Sie noch nicht mit RISC-V konfrontiert worden sein, dann hilft Ihnen vielleicht die in der Zeitschrift Design&Elektronik veröffentlichte Übersicht weiter:

Neustart mit RISC-V Design & Elektronik 1/2020, S. 29-35
https://www.elektroniknet.de/design-elektronik/halbleiter/neustart-mit-risc-v-173910.html

Wenn meiner Bestellung von Schukat eintrifft , werde ich erste Tests und Benchmarks in der mittlerweile ebenfalls vorhandenen Arduino-Umgebung vornehmen und darüber berichten.

In der Zwischenzeit kann ich Ihnen den folgenden Beitrag von Elliot Williams empfehlen: HANDS-ON: THE RISC-V ESP32-C3 WILL BE YOUR NEW ESP8266.

Den dort enthaltenen Benchmark habe ich in meine Benchmark-Übersicht mit aufgenommen.

Aus Sicht des Anwenders möchte ich seinem Schlussgedanken zustimmen:

„Aber es ist schön, RISC-V-Kerne in mehr Geräten zu sehen, nicht zuletzt, weil die standardisierte Befehlssatzarchitektur – die im Wesentlichen einem Standardsatz von maschinensprachlichen Befehlen gleichkommt – das Schreiben von optimierenden Compilern einfacher und schneller macht. Für den Endbenutzer ist das nicht so wichtig, aber wenn es Espressif durch das Einsparen von IP-Lizenzgebühren ermöglicht, ein moderneres Peripherieset zum ESP8266-Preis hinzuzufügen, dann sind wir alle dafür.“

An manchen Stellen wird der ESP32-C3 schon als ESP8266-Killer bezeichnet. Das bleibt abzuwarten, noch muss sich dieser neue Mikrocontroller erst behaupten.

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/