Archiv der Kategorie: Arduino

Rheinwerk Verlag Osteraktion

Nach dem großen Erfolg der Sommer-Aktion 2023 des Rheinwerk Verlags ist in diesem Monat für einen begrenzten Zeitraum eine weitere große Marketing-Aktion geplant.

Die Bundles (Buch + E-Book) aller lieferbaren, deutschsprachigen Titel werden im Webshop ab kommendem Montag, den 11.03.2024, um 5 Euro im Preis reduziert.

Hier ein Beispiel:


2024-03-08/CK

RAKwireless WisBlock IAQ Solution Kit

The WisBlock IAQ Solution Kit presented by RAKwireless is a measuring device for determining indoor air quality based on temperature, relative humidity, light, CO2, particulate matter, and VOCs.

It is also possible to record room occupancy.

An optional eInk display is a GUI and can present all measured values to the user.


An RGB LED on the front can be set up as a status display and used as a CO2 traffic light, for example.

Das von RAKwireless vorgestellte WisBlock IAQ Solution Kit ist Messgerät zur Bestimmung der Luftqualität im Innenraum anhand von Temperatur, relativer Feuchte, Licht, CO2, Feinstaub und VOC.

Die Erfassung der Raumbelegung ist ebenfalls möglich.

Ein optinales eInk-Display dient als GUI und kann alles erfassten Messwerte dem Anwender präsentieren.

Eine frontseitige RGB-LED kann als Statusanzeige eingerichtet werden und beispielsweise als CO2-Ampel dienen.

The mentioned features already make the RAK10702 device interesting, but I believe the implementation is more important.

RAK10702 is made up of WisBlock components and is, therefore, completely flexible in terms of both hardware and application software.


In addition, the specially developed housing ensures optimum airflow, which is a prerequisite for accurate measurements of the WisBlock air quality sensors.

All design files for the enclosure are Open Source. RAKwireless offers the 3D-printed housing directly. However, you can also use the design data for your own 3D printing.

The individual components of the RAK10702 kit are shown in the following picture.

Die genannten Eigenschaften machen das RAK10702 Device bereits interessant, doch wichtiger ist aus meiner Sicht die vorgenommene Umsetzung.

RAK10702 ist aus WisBlock Komponenten aufgebaut und ist damit sowohl in der Hardware als auch der Anwendungssoftware vollkommen flexibel.

Hinzu kommt, dass das speziell entwickelte Gehäuse einen optimalen Luftstrom sicherstellt, der Voraussetzung für genaue Messungen der WisBlock Luftqualitätssensoren ist.

Alle Designdateien für das Gehäuse sind Open Source. RAKwireless bietet das 3D-gedruckte Gehäuse direkt an. Sie können aber auch die Designdaten für einen eigenen 3D-Druck verwenden.

Die einzelnen Bestandteile des RAK10702 Kits zeigt das folgende Bild.

The WisBlock IAQ Solution Kit presented here is a very good example of how WisBlock components can be used to build complex industrial-grade IoT devices.

I have described further applications in my eBook IoT projects for makers with WisBlock from RAKwireless. Just browse through the sample to get an impression.


Internationally, you can find the WisBlock components from RAKwireless in their online store or at Aliexpress.

Das hier vorgestellte WisBlock IAQ Solution Kit ist in sehr gutes Beispiel dafür, wie mit WisBlock Komponenten komplexe industrietaugliche IoT-Devices aufgebaut werden können.

In meinem eBook IoT-Projekte für Maker mit WisBlock von RAKwireless habe ich weiter Anwendungen beschrieben. Blättern Sie einfach durch die Leseprobe, um einen Eindruck zu bekommen.

Im DACH-Bereich (D, A, CH) werden Komponenten von RAKwireless mittlerweile von zahlreichen Distributoren angeboten. Das sind u.a.:

CH: https://www.bastelgarage.ch/rak-wireless
https://www.galaxus.ch/de/search?q=RAKwireless

D: https://shop.allnet.de/rak-wireless/
https://www.innet24.de/rak-wireless


