Der Mikrocontroller ESP32 von Espressif eignet sich insbesondere für Industrie-4.0-Applikationen. Ein Software Development Kit und eine Entwicklungsumgebung gibt es passend dazu, sodass sich Projekte einfach umsetzen lassen.
Mit dem ESP32 erhält der Entwickler eine faire Chance im Wettbewerb gegenüber anderen Mikrocontrollen. Denn Maxim, Texas Instruments, Microchip, Nordic Semiconductor, NXP, Silicon Labs, ST und Atmel bieten alle wettbewerbsfähige Bausteine an. Einige sind bekannter als andere, manche bieten eine kostenlose IDE (Integrated Development Environment), andere wiederum sehr teure SDKs (Software Development Kit) und die Mehrzahl der Wettbewerber verfügt über eine Art RTOS, also ein Echtzeit-Betriebssystem.
Die Entscheidung des Herstellers Espressif, sein SDK und die gesamte Entwicklungsumgebung öffentlich verfügbar zu machen, war sicher richtig in diesem Kontext und erlaubt anderen Marktteilnehmern wie etwa PlatformIO,
ihre Framework-Entwicklungen ebenfalls im Open-Source-Sektor zu platzieren.
Espressif entschied sich für FreeRTOS als Echtzeit-Betriebssystem. Das erlaubte es dem Unternehmen, das gesamte Framework allen öffentlich zugänglich zu machen. Als Folge kann jeder Interessierte lernen, wie man eingebettete Systeme mit Espressif-SoCs entwickelt. Er erhält zudem alle notwendigen Informationen zur Verfügung gestellt, die dem Entwickler nur über den Source-Code vermittelt werden können.
Hier folgen nun mehr Details zum angesprochenen ESP32 und seiner zugehörigen Entwicklungs-/Software-Umgebung:
Espressif unternahm große Anstrengungen, um Anwendungen mit dem SDK ESP-IDF so einfach wie möglich realisieren zu können. Innerhalb des SDKs gibt es APIs zur Steuerung der Hardware, Driver, pthread16-kompatible APIs und C++ stdlib. Sogar glob17, regex, tar und miniz werden unterstützt. All dies macht die Programmierung eines ESP32- Systems relativ einfach, und auch die Portierung existierender Software wird damit erheblich beschleunigt.
Das ESP-IDF enthält auch ein paar hilfreiche Komponenten, die bei der Entwicklung robuster Anwendungen von Nutzen sind, darunter ein SPI-Dateisystem mit Unterstützung sowohl von FAT (File Allocation Table) als auch SPIFFS (Serial Peripheral Interface Flash File System). Mit dem Dateisystem lassen sich Log- und Datenfiles speichern, wobei das SPI-EEPROM einen Wear-Leveling-Layer beinhaltet, der dabei hilft, die Anzahl möglicher Schreib-operationen zu vergrößern.
Parameter lassen sich dabei separat im NVS-Speicher sichern, wodurch sie durch Formatierung des Dateisystems nicht beeinträchtigt werden. Und sollte die Größe des SPI-Flash-Speichers nicht reichen, kann auch die SD-Card-Bibliothek zur Einbindung externen Speichers genutzt werden.