Preview – ESP32-Audio-Kit ESP32

Ein großes ESP32-Board mit Audio und vielen Zusatzfunktionen, perfekt für das selbst gebaute Internetradio. Beim schnellen Ali für rund 18€ erworben. Vorsicht, es gibt unterschiedliche Versionen, hier müsst ihr mit den Einstellungen etwas herumspielen. Manche geben die Nummer auf der Rückseite des ESP-Moduls an. Im Bild rechts, ESP32-A1S 2974. Diese bitte vergleichen, hiermit könnt ihr …

Weiterlesen →

TTGO LORA32 OLED V1

Ich habe diese LoRa-Boards vor einiger Zeit im Doppelpack erworben und in der Schublade vergessen. Da nun immer mehr Berichte zum Thema LoRa (Long Range Radio) zu finden sind, wollte ich es auch mal ausprobieren. Meine Versuche habe ich hier dokumentiert. Es gibt mittlerweile eine Version 2 des Boards. Die Version 2 hat zusätzlich einen …

Weiterlesen →

Espressif IDF – GPIOs

Die meisten GPIO Pins des ESP32 sind, bis auf ein paar Ausnahmen, sowohl Eingänge als auch Ausgänge (siehe hierzu auch das entsprechende Datenblatt). Wie diese digital angesteuert werden, zeigen die nächsten Beispiele. Grundsätzliches Sind die Pins als digital konfiguriert, können sie jeweils den Wert 1= true oder 0= false annehmen. Ausgang Hier das Blinkbeispiel mit …

Weiterlesen →

Espressif IDF – Tasks

Ein Task ist eine (wiederkehrende) Aufgabe für den Prozessor. Mehrere Tasks ringen um die Aufmerksamkeit der CPU. Wie diese erstellt werden und welche Datenstrukturen zur Datenübermittlung und Synchronisation vorhanden sind, wird in diesem Beitrag kurz umrissen. Tasks können zu einer sehr komplexen Angelegenheit werden, weshalb ich hier nur die Spitze des Eisberges ankratzen kann. Dennoch …

Weiterlesen →

Espressif IDF – Menuconfig

Eine der schönen Errungenschaften der IDF ist die menügesteuerte Konfiguration. Noch schöner finde ich, dass eigene Konfigurationspunkte erstellt werden können. Diese werden dann automatisch in das Hauptmenü eingehängt. Vorab: Die Bibliothek „esp_system.h“ wird im Quellcode benötigt, sonst klappt’s nicht Nach Änderungen am Menü ein idf.py clean durchführen Zur Erstellung solch eines Konfigurationspunktes nehme ich das …

Weiterlesen →

Espressif IDF – Timer

Ein beliebtes Beispiel in der Arduino Umgebung ist Blink. Hier wird eine LED mit einer kurzen Pause an und aus geschaltet. Zu Gpio Aktionen kommen wir im nächsten Kapitel, um das Blinken kümmern wir uns hier. Auch in der Arduino Umgebung wird immer geraten, Codeunterbrechungen mit Delay zu vermeiden. Dort gibt es einige Konstrukte mit …

Weiterlesen →

Espressif IDF – Lognachrichten

Gerade bei der Entwicklung auf dem Microcontroller ist hier und da mal eine Ausgabe wichtig, um zu erahnen, ob der entwickelte Code auch das Richtige macht. Schade ist es, wenn solche Ausgaben dann immer noch das fertige Produkt belasten. Damit der Debugging Code es nicht oder nur bedingt ins Endprodukt schafft, gibt es in nahezu …

Weiterlesen →

Espressif IDF – Fehlerbehandlung

Die Fehlerbehandlung ist in der IDF eine der Kernfunktionalitäten. Auf sie stößt man praktisch in jedem Beispiel-Programm. Deshalb möchte ich an dieser Stelle näher auf sie eingehen. Alle wichtigen Funktionen der IDF geben Fehlercodes zurück. Hierauf kann zum einen manuell reagiert werden (if Bedingung + eigenes Handling) oder sie können an ein spezielles Makro (Funktion) …

Weiterlesen →

Espressif IDF – Konsolenausgabe

Direkte Ausgaben über die Konsole werden in der IDF mit printf erreicht. Hiermit sollte man jedoch sparsam umgehen, da es zum Beispiel zu Debugging Zwecken oder zur Fehlerbehandlung andere Mechanismen gibt. Diese können dann auch über Menuconfig ein- und ausgeschaltet werden und belasten so nicht den CODE. So sieht der Testcode für eine einfache Ausgabe …

Weiterlesen →