Schlagwort-Archive: ESP32

ESP32 – Erweiterung der Arduino Familie

Nachdem der verbreitete ESP8266 in die Arduino Umgebung integriert wurde und Ledunia als High-End-ESP8266-Modul (http://ledunia.de/) verfügbar ist, steht mit dem ESP32 der chinesischen Firma Espressif ein weiteres Upgrade der Arduino Familie bereit.

Ich hatte die Benchmarks aus dem Beitrag  „Arduino32: Die jungen Wilden“ [1] mit denen des ESP8266/Ledunia ergänzt [2] und will den deutlich mehr Performance versprechenden ESP32 ebenfalls diesen Tests unterziehen.

Sowohl der ESP8266 als auch der ESP32 Mikrocontroller von Espressif sind in zahlreiche Mikrocontroller-Module eingegangen und heute gerade wegen ihrer WiFi-Eigenschaften oft Bestandteil von Entwicklungen in der Maker-Szene. Beim ESP32 kommt nun auch noch die Bluetooth LE-Konnektivität (BLE) hinzu.

In der Zeitschrift Design & Elektronik Heft 11/2018 ist ein Artikel mit dem gleichnamigen Titel erschienen, der den ESP32 als Erweiterung der Arduino und dessen Features betrachtet.

[1]        Arduino32: Die jungen Wilden (Teil 2).  DESIGN & ELEKTRONIK 06/2016 S.14-17

http://www.elektroniknet.de/embedded/arduino32-die-jungen-wilden-131502.html

[2]        Ledunia – ESP8266 High-End-Modul. DESIGN & ELEKTRONIK  3/2018 S. 16-21

http://www.elektroniknet.de/design-elektronik/embedded/einer-der-hoechstintegrierten-wifi-chips-der-branche-152310.html

 

Advertisements

HiGrow-Sensor: Daten erfassen und versenden

Im Post HiGrow-Sensor sorgt für das Wohl der Pflanzen hatte ich auf den HiGrow-Sensor hingewiesen, der zur Überwachung der Umweltbedingungen in Pflanzennähe eingesetzt werden kann.

Im Programm HiGrowESP32MQTT.ino werden die Sensordaten des dort eingesetzten DHT11-Sensors zur Messung von Lufttemperatur und Luftfeuchte, sowie die kapazitiv gemessene Bodenfeuchte und die Helligkeit erfasst und entsprechenden Topics von MQTT-Messages zugeordnet. Zu Kontrollzwecken werden diese Daten auch seriell ausgegeben und können durch den internen Monitor der Arduino IDE verfolgt werden. Das Programm  HiGrowESP32MQTT.ino steht auf Github zum Download zur Verfügung.

HiGrow Data

Mit einem MQTT Client können die abonnierten Mitteilungen visualisiert werden.

Screenshot_20180319-140609.png

Bei meinen Test ist mir aufgefallen, dass recht häufig nach dem Programmstart der Brownout Detector getriggert wurde und einen entsprechenden Reset ausgelöst hat.

HiGrow Brounout

Verfolgt man die Diskussion (z.B. hier https://github.com/nkolban/esp32-snippets/issues/168) dann scheint ein hoher Strombedarf während der Initialisierungsphase ein (der?) Grund für das Verhalten zu sein.

Der HiGrow-Sensor weist einen Batteriehalter für eine 18650-LiPo-Batterie auf. Bei meinen Tests war die Batterie nicht bestückt. Möglicherweise puffert eine bestückte Batterie dann diesen kurzzeitigen Strombedarf hinreichend.

 

ESP32 ADC & DAC

Im Gegensatz zum ESP8266 weist der ESP32 ein wesentlich besser ausgebautes System zur analogen IO auf.

Der ESP32 besitzt zwei 12-bit ADCs, die nach dem Verfahren der Successiven Approximation arbeiten und insgesamt 18 analoge Eingänge bedienen. Einige dieser Eingänge können zur Bildung eines programmierbaren Verstärkers (PGA) zur Verstärkung kleiner Analogsignale herangezogen werden.

Die ADC API unterstützt ADC1 (9 Kanäle, an GPIO 32 – 39), und ADC2 (10 Kanäle, an den GPIOs 0, 2, 4, 12 – 15 und 25 – 27). Bei der Verwendung von ADC2 gilt es aber, gerade bei der Verwendung von WiFi,  gewisse Restriktionen zu beachten. Für den Test hier spielen sie aber keine Rolle .

Außerdem hat der ESP32 zwei 8-bit DACs, die mit GPIO25 (Channel 1) und GPIO26 (Channel 2) verbunden sind.

Weiterlesen

Arduino ESP32

Nachdem der verbreitete ESP8266 in die Arduino Umgebung integriert wurde und  Ledunia als High-End-ESP8266-Modul verfügbar ist, hatte ich die Benchmarks aus dem Beitrag  Arduino32: Die jungen Wilden in der Zeitschrift DESIGN&ELEKTRONIK (Online-Version Teil 1Online Version Teil 2) mit dem ESP8266/Ledunia wiederholt.

Nun steht auch Espressif’s ESP32 in der Arduino Umgebung zur Verfügung. Die Implementierung ist noch nicht ganz komplett, doch kann der deutlich mehr Performance versprechende Controller ebenfalls diesen Tests unterzogen werden.

esp32_devel-600x600

ESP32 Dev Module mit ESP-WROOM32 on-board

Weiterlesen

ThingPulse gegründet

In der Maker-Szene bekannt sind Daniel “Squix” Eichhorn und Marcel “frightanic” Stör schon seit längerem.

Daniel ist in der ESP8266-Arduino-Community eine bekannte und respektierte Persönlichkeit. Er verkauft IoT-Kits und hat seit 2015 DIY-Projekte mit beeindruckender Geschwindigkeit realisiert.

Marcel ist seit Sommer 2015 einer von mehreren NodeMCU-Maintainers. NodeMCU ist eine Lua-Firmware für den ESP8266 / ESP32 WiFi SoC. Er hat auch einige Tools für die NodeMCU-Community beigesteuert: NodeMCU Cloud Builder, Docker NodeMCU Build, NodeMCU PyFlasher.

Die von Daniel und Marcel gegründete ThingPulse wird IoT-Hardware und -Software sowohl für Hersteller als auch für Verbraucher entwickeln, fördern und verkaufen. ThingPulse ist die Schnittstelle zwischen IoT-Komponenten und traditionellen Anwendungen. Mehr findet Ihr unter https://thingpulse.com/about/.

Ich wünsche an dieser Stelle einen guten Start und bin vom Erfolg schon heute überzeugt.

pycom LoPy – erste Schritte mit ESP32

Mit dem LoPy habe ich nun nach dem WiPy das zweite Controller-Board von pycom in Betrieb genommen. Die Inbetriebnahme gestaltet sich nach der pycom Doku recht problemlos.

pycom_boards

Aus der Pymakr IDE heraus habe ich über USB-Serial mit den Boards kommuniziert. Ganz wichtig ist ein gelegentliches Firmware Update, da die Firmware selbst noch spürbar in Entwicklung ist.

Ich hatte folgende Situation vorgefunden, die jeder mit seinem System durch die folgenden Schritte nachvollziehen kann:

>>>import os
>>>os.uname()

WiPy:

(sysname='WiPy', nodename='WiPy', release='0.9.2.b2', version='7713d55 on 2016-10-28', machine='WiPy with ESP32')

LoPy:

(sysname='ESP32', nodename='ESP32', release='0.9.0b', version='8785822 on 2016-10-06', machine='LoPy with ESP32')

und musste feststellen, dass nicht alle von mir für erste Tests benutzten Funktionen erwartungsgemäß funktionierten. Nach dem Firmware-Update zeigte sich die Situation dann folgendermaßen:

WiPy:

(sysname='WiPy', nodename='WiPy', release='0.9.6.b1', version='v1.8.6-40-gd10463e on 2016-11-25', machine='WiPy with ESP32')

LoPy:

(sysname='LoPy', nodename='LoPy', release='0.9.6.b1', version='v1.8.6-40-gd10463e on 2016-11-25', machine='LoPy with ESP32')

Das Firmware-Update war also erforderlich und erfolgreich.

Mit ein paar einfachen Files habe ich meine Tests begonnen. Alles weiteren Experiment werden auf GitHub abgelegt.

Die Terminal-Ausgabe der Scripts hello.py, blink.py und TMP36.py sind im folgenden Screenshot zu sehen.

output

Weitere Infos und Programmbeispiele sind hier zu finden.