2023-12-12/CK

Oxocard Connect

In meinem Blogbeitrag Vermittlung digitaler Inhalte in der Schule hatte ich die das Informatikinteresse an den Schulen fördernden Mikrocontroller BBC micro:bit, Calliope mini, und Oxocard betrachtet.

Dieser Bereich ist nach wie vor in Bewegung, stellt doch die Digitalisierung in allen Lebensbereichen eine grosse Herausforderung dar.

Mit der Oxocard Mini Serie stellt die Schweizer Oxon AG Computerboards zur Verfügung, die das Eintauchen in Computergrafik und ihre zugrunde liegenden Algorithmen oder Spiele und Animationen mit ihren Quelltexten ermöglichen.

OxoCard (Mini) Science ist eine programmierbare Multisensorplatine, die mit Hilfe von sieben Sensoren die folgenden physikalischen Grössen erfasst: Licht/IR, Temperatur, Geräusche, Feuchte, Druck und flüchtige Kohlenstoffverbindungen (VoC, eCO2 und Ethanol). Auch hier steht der dokumentierte Quelltext zur Verfügung und eigene Experimente können gestartet werden.

Oxocard Science, Oxocard Galaxy & Oxocard Artwork

Das jüngste Kind der Oxocard-Familie ist Oxocard Connect – ein ebenfalls auf dem ESP32 aufbauendes und damit netzwerktaugliches Computermodul mit grafischem TFT-Display und einem Joystick für die Benutzer-Eingaben, welches durch seitlich einsteckbare Cartridges mit peripheren Komponenten, wie Sensoren etc., erweitert werden kann.

Oxocard Connect mit Air Cartridge

Die Programmierung kann wieder über den komfortablen Nanopy-Editor erfolgen. Zahlreiche Programmbeispiele und ausführliche Erläuterungen dienen der Einarbeitung und Auseinandersetzung mit diesem System. Zum näheren Kennenlernen möchte ich Sie auf den Beitrag von David Lee verweisen.

Ich möchte Oxocard Connect nicht mit Python programmieren, sondern diesen sehr ansprechend gestaltetem Controller mit der Arduino-IDE programmieren. Die zahlreichen Libraries ermöglichen die Erweiterung mit Sensoren und die Vernetzung sehr komfortabel. Mit dem Veroboard lassen sich Prototypen sehr einfach erstellen, bevor man mglw. eine anwendungsspezifische Cartridge erstellt.

Oxocard Connect Arduino Test

Für die Hardware-Konstellation habe ich ein Testprogramm erstellt, welches die folgenden Funktionen testet:

  • Ausgabe auf dem farbigen TFT-LCD mit 240 x 240 Pixel LH133T-IG01 mit ST7789VW LCD-Controller
  • Abfrage Joystick
  • LEDs über digitale IO
  • EEPROM über I2C-Bus

Auf der Cartridge stehen neben digitaler und analoger IO und I2C-Bus auch noch SPI zur Verfügung. Ausserdem kann die gesamte Schaltung auch extern mit 5V (VEXT) versorgt werden.

Der Einsatz eines so ansprechend gestalteten Controllers lässt schnell das oft vorhandene Drahtverhau mit seinen unsicheren Verbindungen vergessen.


Oxocard Connect Openweather Station

Oxocard Connect besitzt mit der vorhandenen Hardware alle Möglichkeiten, über das Internet auf Daten zuzugreifen und diese auf dem Display darzustellen.

Ich habe hier durch Abfrage der Wetterdaten von Openweathermap.org eine kleine Wetterstation als Anwendungsbeispiel erstellt.

Openweathermap.org stellt maximal 1000 Aufrufe pro Tag gratis zur Verfügung, weshalb hier der Abfragezyklus auf zwei Minuten eingestellt wurde. Werden die 1000 Aufrufe überschritten, dann kann ein blockierter Account die Folge sein.

Das Programm finden Sie auf GitHub unter https://github.com/ckuehnel/Arduino2023/tree/main/ESP32/Oxocard/Oxocard_OpenWeather


