Das Wissen, wie viele Personen sich an einem bestimmten Ort aufhalten, kann als Steuerungsgröße für sehr unterschiedliche Prozesse dienen.
Sogenannte PaxCounter ermitteln die Personenanzahl an einem Ort, indem Sie die Signale von Mobiltelefonen auswerten, die zur Verbindungsaufnahme über WiFi oder BLE gesendet werden. Die Bedingungen für eine näherungsweise korrekt ermittelte Anzahl von Personen sind, dass jede Person ein eingeschaltetes Mobiltelefon mitführt und sich im Empfangsbereich des PaxCounters befindet. Die zu überwachende Fläche ist damit begrenzt durch die WiFi- bzw. BLE-Reichweite. Wie Sie einen PaxCounter selbst herstellen können, zeigt Ihnen diese Bauanleitung.
Kamera-Anwendungen (gekoppelt mit KI) können zur Personenerkennung und -zählung verwendet werden, erfordert aber einen nicht zu vernachlässigenden Aufwand.
Mit den bekannten PIR-Sensoren kann eine Objekt- bzw. Personenzählung über einen gesonderten Zugangs- und Austrittsbereich sehr einfach gestaltet werden.
Die Komponenten der M5Stack-Familie unterstützen ein unkompliziertes Prototyping, wie Ihnen das nebenstehende Bild zeigt. Kern ist der M5StickC Mikrocontroller auf Basis eines ESP32. Ein M5StickC PIR Bewegungsmelder HAT AS312 dient der Objekterkennung. Durch einen M5StickC Akku HAT 18650C wird die Akkulaufzeit verlängert. Im Akku HAT ist ein wiederaufladbarer 18650 Akku verbaut, der über den herausgeführten USB-Typ-C Anschluss aufgeladen werden kann.
Das Display des M5StickC zeigt die erfasste Anzahl von Personen (oder Objekten) sowie den Ladezustand des Akkus an. Ist eine Person erfasst, dann blinkt die interne LED, bis der PIR Sensor wieder mess-bereit ist. Diese Haltezeit kann beim verwendeten Sensor nicht verändert werden. Andere PIR-Sensoren ermöglichen dies allerdings.
Nach meiner Bestellung vom März 2020 (Pre Order) ist nun heute das für den 15.04.2020 angekündigte Wio Terminal eingetroffen.
Beim Wio Terminal handelt es sich um einen Mikrocontroller auf Basis eines ATSAMD51 (Cortex-M4F) und drahtloser Konnektivität durch ein Realtek RTL8720DN-Chip. Der CPU-Clock liegt bei 120 MHz (Boost bis zu 200 MHz). Der Realtek RTL8720DN-Chip unterstützt sowohl Bluetooth als auch WiFi und bildet das Rückgrat für IoT-Projekte. Das Wio Terminal ist mit einem 2,4-Zoll-LCD-Bildschirm, einer integrierten IMU (LIS3DHTR), einem Mikrofon, einem Summer, einem microSD-Kartensteckplatz, einem Lichtsensor und einem Infrarot-Emitter (IR 940 nm) ausgestattet. Peripherie-Erweiterungen sind über zwei Grove Stecker (I2C, A0, A1, D0, D1) möglich. Ein USB-C-Anschluss dient der Spannungsversorgung, dem Programm-Upload und als Debud-Schnittstelle. Wio Terminal ist mit Arduino und MicroPython kompatibel.
Die Wio Terminal Hardware ist in einem ansprechenden Gehäuse verbaut. An der Rückseite ist ein 40-polige Buchsenleiste für zusätzliche Erweiterungen vorhanden.
Wio Terminal FrontWio Terminal Back
Ich habe mit drei Benchmarks untersucht, ob Wio Terminal eine brauchbare Basis für IoT-Projekte ist.
Die folgenden Screenshots zeigen die Ergebnisse der Benchmark. Die Resultate von Whetstone- und Coremark-Benchmark können hier mit anderen Arduinos- resp. Arduino-kompatiblen Mikrocontrollern verglichen werden.
Whetstone Benchmark
CoreMark Benchmark
Der TFT-Benchmark ist controller- und library-spezifisch. Aus den einzelnen Zeiten wird aber deutlich, dass Display und zugehörige Library eine sehr ordentliche Performance in dieser Leistungsklasse aufweisen. Um eine bessere Vorstellung zu bekommen, zeigt das Video weiter unten die Bildinhalte des TFT-Benchmarks.
TFT Benchmark
Fazit:
Neben den ESP32-basierten M5Stack- und M5StickC-Controllern haben Sie mit Wio Terminal einen starken Cortex-M4F-Mikrocontroller, der zwar nicht ganz die Performance-Daten des M5Stack Core (ESP32) aber dennoch genug Leistung für die üblichen IoT-Projekte aufweist. Das Display ist grösser und es stehen mehr Eingabeelemente zur Verfügung. Die jeweilige Anwendung wird wohl darüber entscheiden, welcher Controller zum Einsatz kommen wird.
Nachtrag:
Über Twitter habe ich einen Hinweis zu meinem Beitrag bekommen, den ich gerne weiterleite.
Die LovyanGFX Library ist eine SPI LCD Graphics Library für Mikrocontroller auf Basis ESP32 und SAMD51. Die Library unterstützt damit M5Stack / M5StickC / TTG T-Watch / ODROID-GO / ESP-WROVER-KIT & WioTerminal. Die Ergebnisse sind beachtlich. Sie können die Zahlen vergleichen.
Das Läuten des Telefons nicht gehört oder das Handy an der Ladestation vergessen? Das kennt jeder, der seine Eltern oder Großeltern nicht in der Nähe hat und auf digitale Kommunikation angewiesen ist. Wäre es da nicht von Vorteil eine sichtbare Signalisierung zu haben, die anzeigt, dass eine neue Mitteilung über Whatsapp gekommen ist oder eine neue eMail im Postfach darauf wartet gelesen und beantwortet zu werden.
Für die Türklingel, die vielleicht nur schlecht gehört wird, oder das Telefon gibt es Einrichtungen, die durch das Leuchten einer Lampe Aufmerksamkeit erzeugen. Wie wäre es also, eine kleine ferngesteuerte Lampe an geeigneter Stelle zu positionieren und diese dann ferngesteuert ein- und auszuschalten. Wollen Sie an eine unbeantwortete Whatsapp erinnern, dann lassen Sie die Lampe beispielsweise einfach Grün leuchten, bei einer unbeantworteten eMail könnte das dann Gelb sein.
Ein seitlich angebrachter Knopf kann die Lampe dann ausschalten. Sie können auch dafür sorgen, dass während einer festgelegten Ruhezeit, die Lampe ausgeschaltet bleibt. So könnte beispielsweise die farbige Signalisierung aussehen.
| | | | | |
Die hier von mir gezeigte Lampe ist mit dem Internet verbunden und empfängt ihre Steuersignale über MQTT. Sie können vom Mobiltelefon die Benachrichtigungen absenden, d.h. die Farbe des Licht der Lampe und seine Helligkeit steuern. Die Lampe sendet ihrerseits eine Benachrichtigung bei der Betätigung einer seitlich angebrachten Taste, d.h. als Quittung beim Ausschalten. Das ist also der einzige Knopf der an der Lampe zu bedienen ist.
Was braucht es neben der Lampe noch an Infrastruktur?
Die Lampe wird über ein Steckernetzteil, dass Sie vom Mobiltelefon her kennen, mit Spannung versorgt und der heimische WLAN-Router verbindet die Lampe über WLAN mit dem Internet.
Ein MQTT-Broker ist die Schaltzentrale zwischen Mobiltelefon, Tablet oder PC auf dem ein MQTT-Client installiert wird. Am Einfachsten ist das Versenden der Benachrichtigung vom Mobiltelefon aus, denn damit können Sie neben der eigentlichen Kommunikation auch unmittelbar die D1Lamp erreichen.
Umsetzung
Mit der LED-Außenwandleuchte Lutec TELIN 5197002125, die bei zahlreichen Onlinehändlern und Baumärkten erhältlich ist, hat man ein Gehäuse, welches auch für den Außeneinsatz in Frage käme (IP54). Die vorhandene weiße LED könnte mit einem Relais vom Controller geschaltet werden. Ich verwende diese nicht, da ich zur Signalisierung farbiges Licht verwenden möchte.
LED-Außenwandleuchte Lutec TELIN 5197002125
Die Lutec-Leuchte hat genügend freien Bauraum um einen Wemos D1 mini Controller mit aufgestecktem LOLIN RGB LED Shield unterzubringen.
Der Wemos D1 mini ist ein ESP8266 mit 4 MB Flash (NodeMCU) und integrierter WLAN-Antenne und ist für derartige IoT-Projekte vollkommen ausreichend. Das LOLIN RGB LED Shield weist sieben Neopixel-LEDs (WS2812B-mini) auf. Zur Ansteuerung der Neopixel-LEDs wird nur eine Leitung benötigt. Die Stromversorgung für beide Boards erfolgt über ein Steckernetzteil, welches an den microUSB-Anschluss des Wemos D1 mini angeschlossen wird. Das Programm ESP8266_D1Lamp.ino ist auf Github abgelegt.
Variante mit M5Stack ATOM
Wer die vorgeschlagene Lösung mit einem Lampengehäuse zu sperrig empfindet und lieber eine kompakte Variante bevorzugt, die vielleicht einfach mit doppelseitigem Klebeband beispielsweise an ein Regal geklebt wird, der kann einen M5Stack ATOM Controller mit einer Größe von nur 24 * 24 mm einsetzen. Die Spannungsversorgung erfolgt wieder über den USB-Anschluss durch ein Steckernetzteil.
Die Signalisierung erfolgt wieder durch farbig leuchtende oder blinkende LEDs, wobei ausgewählt werden kann, ob nur eine LED, mehrere oder, wie hier im Bild gezeigt, alle LEDs eingesetzt werden. Ein Druck auf die Frontscheibe der Anzeige betätigt einen Taster und das Display kann ausgeschaltet werden.
Blinkende LED-Matrix
Die Steuerung des Displays über MQTT ist identisch zur vorherigen Lösung und ist für den Anwender der Anzeige ohnehin verborgen.
Variante mit Wemos D1 mini und LEDs
Abgeleitet aus der Variante mit Wemos D1 mini und LOLIN RGB LED Shield habe ich noch eine einfache Variante mit 4 farbigen LEDs ausgebaut. Den Farben können passende Inhalte zugeordnet werden. Hier signalisiert die grüne LED eine neu angekommene WhatsApp Mitteilung.
Grüne LED signalisiert neue WhatsApp Message
Die gelbe LED signalisiert hier beispielsweise eine neue eMail. Durch Druck auf den Knopf oben kann das quittiert werden, was durch die blinkende blaue LED auch angezeigt wird. Danach sind alle LEDs ausgeschaltet.
Heltec CubeCell besitzt die komplette Infrastruktur zum Aufbau eines solar-betriebenen LoRaWAN-Knotens on-board.
Solar-betriebener LoRaWAN-Sensorknoten mit Heltec CubeCell
Sensor-Erweiterungen können über den I2C-Bus erfolgen. Es sind beim CubeCell keine PullUp-Widerstände vorhanden. Diese sind extern zu berücksichtigen, was ohnehin meist bei Einsatz eines Breakout Boards der Fall ist. Die PullUp-Widerstände sollten nicht mit VDD sondern mit Vext verbunden werden. Vext kann aktiviert werden bevor der I2C-Bus aktiv ist und kann nach dem I2C-Bus-Transfer wieder abgeschaltet werden.
pinMode(Vext, OUTPUT);
digitalWrite(Vext, LOW); // switches Vext on
delay(500); // allow Vext to settle
Den oben gezeigten LoRaWAN-Knoten betreibe ich derzeit im Test noch ohne Nachladung durch die Solarzelle. Wenn sich der erwartete Strombedarf zeigt, dann schließt sich dieser Test an.
Das ePulse ESP32-Entwicklungsboard der Schweizer Fa. ThingPulse ist für geringen Stromverbrauch optimiert. Der VIN-Pin akzeptiert Spannungen zwischen 3V3 und 12V. Im Deep Sleep (Tiefschlaf) verbraucht das Board nach Herstellerangaben zwischen 25 uA (bei 3V3) und 35uA (bei 12V). Die meisten ESP32- und ESP8266-Boards verbrauchen etwa 100 – 130 uA. Meine Messung ergab für 5 V an VIN einen Strom von 23.5 uA.
ePulse Stromaufnahme bei VIN = 5 V
Der grundsätzliche Zyklus für eine IoT-Device ist, dass das Gerät aufwacht, eine Netzwerk-Verbindung herstellt, einen Befehl über einen Dienst zu einem Server sendet und wieder in den Ruhezustand geht, bis dass das nächste WakeUp folgt. Der Stromverbrauch in der Operation-Phase wird durch die Netzwerkverbindung definiert und ist nur durch die Wahl des Mediums zu beeinflussen. Beim ESP32 tritt bei einer WiFi-Verbindung kurzzeitig eine Stromaufnahme von bis zu 140 mA auf [1].
Grundsätzlich gilt zur Reduzierung des Stromverbrauchs insgesamt, die Sleep Phasen lang genug zu machen. Das ist natürlich von der Anwendung stark abhängig.
Geht man für eine WiFi-Verbindung von einer Stromaufnahme von 140 mA für 12 s aus und schickt nach Versenden der Mitteilung den ESP32 in den Deep Sleep Zustand, dann reduziert sich die mittlere Stromaufnahme bei einem Call/Stunde bereits auf ca. 0.5 mA. Seltenere Aufrufe reduzieren die Stromaufnahme weiter und zeigen dann auch die Unterschiede zwischen ESP32 und ePulse. Der Haupteinfluss durch die WiFi-Verbindung ist natürlich nicht wegzudiskutieren. Interessant dürften Untersuchungen mit weiteren Netzwerk-Technologien, wie LoRa oder NB-IoT sein.
Mikroe bietet eine Vielzahl von Sensoren, Aktoren, Displays und mehr im Click-Board-Format an. Diese Click Boards können auf dem Arduino mit dem Arduino Uno Click Shield verwendet werden. Die Schnittstelle zum eingesetzten Mikrocontroller ist das standardisierte mikroBUS-Interface.
mikroBUS-Interface
Im Bild sind ein Air Quality Click mit MQ-135 Sensor und ein BarGraph Click aufgesteckt auf ein Arduino Uno Click Shield zu sehen. Mit dieser Anordnung kann über den MQ-136 Sensor die Luftqualität gemessen und mit dem BarGraph Display qualitativ angezeigt werden. Hierzu wird der Messwert auf die möglichen Anzeigewerte gemappt.
Beim BarGraph Click Shield muss die verwendete Spannung des Arduino Boards per Jumper selektiert werden. Die folgenden Komponenten werden verwendet – Luftqualitätsklick (PID: MIKROE-1630) – BarGraph Klicken Sie auf (PID: MIKROE-1423) – Arduino UNO Click Shield (PID: MIKROE-1581)
Durch die Verwendung der Click Boards von mikroe kann sehr einfach die beim Einsatz mit dem Arduino verwendete Hardware erweitert werden.
Bislang konnten Sie beim M5ATOM vernünftig nur das Grove-Port für Ihre eigenen Erweiterungen nutzen. Mit dem ATOMIC Proto Kit können Sie nun kompakte Baugruppen, abgesetzte Sensoren und ähnliches mit dem M5ATOM aufbauen. Das Grove-Port bleibt natürlich erhalten.
Die Kontaktierung erfolgt über die Buchsenleisten auf der Rückseite. Es stehen die Pins G19, G21,G22,G23,G25, G33 auf der Platine des Proto Kits, damit auch der interne I2C-Bus, zur Verfügung.
Durch die Kombination mit einem Sensor bauen Sie innerhalb kürzester Zeit abgesetzte Sensoren auf, die über die WiFi- oder BLE-Konnektivität Ihre erhobenen Daten verfügbar machen.
Von Seeedstudio wurde das Arduino- und MicroPython-kompatibleWIO Terminal auf Basis eines ATSAMD51 Cores mit einem Realtek RTL8720DN für BLE 5.0 & Wi-Fi 2.4G/5G angekündigt. Das WIO Terminal selbst ist mit einem 2,4-Zoll-LCD-Bildschirm, einer integrierten IMU (LIS3DHTR), einem Mikrofon, einem Summer, einem microSD-Kartensteckplatz, einem Lichtsensor und einer Infrarot-LED (IR 940 nm) ausgestattet. Darüber hinaus verfügt es über zwei multifunktionale Grove-Ports für das Grove Ecosystem und ein Raspberry Pi 40-Pin-kompatibles GPIO für weitere Add-Ons.
Der eingesetzte Microchip ATSAMD51P19 bietet die folgenden Features:
ARM Cortex-M4F core running at 120MHz (Boost up to 200MHz)
4 MB External Flash, 192 KB RAM
SPI, I2C, I2S, ADC, DAC, PWM, UART(Serial)
Pre-Orders sind möglich. Die Auslieferung ist derzeit für den 20. April avisiert.
Du muss angemeldet sein, um einen Kommentar zu veröffentlichen.