Im Blogbeitrag zu WisBlock-Komponenten von RAKwireless habe ich einen LoRaWAN-Sensorknoten bestehend aus den folgenden Komponenten vorgestellt:
RAK4631
Nordic nRF52840 BLE Core Module für LoRaWAN mit Semtech SX1262
RAK1901
WisBlock Temperatur- und Feuchtigkeitssensor SHTC3
RAK5005_O
WisBlock Base Board
RAKBox-B2
Gehäuse mit Solar-Panel
WisBlock Komponenten
Der Test startete am 18.03.2022 14:15 und läuft nun seit einem Jahr.
Über den nebenstehenden QR-Code oder diesen Public Link können Sie die Funktion des solar-gepufferten LoRaWAN-Knotens verfolgen.
Ich arbeite sehr gern mit den WisBlock-Komponenten von RAKwireless, die ein komfortables Prototyping möglich machen. Weitere Anwendungen mit WisBlock Hardware folgend in diesem Blog.
Während der Testphase können die Echtzeitdaten über den Link oder den QR-Code eingesehen werden.
Ich habe noch ein RAK1921 OLED zur Anzeige der Momentanwerte ergänzt. Bei der Inbetriebnahme bin ich so nicht mehr auf den seriellen Output angewiesen.
Im Blogbeitrag Solar Power System für IoT-Knoten hatte ich eine Variante mit SuperCap von Voltaic vorgestellt. Das Versenden der Daten im Halb-Stunden-Takt über WiFi in eine InfluxDB-Datenbank zur Visualisierung kam im Winter nach mehreren Wochen mit Nebel und ohne Sonne an seine Grenzen.
Ich führe den Test hier weiter. Allerdings sende ich nur noch im Stundentakt die Daten über Pushover an mein Mobilphone. Die Resultate finden Sie hier.
Beachtlich ist die im Gehäuseinneren durch die direkte Sonnenbestrahlung entstehende Temperatur.
Der LGT8F328P Mikrocontroller der chinesischen Fa. Logic Green wird als Clone eines ATmega328 bezeichnet und ist bereits seit einigen Jahren am Markt. Von AZ-Delivery wird aktuell auf Basis dieses Mikrocontrollers ein preislich sehr interessanter Arduino Uno Clone angeboten, der meine technische Neugier geweckt hat. Im Bild ist das übersichtliche Design im Arduino Uno Footprint zu sehen.
Die Frage, ob das Ganze legal ist, muss in verschiedenen Ebenen betrachtet werden. Arduino ist Open-Source, also ist seitens der Arduino-Implementierung alles in Ordnung. Was den Mikrocontroller selbst angeht, wird zumindest im Beitrag auf Stackexchange (https://arduino.stackexchange.com/questions/69989/is-the-lgt8f328p-legal) ebenfalls Entwarnung gegeben.
LGT8F328P Board von AZ-Delivery
AZ-Delivery stellt unter http://www.az-arduino.de/package_AZ-Boards_index.json ein eigenes Board Support Package (BSP) zur Verfügung, welches über die Preferences in der Arduino IDE aktiviert und dann über den Boardsmanager installiert werden kann. Die Konfiguration über das Menu Tools sieht dann folgendermaßen aus:
AZ-LGT8F328P Konfiguration
Bei neuer Hardware oder einem neu installierten BSP mache ich meist mit einem „Hello World“-Programm einen ersten Test, ob die Installation und die Hardware lauffähig sind. Das hier verwendete Programm LGT8F_HW.ino zeigt, dass der mit 32 MHz getaktete LGT8F328P schon mal seinen Dienst in der Arduino Umgebung tut. Das Programm, wie auch alle anderen hier vorgestellten, finden Sie auf Github zum Download.
Um die an mehreren Orten angegebenen Performancedaten zu verifizieren, habe ich mit Sieve und Dhrystone zwei Benchmarks bemüht, die ich auch schon auf dem Arduino Uno ausgeführt habe. In den folgenden beiden Screenshots sehen Sie die Ergebnisse. Für einen Coremark Benchmark ist leider die Hardware zu schwach. Die Ergebnisse sind in der Tabelle unten zusammengefasst. Ausserdem habe ich sie in meine Übersicht zu Arduino Benchmarks mit aufgenommen.
Board
Arduino Uno
LGT8F328P AZ-Delivery
CPU
ATmega328p
LGT8F328P
Clock
16 MHz
32 MHz
Sieve Runtime
14012 ms
6172 ms
Dhrystones/s
17229.86
47125.88
VAX MIPS
9.81
26.82
Benchmarks
Wie die Resultate vergleichsweise zeigen, ist der Performancegewinn nicht nur auf die verdoppelte Taktfrequenz zurückzuführen.
Der LGT8F328P weist einen echten 8-Bit DA-Umsetzer (DAC) auf und bietet ausserdem acht 12-Bit AD-Umsetzerkanäle (ADC). Ein einfacher Test des gesamten ADDA-Subsystems erfolgt durch Bereitstellen einer analogen Ausgangsspannung durch den DAC und die anschliessende Erfassung des Spannungswertes durch einen Kanal des ADC. Das Programm LGT8F_ADDA_Test.ino übernimmt das. Aus den Logdaten habe ich die in den folgenden Grafiken gezeigten Darstellungen generiert.
Es zeigt sich ein hinreichend lineares Verhalten des ADDA-Subsystems mit einem leichten Verstärkungsfehler. Bei der Darstellung der Abweichungen kommt das noch besser zum Ausdruck.
Es zeigt sich hier ein Offset von ca. 10 mV und ein Verstärkungsfehler von ca. 50 mV über den gesamten Aussteuerungsbereich. Am oberen Ende des Bereichs erfolgt eine Begrenzung.
Eine Korrektur der Messwerte mit Hilfe der Trendlinie y = 0.0127x + 10.326 führt dann doch zu einer recht brauchbaren Kennlinie für das ADDA-Subsystem des LGT8F328P.
Mit dem LGT8F328P und darauf aufbauenden Boards hat man technisch gesehen eine Alternative zum ATmega328P. Ob man diesen Weg gehen will, werden dabei wohl außerhalb der technischen Daten liegende Aspekte bestimmen.
Primarily, the app is used to test Sensirion’s smart gadgets, which are connected to a mobile device via Bluetooth, in order to be able to visualize the collected measured values. With MyAmbience you can: • View live data from all Sensirion gadgets. • Track their history and export the data. • Compare data from different devices.
But, here the inclusion of self-created sensor nodes is more important. For this purpose, Sensirion offers the Arduino BLE Gadget Library (https://github.com/Sensirion/arduino-ble-gadget), an Arduino library for integrating the data of self-created sensor nodes based on the ESP32 platform.
I have used this library in the application RAK11200_Sensors_BLE.ino. The following screenshots show the visualized data.
The first screenshot shows the dashboard with the values for temperature, relative humidity, and AQI (VOC). The second screenshot shows the AQI before and after ventilation.
If a sensor node is powered by a battery, then knowing the state of charge of this battery is of outstanding importance. Sensirion has announced that it will adapt the MyAmbience app to this end in spring 2023.
In erster Linie dient die App dem Test von Sensirions Smart Gadgets, die über Bluetooth mit einem Mobilgerät verbunden werden, um die erhobenen Messwerte visualisieren zu können. Mit MyAmbience können Sie: • Live-Daten von allen Sensirion Gadgets anzeigen. • Deren Verlauf verfolgen und die Daten exportieren. • Daten verschiedener Geräte vergleichen.
Hier ist aber das Einbeziehen von selbsterstellten Sensorknoten wichtiger. Dafür bietet Sensirion mit der Arduino-BLE-Gadget Library (https://github.com/Sensirion/arduino-ble-gadget) eine Arduino-Library zur Integration der Daten selbst erstellter Sensorknoten auf Basis der ESP32-Plattform an.
Ich habe diese Library in der Anwendung RAK11200_Sensors_BLE.ino verwendet. Die folgenden Screenshots zeigen die visualisierten Daten.
Im ersten Screenshot ist das Dashboard mit den Werten für Temperatur, rel. Luftfeuchte und dem AQI (VOC) gezeigt. Im zweiten Screenshot ist der Verlauf des AQI vor und nach dem Lüften gezeigt.
Wird ein Sensorknoten von Batterie betrieben, dann ist die Kenntnis des Ladezustands dieser Batterie von herausragender Bedeutung. Sensirion hat angekündigt, im Frühjahr 2023 die App MyAmbience dahingehend zu erweitern.
Die Corona-Inzidenzen weisen einen deutlichen Abwärtstrend auf, allerdings halten Erkältungskrankheiten, die saisonale Grippe, das RS-Virus u.a. den Krankenstand hoch. Infektionen in einer aerosolbelasteten Umgebung bleiben als unabhängig von Corona weiterhin aktuell.
Im Blogbeitrag Luftqualität mit NDIR- und MOX-Sensoren messen hatte ich den Einsatz unterschiedlicher Sensorik zur Bestimmung der Luftqualität beschrieben. Der Markt zeigt in rascher Folge Neuentwicklungen im Bereich Sensorik und Luftreinigung. Nicht immer sind die Spezifikationen klar ausgewiesen.
Mit wenig Aufwand können bereits sehr geeignete Messeinrichtungen zur Beurteilung der Luftgüte erstellt werden. Ich zeige Ihnen hier eine sehr kompakte Variante eines Messgeräts zur Erfassung von Temperatur, relativer Luftfeuchte und CO2-Gehalt der Umgebungsluft für den Einsatz in Innenräumen bestehend aus
M5Stack CO2 Unit with Temperature and Humidity Sensor (SCD40)
Beide Komponenten können die in den Bildern gezeigte kompakte Baugruppe bilden. Sensor und Controller sind durch ein kurzes Grove-Kabel verbunden. Die Spannungsversorgung erfolgt über ein USB-TypeC-Kabel aus einem kleinen Steckernetzteil.
CO2: 400 ppm – 1000 ppm
CO2: 1000 ppm – 2000 ppm
CO2: > 2000 ppm
Der SCD40 von Sensirion zeigt für die hier betrachtete Anwendung sehr gute Eigenschaften und mit der M5Stack CO2 Unit ist dieser Sensor auch sehr einfach handhabbar. Als Controller kann jeder nahezu beliebige Controller mit einem I2C-Interface eingesetzt werden. Den leistungsmäßig vollkommen überdimensionierten AtomS3 (Basis ESP32-S3) habe ich wegen der passenden Bauform und des integrierten Displays hier eingesetzt.
Auf dem Display werden CO2-Konzentration sowie Temperatur und relative Luftfeuchte angezeigt. Der Displayhintergrund kennzeichnet farblich die unterschiedlichen Belastungsstufen (Zuordnung unter dem jeweiligen Bild).
Die M5Stack CO2 Unit finden Sie im M5Stack Shop zu $ 33.90 und den M5Stack AtomS3 zu $ 15.50. Einheimische Distributoren werden die Komponenten auch zur Verfügung haben.
Im Blogbeitrag zur ESP-Familie hatte ich die Erweiterungen der ESP32-Familie durch ESP32-S2, ESP32-S3 und ESP32-C3 betrachtet.
Neben dem ESP32-S3-DevKit von Espressif war der Banana Pi BPI-PicoW-S3B ein interessantes Board, das mit dem Wemos Lolin S3 Pro ESP32-S3 WROOM wiederum einen interessanten Companion bekommt. Das Wemos Lolin S3 Pro Entwicklungsboard ist mit 16 MB QSPI-Flash und 8 MB PSRAM ausgestattet und nutzt den ESP32-S3 WROOM von Espressif. Außerdem weist das Board verschiedene I/O sowie ein SPI-Port zur Ansteuerung eines TFT-Displays, einen microSD-Card-Slot und ein LOLIN-I2C-Anschluss auf. Über zwei 16-polige Stiftleisten sind ADC, DAC, I2C, SPI, UART usw. erreichbar. Ein USB-Typ-C-Anschluss dient der Spannungsversorgung, dem Programm-Upload und der seriellen Kommunikation sowie Unterstützung für einen LiPo-Akku mit 500 mA Ladeleistung. Ich habe es von https://arduino-projekte.info/ bezogen.
Die folgenden Bilder zeigen Front- und Rückseite des Wemos Lolin S3 Pro.
Wemos LOLIN ESP32-S3 Pro
Das Board kann mit der Arduino IDE programmiert werden. Im folgenden Bild ist die Konfiguration über das Menu Tools gezeigt.
Konfiguration über das Menu Tools
Beim ESP32-S3 kommt der leistungsstärkere Controller Xtensa 32-bit LX7. Mit dem CoreMark Benchmark habe ich auch für dieses ESP32-Derivate einen Performancetest gemacht. Im Screenshot ist das Ergebnis ablesbar. Mit einem CoreMark von 450 bestätigt er das bereits für das ESP32-S3-DevKitC-1 gewonnene Ergebnis.
Durch die Möglichkeit, über das SPI-Port ein Display und über das I2C-Port sehr einfach externe Sensorik anschließen zu können, ist das Board ein interessanter Kandidat für IoT-Anwendungen.
Vom gleichen Hersteller wird ein 2.4″ TFT mit den folgenden technischen Daten angeboten:
2.4” diagonal LCD TFT display
320 x 240 pixel
TFT Driver IC: ILI9341
Touch Screen controller IC: XPT2046
Compatible with D1 mini, D1 mini Pro, D32 Pro, S3 Pro.
Bei Aliexpress habe ich es für weniger als € 12 kaufen können.
Das Programm für die hier gezeigte Kombination aus LOLIN S3 Pro und LOLIN TFT-2.4 ist auf Github abgelegt.
Interessant am vorgestellten Display ist die Möglichkeit, das LOLIN S3 Pro Board direkt mit einem zum Lieferumfang gehörenden 10-pol. Kabel zu verbinden oder einen Wemos D1 direkt auf der Rückseite einstecken zu können.
Über eine QWIC-Connector und ein ebenfalls zum Lieferumfang gehörendes 4-pol. Kabel lassen sich Sensoren anschließen, wodurch in Handumdrehen ein IoT-Knoten erstellt ist.
Air quality is an essential issue in times of Corona and especially then. We have lower risks of infections during the summer, but we already get various prognoses for the following autumn and winter again. Pollutants include fine dust, asbestos, Formaldehyde, PCB, radon, cleaning agents, mold, dust, tobacco smoke, VOCs (volatile organic compounds), and CO₂, which affect indoor air quality. The proportion of carbon dioxide in the air we breathe today is approximately 415 ppm (corresponds to 0.04% of the air). The air breathed out by a person has a CO₂ content of around 40,000 ppm. Accordingly, in unventilated bedrooms, fully occupied classrooms, or meeting rooms, we can quickly measure up to 5,000 ppm. These high CO₂ concentrations harm attention, performance, and health in general. NDIR sensors (non-dispersive infrared sensors) use the concentration-dependent absorption of electromagnetic radiation in the infrared range. At a wavelength of 4.3 μm, there is maximum absorption of CO₂ without much influence from other gases. The CO₂ concentration can therefore be measured very selectively. With MOX sensors, the gas flowing past causes a change in a gas-sensitive metal oxide layer (MOX). This change in resistance is thus a measure of the concentration of volatile organic components (VOC) recorded in their entirety and cannot be dissolved into a particular substance. The broadband VOC-measuring MOX sensors detect a spectrum of substances hazardous to health in specific concentrations. Here I would only like to deal with the measured values of CO₂ and VOC recorded by the two sensor variants mentioned above, as these represent the dominant topic in the current situation of COVID-19 and are used in so-called CO2 traffic lights. I am sure that you know that aerosols mainly transmit coronaviruses. Suppose we use the CO2 concentration as a measure of the air quality. Then we have a good indication of the air quality pollution by the air breathed out by the people present and the risk of infection from viruses transmitted via the aerosols. Suppose we use more broadband measures of MOX sensors to measure the air quality. In that case, we have a good indication of air quality pollution by various pollutants, including human vapors and odors. In an extensive study, I examined the behavior of NDIR and MOX sensors when measuring air quality. Sorry, the text is German, but the following graphic shows an important result.
Die Luftqualität ist in Zeiten von Corona und besonders dann ein wichtiges Thema. Im Sommer haben wir ein geringeres Infektionsrisiko, aber für den folgenden Herbst und Winter gibt es bereits wieder verschiedene Prognosen. Zu den Schadstoffen gehören Feinstaub, Asbest, Formaldehyd, PCB, Radon, Reinigungsmittel, Schimmel, Staub, Tabakrauch, VOC (flüchtige organische Verbindungen) und CO₂, die die Luftqualität in Innenräumen beeinträchtigen. Der Anteil von Kohlendioxid in der Luft, die wir heute einatmen, beträgt etwa 415 ppm (entspricht 0,04 % der Luft). Die von einem Menschen ausgeatmete Luft hat einen CO₂-Gehalt von etwa 40.000 ppm. In ungelüfteten Schlafzimmern, voll besetzten Klassenzimmern oder Besprechungsräumen können wir daher schnell bis zu 5.000 ppm messen. Diese hohen CO₂-Konzentrationen beeinträchtigen die Aufmerksamkeit, die Leistungsfähigkeit und die Gesundheit im Allgemeinen. NDIR-Sensoren (non-dispersive infrared sensors) nutzen die konzentrationsabhängige Absorption elektromagnetischer Strahlung im Infrarotbereich. Bei einer Wellenlänge von 4,3 μm ist die Absorption von CO₂ am höchsten, ohne dass andere Gase einen großen Einfluss haben. Die CO₂-Konzentration kann daher sehr selektiv gemessen werden. Bei MOX-Sensoren bewirkt das vorbeiströmende Gas eine Veränderung einer gasempfindlichen Metalloxidschicht (MOX). Diese Widerstandsänderung ist somit ein Maß für die Konzentration der flüchtigen organischen Bestandteile (VOC), die in ihrer Gesamtheit erfasst und nicht in eine bestimmte Substanz aufgelöst werden können. Die breitbandigen VOC-messenden MOX-Sensoren detektieren ein Spektrum von gesundheitsgefährdenden Stoffen in bestimmten Konzentrationen. Ich möchte hier nur auf die Messwerte von CO₂ und VOC eingehen, die von den beiden oben genannten Sensorvarianten erfasst werden, da diese in der aktuellen Situation von COVID-19 das beherrschende Thema darstellen und in sogenannten CO2-Ampeln eingesetzt werden. Sie wissen sicher, dass Coronaviren hauptsächlich über Aerosole übertragen werden. Nehmen wir an, wir verwenden die CO2-Konzentration als Maß für die Luftqualität. Dann haben wir einen guten Anhaltspunkt für die Luftverschmutzung durch die von den anwesenden Personen ausgeatmete Luft und das Risiko einer Infektion durch Viren, die über die Aerosole übertragen werden. Angenommen, wir verwenden breitbandigere MOX-Sensoren zur Messung der Luftqualität. In diesem Fall haben wir einen guten Hinweis auf die Verschmutzung der Luftqualität durch verschiedene Schadstoffe, einschließlich menschlicher Dämpfe und Gerüche. In einer umfangreichen Studie habe ich das Verhalten von NDIR- und MOX-Sensoren bei der Messung der Luftqualität untersucht.
In one of the experiments, I measured with two CO₂ sensors and one MOX sensor. The CO₂ sensors used were SCD30 (NDIR) and SCD41 (PASense), developed by the Swiss company Sensirion. The MOX sensor was an SGP30, also from Sensirion. Because there were no additional substances in addition to the human vapors, the measured values of the MOX sensor SGP30 also follow the two CO₂ sensors SCD30 and SCD41. The air quality measurement with the more cost-effective MOX sensors shows results comparable to the pure CO₂ concentration everywhere where the breathing air and human vapors dominate. Deviations occur in polluted environments (e.g., with formaldehyde), but this general problem requires a separate solution. RAKwireless WisBlock offers all required components to build an Air Quality Node.
In einem der Experimente habe ich mit zwei CO₂-Sensoren und einem MOX-Sensor gemessen. Bei den verwendeten CO₂-Sensoren handelte es sich um den SCD30 (NDIR) und den SCD41 (PASense), die von der Schweizer Firma Sensirion entwickelt wurden. Der MOX-Sensor war ein SGP30, ebenfalls von Sensirion. Da neben den menschlichen Ausdünstungen keine weiteren Stoffe vorhanden waren, folgen die Messwerte des MOX-Sensors SGP30 auch denen der beiden CO₂-Sensoren SCD30 und SCD41. Die Luftqualitätsmessung mit den kostengünstigeren MOX-Sensoren zeigt überall dort, wo die Atemluft und die menschlichen Ausdünstungen dominieren, mit der reinen CO₂-Konzentration vergleichbare Ergebnisse. Abweichungen treten in verschmutzten Umgebungen (z.B., mit Formaldehyd) auf, aber dieses generelle Problem erfordert eine separate Lösung. RAKwireless WisBlock bietet alle erforderlichen Komponenten für den Aufbau eines Luftqualitätsknotens.
RAKId
WisBlock Name
RAK19007
RAK19007 WisBlock Base Board 2nd Gen
RAK11200
RAK11200 is a WisBlock Core module based on Espressif ESP32-WROVER
RAK14001
RAK14001 WisBlock RGB LED Module
RAK12047
RAK12047 WisBlock VOC Sensor based on MOx-based Sensirion Gas Sensor SGP40
RAK1901
RAK1901 WisBlock Sensor based on Sensirion SHTC3
RAKBox-B3
WisBlock RAKBox-B3 Enclosure
RAK19007 installed in RAKBox-B3
From the hardware side, there are some issues: – I had to change the orientation of the base due to the used core. Therefore, I cannot use all screws for fixing the baseboard RAK19007. – The USB Type C needs more room than the enclosure offers. Therefore, powering via USB is impossible, and I power the device via the solar connector and 5 V DC.
The following libraries support the sensors and the RGB LED:
Was die Hardware betrifft, so gibt es einige Probleme: – Ich musste die Ausrichtung des Baseboards aufgrund des verwendeten CPU-Moduls ändern. Daher kann ich nicht alle Schrauben zur Befestigung des Baseboards RAK19007 verwenden. – Der USB Typ C benötigt mehr Platz als das Gehäuse bietet. Daher ist eine Stromversorgung über USB nicht möglich, und ich versorge das Gerät über den Solaranschluss und 5 V DC.
Die folgenden Bibliotheken unterstützen die Sensoren und die RGB-LED:
For SGP40, there are different libraries available. I want to use the VOC index (iVOC) supported by the Sparkfun library above. The color of the RGB LED signalizes different ranges of iVOC as defined in the following note from Sensirion. In my program RAK11200_sensors.ino, the iVOC controls the color of the LED inside the enclosure. The four images of the RAKBox-B3 Enclosure show the signalization of the iVOC ranges:
Für SGP40 gibt es verschiedene Bibliotheken. Ich möchte den VOC-Index (iVOC) verwenden, der von der obigen Sparkfun-Bibliothek unterstützt wird. Die Farbe der RGB-LED signalisiert verschiedene Bereiche von iVOC, wie in der folgenden Notiz von Sensirion definiert. In meinem Programm RAK11200_sensors.ino steuert der iVOC die Farbe der LED im Inneren des Gehäuses. Die vier Bilder des RAKBox-B3-Gehäuses zeigen die Signalisierung der iVOC-Bereiche:
LED Color
iVOC Range
Off
0 … 9
Green
10 … 199
Yellow
200 … 399
Red
> 400
Additionally, the Air Quality Node sends messages to WhatsApp, signalizing the need for ventilation or not. This way, you will have a visual signalization of the air quality near the Air Quality Node and a message about the need for ventilation on your smartphone everywhere.
Außerdem sendet der Luftqualitätsknoten Nachrichten an WhatsApp, die signalisieren, ob gelüftet werden muss oder nicht. Auf diese Weise haben Sie eine visuelle Signalisierung der Luftqualität in der Nähe des Air Quality Node und eine Nachricht über die Notwendigkeit des Lüftens auf Ihrem Smartphone überall.
Der weit verbreitete Raspberry Pi Pico(W) hat mit dem Banana Pi BPI-PicoW einen interessanten Compagnion bekommen. Baut der Raspberry Pi Pico auf dem ebenfalls von der Raspberry Pi Foundation entwickelten Mikrocontroller RP2040 auf, nutzt der BPI-PicoW einen ESP32-S3 von Espressif. Beides sind Dual-Core Controller mit einer guten Ausstattung an Peripherie. Die folgende Tabelle zeigt die Gemeinsamkeiten und Unterschiede beider Boards.
Die programmierbare IO des RP2040 ist ein Alleinstellungsmerkmal des Raspberry Pi Pico und ist deshalb im BPI-PicoW nicht zu finden.
Im ESP32-S3 sind zwei ULP-Copozessoren vorhanden, die ein Ultra Low Power Design unterstützen. Der Strombedarf im Deep Sleep liegt beim ESP32-S3 bei niedrigen 8 uA, die vom Raspberry Pi Pico nicht erreicht werden. Ähnlich sieht es bei der Performance der CPU, dokumentiert durch die Coremark Resultate, aus.
Beim Raspberry Pi Pico steht derzeit nur WiFi zur Verfügung. BLE ist für einen späteren Release angekündigt.
Der BPI-PicoW kann über AliExpress bestellt werden. Der Preis liegt derzeit bei € 5.74.
Der Preis des Raspberry Pi PicoW liegt bei € 7.20 (berrybase.de). Beide Boards sind somit sehr kostengünstig und eine leistungsfähige Basis für IoT-Projekte.
Abschliessend finden Sie noch die Pinbelegungen beider Boards zum Vergleich.
Mit den ESP32S- und ESP32-C-Series stellt Espressif weitere ESP32-SoCs unterschiedlicher Leistung zur Verfügung.
Die folgende Tabelle vermittelt einen Überblick über neuere Mitglieder der ESP32-Familie, die auch bereits durch die Arduino IDE unterstützt werden.
SOC
CPU
Cores
Memory
Special
ESP32-S2
Xtensa 32-bit LX7
Single-Core
128 KB ROM, 320 KB SRAM, 16 KB RTC SRAM
LCD Interface, Camera Interface, Touch Sensor, WiFi, BT 5.0, Native USB
ESP32-S3
Xtensa 32-bit LX7
Dual-Core
384 KB ROM, 512 KB SRAM, 16 KB RTC SRAM
Vector Instructions Support, WiFi, BT 5.2 (LE), Native USB
ESP32-C3
32-bit RISC-V Processor
Single-Core
400 KB RAM, 384 KB ROM, 8 KB RTC SRAM
WiFi, BT 5.2 (LE), Native USB
Übersicht ESP32-Sx & ESP32-Cx
Für die gelisteten SOCs stehen Developmentkits bereit und ich habe mit diesen die Resultate des CoreMark Benchmarks (mit Default Einstellungen) ermittelt:
CPU
Clock
DevKit
CoreMark
CoreMark/MHz
ESP32-C3
160 MHz
Beetle ESP32-C3
304.15
1.9
ESP32-S2
240 MHz
ESP32-S2-DevKitM-1
361.47
1.5
ESP32-S3
240 MHz
ESP32-S3-DevKitC-1
451.30
1.9
ESP32
240 MHz
ESPduino32 w/ ESP-WROOM-32
336.36
1.4
CoreMark Resultate
Der Output des CoreMark Benchmarks für ein ESP32-S3 DevKitC-1 sieht beispielsweise folgendermassen aus:
CoreMark Performance Benchmark
for ESP32-S3 DevKitC-1
Arduino SW Version 10607
Clock frequency 240 MHz
CoreMark measures how quickly your processor can manage linked
lists, compute matrix multiply, and execute state machine code.
Iterations/Sec is the main benchmark result, higher numbers are better
Running.... (usually requires 12 to 20 seconds)
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 13295
Total time (secs): 13.30
Iterations/Sec : 451.30
Iterations : 6000
Compiler version : GCC8.4.0
Compiler flags : (flags unknown)
Memory location : STACK
seedcrc : 0xE9F5
[0]crclist : 0xE714
[0]crcmatrix : 0x1FD7
[0]crcstate : 0x8E3A
[0]crcfinal : 0xA14C
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 451.30 / GCC8.4.0 (flags unknown) / STACK
Erst kürzlich wurde der ESP32-C5 angekündigt und es steht erstmals ein Device zur Verfügung, welches WiFi sowohl mit 2.4 GHz als auch mit 5 GHz erlaubt. Wenn es hierzu ein Developmentkit gibt, können die betreffenden Ergebnisse ergänzt werden.
Du muss angemeldet sein, um einen Kommentar zu veröffentlichen.