Oxocard Connect MQTT-Client

Simon Kemper beschreibt auf LinkedIn die Verbindung von Datacake und Slack zur Benachrichtigung bei kritischen Zuständen etc.

Unter Verwendung des TTN-internen MQTT-Servers bin ich einen anderen Weg gegangen.

Ich verwende Oxocard Connect als MQTT-Client und filtere nur die für das Monitoring erforderlichen Größen aus den Upload-Messages zur Anzeige auf dem Display.

Konkret überwache ich die Batteriekapazität eines solar-gepufferten SensorHubs von RAKwireless. Gerade jetzt in der dunklen Jahreszeit möchte ich den Ladezustand der Batterie überwachen, um die Nachladung tagsüber zu verifizieren.

Der SensorHub sendet die erfassten Umweltdaten zum TTS (CE) LNS, der diese an ein Datacake Dashboard zur Visualisierung weiterleitet. Sie finden dieses Dashboard über diesen Public Link.

Der Oxocard Connect MQTT-Client „subscribed“ die Upload-Messages des SensorHubs, filtert die Batteriekapazität aus der umfangreichen Upload-Message und bringt sie auf dem Display zur Anzeige. Die Aktualisierung des Displayinhalts erfolgt mit jeder neuen Upload-Message vom SensorHub.

Ein Screenshot des Consolen Outputs zeigt die empfangene Payload vor und nach der Filterung und die Extraktion der Daten. Auf dem Display wird aber nur die aktuelle Batteriekapazität angezeigt.

Consolen Output

2023-12-01/CK

Proyectos IoT para Makers

La edición española ya está disponible en Amazon.es


2023-10-26/CK

RK900-09 Weather Station on SensorHub

The Sensor Hub equipped with a Sensor Probe containing Temperature and Humidity Sensor RAK1901 and Pressure Sensor RAK1902 was used to measure environmental data (Link).

RAKwireless offers the RK900-09 Weather Station more precise equipment for measuring weather conditions.

MEMS sensors measure temperature, humidity, barometric pressure, and ultrasonic sensors wind speed and direction. You will find the technical data on the manufacturer’s website.

The SensorProbeIO associated with the RK900-09 connects the RS-485 output of the RK900-09 to the SensorHub interface.

The payload decoder provided by RAKwireless needed minor adaptations and is available on GitHub.

For visualization, I use Datacake again and get the following data output of this Weather Station.

Datacake Dashboard

Use this QR code or public link to get the actual weather data measured by RK900-09 Weather Station connected to SensorHub.


2023-09-26/CK

Meeting mit RAKwireless

Am 19.09.2023 hatte ich die Gelegenheit den CEO von RAKwireless, Ken Yu, und zwei seiner Mitarbeiter in Zürich zu treffen.

Ich konnte einen Print-Version, des als eBook konzipierten Titels zu WisBlock übergeben.

Mit dem auf WisBlock aufsetzendem SensorHub wird es weitergehen.

Hier ist der Link zu Ken’s Statement auf LinkedIn: https://www.linkedin.com/feed/update/urn:li:activity:7110136146503888896?updateEntityUrn=urn%3Ali%3Afs_feedUpdate%3A%28V2%2Curn%3Ali%3Aactivity%3A7110136146503888896%29


2023-09-21/CK

ESP32Forth – eine alternative Programmierumgebung

Für den ESP32 steht mit MicroPython eine interaktive Programmiersprache zur Verfügung. Das ist aber nicht die einzige Möglichkeit der interaktiven Programmierung, denn mit ESP32Forth steht auch eine Portierung von eForth (Arduino and eForth) für den ESP32 zur Verfügung.

Wenn Ihnen Forth unbekannt sein sollte, dann erlätert ChatGPT Ihnen FORTH wie folgt:

Die Programmiersprache FORTH ist eine ungewöhnliche und spezielle Programmiersprache, die sich von C++ und MicroPython in vielerlei Hinsicht unterscheidet, insbesondere beim Einsatz auf Mikrocontrollern. Hier sind einige der wichtigsten Eigenschaften und Unterschiede:

