2024
HOME

Freier Download und vorläufige Referenz
Mit Zehn Zeilen Zum Ziel
für ESP32, ESP32-S2, ESP32-C3 und ESP32-S3

Bit-Schreiber Red NeedleSeit Mitte 2024 existiert die Skriptsprache für praktische Programmierer auch für die verschiedenen ESP32-Chips.

Diese Sprache ist kompatibel zu den Varianten auf einem RP2040 und einem ESP8266.

Derjenige, der keine Lust auf C++, Python, MicroPython oder auch YAML verspürt und trotzdem in kürzester Zeit mit wenigen Zeilen Ergebnisse wünscht, der sollte einen Blick auf diese Skriptsprache werfen. Aufbauend auf überwiegend bekannten klassischen Strukturen ist es das Ziel dieser Sprache mit wenigen Programm-Zeilen eine gestellte Aufgabe schnell zu lösen. Durch die verschiedenen eingebauten Bibliotheken reicht schon eine Zeile, um z. B. auf dem Display eines Cheap Yellow Display mit ESP32 zu schreiben: tft.print("Hallo Welt."). Im Prinzip handelt es sich um einen fertig kompilierten Sketch, der mit vielen eingebundenen Bibliotheken die jeweiligen Möglichkeiten sofort zur Verfügung stellt. Die Programmierung erfolgt im Browser eigener Wahl in einem Fenster. Die erstellten Programmzeilen werden dann als Text im ESP abgespeichert und von der Sprache dort interpretiert und ausgeführt - ganz ohne Compiler. Wegen der drahtlosen Kommunikation ergeben sich vielfältige Möglichkeiten sowohl zur Programmierung als auch für die ausgeführten Programme. Coding on my sofa ... - executing in ...


Ein kurzes Beispiel schaltet eine LED an Pin 15 zehnmal an und aus:

LED = 15
For i = 1 to 10
  PinOut LED, 1
  Pause 500
  PinOut LED, 0
  Pause 500
Next i

Eine Zeitschaltuhr mit komfortabler Eingabe kann in 10 Zeilen programmiert werden.

textbox uhrzeit
radio ein
timepicker an
timepicker aus
timer 1000, steuern

steuern:
uhrzeit = time("TIME")
if (an <= uhrzeit) and (aus >= uhrzeit) then ein = 1 else ein = 0
pinout 4, ein
wait
Bit-Schreiber Red Needle

Links die Ausgabe in einer Windows-Umgebung. Zunächst wird die aktuelle Uhrzeit dynamisch in einer Textbox angezeigt. Ein Radio-Element stellt den Schaltzustand als angedeutete LED dar.

Die beiden Timepicker sind HTML-Elemente, die der Benutzer von seinem Browser her kennt. Links einmal ein Timepicker in Chrome/Edge und einmal auf einem Android Telefon.

An Schalt-Pin 4 könnte ein Relais angeschlossen sein und so die Funktion einer Schaltsteckdose übernehmen, wie man sie unter anderen Betriebssystemen kennt. Sensoren und andere Hardware lässt sich auf ähnlich einfache Weise den eigenen Wünschen entsprechend diesem kleinen Projekt mit wenigen Zeilen hinzufügen.


Online-Dateien


Der Download-Bereich zum ESP32 hält die notwendigen Daten und Informationen bereit. Dies sind zur Zeit in der Testphase:


												

Hinweise
Diese Skriptsprache basiert auf dem von Michael Moulinari (mmiscool) auf esp8266basic.com veröffentlichten und beschriebenen Original und ist dazu in hohem Maße kompatibel. Erstellt und erweitert von H. Berndt ab 2024 mittels Arduino IDE 2.1.0 und ESP-Core 2.0.11 und den in der Referenz angegebenen eingebundenen Bibliotheken.

DS18B20, DHT, WS2812, IR, Servo, Stepper, OLED-SD1306, LCD1602, BME280, ADS1115, MCP4725, MAX7219, SD, MCP410xx, AD9833, SX12xx, TFT-ILI9341, USB-HID, BLE, GPIO, ADC, DAC, PWM UART, I2C, SPI, UDP, HTTP, WIFI, Telnet, Thingspeak, Openweather, MQTT, Messenger

Die in 2015 publizierte Sprache für den ESP8266 wurde 2017 im rechts dargestellten Buch erläutert und angewendet. In 2023 erfolgte die Portierung mit eigener Feder dieser Sprache auf den Raspberry Pi Pico W mit dem RP2040 Mikrocontroller, nachdem mit der Skriptsprache MicroPython zuvor die Vorzüge dieses Bausteins beschrieben wurden. Nachdem ein altes heltec wifi-kit-32 nach jahrelangem Brownout-Koma wieder erwacht ist, begann der Versuch der Portierung und Erweiterung für die ESP32-Familie. Alle drei Varianten benutzen den selben Kern.


												

												


Testbilduhr auf TFT-Display
WiFi-Schalter
Mehr Software

.
Startseite Bücher Software Digital RTV Musik Kontakt

Für Inhalt und weitere Verzweigung externer Links sind die Betreiber der dortigen Seiten verantwortlich - H.-J. Berndt