Eigenschaften von FORTH:

  1. Stack-basierte Sprache: FORTH verwendet einen Stapelspeicher (Stack) als zentrales Konzept. Operationen und Daten werden auf den Stapel verschoben und von dort verarbeitet. Dies macht FORTH sehr leichtgewichtig und effizient.
  2. Interaktivität: FORTH ist eine interaktive Programmiersprache. Sie können Code direkt in die FORTH-Umgebung eingeben und ausführen, was sie ideal für den schnellen Prototypenbau und das Debugging macht.
  3. Minimalistische Syntax: Die Syntax von FORTH ist extrem einfach, bestehend aus Wörtern (FORTH-Befehlen), die von Leerzeichen getrennt sind. Dies führt zu sehr kompaktem Code.
  4. Keine strikte Typisierung: FORTH ist schwach typisiert und flexibel. Dies kann sowohl ein Vor- als auch ein Nachteil sein, je nach Anwendungsfall.
  5. Direkter Hardwarezugriff: FORTH ermöglicht einen sehr direkten Zugriff auf die Hardware, was in eingebetteten Systemen nützlich sein kann.

Unterschiede zu C++:

  1. Sprachparadigma: C++ ist eine objektorientierte Programmiersprache, während FORTH als stapelbasierte Programmiersprache betrachtet wird. Dies bedeutet, dass die Herangehensweise an die Programmierung grundlegend unterschiedlich ist.
  2. Komplexität: C++ ist eine umfangreiche und komplexe Sprache mit einer Vielzahl von Funktionen und Bibliotheken. FORTH hingegen ist extrem minimalistisch und erfordert oft mehr Zeilen Code, um ähnliche Aufgaben zu erledigen.
  3. Typisierung: C++ ist stark typisiert, was bedeutet, dass Datentypen streng überprüft werden. FORTH ist schwach typisiert und erlaubt mehr Flexibilität bei der Verwendung von Daten.

Unterschiede zu MicroPython:

  1. Syntax: MicroPython ist eine Python-Variante für Mikrocontroller und verwendet eine Python-ähnliche Syntax, während FORTH seine eigene einzigartige Syntax hat.
  2. Abstraktionsebene: MicroPython bietet eine höhere Abstraktionsebene und mehr Konventionalität im Vergleich zu FORTH. Das macht MicroPython oft einfacher zu erlernen und zu verwenden.
  3. Gemeinschaft und Bibliotheken: MicroPython hat eine aktive Gemeinschaft und eine breite Palette von Bibliotheken und Modulen, die speziell für Mikrocontroller entwickelt wurden. FORTH hat weniger Ressourcen und Unterstützung in dieser Hinsicht.
  4. Entwicklungsumgebungen: MicroPython wird oft mit modernen integrierten Entwicklungsumgebungen (IDEs) verwendet, die die Entwicklung und das Debugging erleichtern. FORTH erfordert häufig eine tiefere Einarbeitung in die Arbeitsweise des Stapels und der FORTH-Umgebung.

Insgesamt hängt die Wahl zwischen FORTH, C++ und MicroPython für Mikrocontroller-Anwendungen von den spezifischen Anforderungen Ihres Projekts, Ihrer Programmierpräferenz und Ihrer Erfahrung ab. FORTH ist eine leistungsfähige, aber unkonventionelle Option, die für bestimmte Anwendungen geeignet sein kann, während C++ und MicroPython aufgrund ihrer weitverbreiteten Akzeptanz und ihrer Entwicklungsunterstützung oft bevorzugt werden.

OpenAI. (2023). ChatGPT (August 3 Version) [Large language model]. https://chat.openai.com

Wenn Sie sich mit ESP32Forth auseinandersetzen wollen, dann finden Sie die notwendigen Informationen von Installation bis hin zur Anwendung unter https://esp32.forth2020.org/ oder https://www.facebook.com/groups/esp32forth/

Ich möchte Ihnen hier zwei Beispiele zur Arbeit mit ESP32Forth zeigen, die vielleicht helfen Neugier zu wecken.

Benchmarks sind eine beliebte Vergleichsmöglichkeit für Hard- und Software. Um einen Eindruck von der Performance von ESP32Forth auf einem ESP32 zu bekommen, habe ich den DDBench(mark) herangezogen (https://theultimatebenchmark.org/).

Das Resultat des Benchmarks sind eine Laufzeit von 5.5 Sekunden.

Vergleichen Sie das Resultat mit den unter https://theultimatebenchmark.org/ veröffentlichten Daten, dann können Sie sich ein Bild von der Leistungsfähigkeit dieser Hard- und Softwarekombination machen.

Im Blogpost ESP32 ADC & DAC hatte ich die Performance des DAC-ADC-Subsystems des ESP32 untersucht.

Wenige Zeilen ESP32Forth Code ermöglichen die Ansteuerung eines DACs und das Erfassen dessen Ausgangsspannung durch einen Kanal des ADC. GPIO25 und GPIO33 werden hierzu miteinander verbunden.

( Test ESP32-DAC-ADC-Subsystem w/ ESP32Forth )

25 CONSTANT DAC1 \ GPIO25
33 CONSTANT ADC1_CH5 \ GPIO33

: wait100ms 100 ms ;
: readADC1_CH5 ADC1_CH5 adc . ;
: readADC readADC1_CH5 ;
: writeDAC1 DAC1 swap dacWrite ; ( 0-255 -- )
: test dup writeDAC1 wait100ms readADC . cr ; ( 0-255 -- )
: testloop 255 for i test next ;

Die seriellen Ausgaben habe ich geloggt, um diese für die folgenden Grafiken aufzubereiten.

Das Verhalten des analogen Subsystems entspricht den Erwartungen und ist ohne Anpassungen nur bedingt einsatzfähig.

Der einfache Test mit dieser interaktiven Programmierumgebungen wird aber deutlich.


2023-09-14/CK

IoT Projects for Makers – Update

The title „IoT Projects for Makers“ was published at the end of June, and the first update follows.

Link: https://www.amazon.de/dp/B0C8VCF4DF

Via Aliexpress, I found a Modbus sensor (and many comparable devices) for temperature and humidity measurement at low prices. Modbus RTU via RS-485 is still a common interface in industrial applications. This sensor uses a Sensirion SHTC3 sensor, which allows precise results.

This industrial sensor for temperature and humidity with Modbus RTU via RS-485 has been added to the sensors considered so far.

WiFi is utilized to connect to a router that provides Internet access.

The message containing the measuring results is sent to the Pushover server, which forwards it to the corresponding end devices, an Android mobile phone here.

In the application here, a message with measured values is sent every 15 minutes. This is first an arbitrary assumption and can also be state-based.


2023-07-19/CK

IoT-Projects for Makers with WisBlock from RAKwireless

The English version will be available from amazon.com on June 30, 2023. I hope that the readers will have as much fun working with the WisBlock modules as I had written this eBook.

The German version is already available as an eBook from amazon.de, and the printed version will follow in the next few days.


2023-06-28/CK

Grosse Sommeraktion des Rheinwerk-Verlags

Der Rheinwerk-Verlag startet heute für einen begrenzten Zeitraum im Juni eine große Marketing-Aktion. Es werden die Bundles (Buch + eBook) aller lieferbaren, deutschsprachigen Titel im Webshop um 5 Euro im Preis reduziert angeboten.

Wenn Sie von dieser Aktion profitieren wollen, dann schauen Sie unter www.rheinwerk-verlag.de/sommeraktion-bundles-zum-vorteilspreis nach den Angeboten.

So finden Sie z.B. das Arduino Handbuch als Bundel unter der URL https://www.rheinwerk-verlag.de/arduino-das-umfassende-handbuch/ zum Aktionspreis von € 44.90.


2023-06-12/CK