Umstieg auf Arduino 3.x

Ardiuino 3 ist offiziell:

Es ist noch nicht ganz klar ob es von PIO offiziell unterstützt wird da es wohl einen Disput zwischen Espressif und PlatformIO gibt/gab. Die ewig lange Diskussion dazu findet Ihr hier. Ich gehe mal davon aus das man sich noch einigt.

Ich möchte Euch zeigen wie Ihr Arduino 3 mit ESPuino zum Laufen bekommt:

Aktueller DEV-Branch, platformio.ini::

[env]
;   platform = espressif32@^6.7.0
;   framework = arduino, espidf
platform = espressif32
framework = arduino
platform_packages = 
    platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.0
    platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/esp32-arduino-libs.git#idf-release/v5.1

lib_deps =
	https://github.com/schreibfaul1/ESP32-audioI2S.git#8e8a637 ;27.05.2024
    https://github.com/FastLED/FastLED.git#4444758
;	https://github.com/tueddy/FastLED.git#3.6.0_IRAM ;save some IRAM to compile with all features (https://github.com/FastLED/FastLED.git@3.6.0)
;	https://github.com/me-no-dev/ESPAsyncWebServer.git#1d46269
;	https://github.com/me-no-dev/AsyncTCP.git#ca8ac5f
    https://github.com/mathieucarbou/ESPAsyncWebServer.git
;	https://github.com/pschatzmann/ESP32-A2DP.git#bb5bc2f

Also neues Framework eintragen und einige Bibliotheken aktualisieren (FastLED, Webserver) und Bluetooth auskommentieren.
In settings.ini Bluetooth und MQTT deaktivieren.
Es gibt dann noch einen Compilerfehler in mqtt.cpp, hier die Methode

bool publishMqtt(const char *topic, uint32_t payload, bool retained)

auskommentieren. Dann sollte es kompilieren und erfolgreich starten:

Was bereits funktioniert:
Buttons, Drehenkoder, Musik abspielen, Neopixel, aktualisierter Webserver

Was noch nicht läuft:
Arduino als Komponente, MQTT, Bluetooth

Gerne mal antesten & Meinungen hier!

2 „Gefällt mir“

Im aktuellen DEV-Branch kann man nun recht einfach zwischen Arduino 2/3 umschalten.
Dazu müssen diese Zeilen in der platform.ini angepasst werden:

;platform = espressif32@^6.9.0 ; Arduino 2.0.17
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.05/platform-espressif32.zip ; Arduino 3.0.5

Zusätzlich müssen noch diese Zeilen aktiviert werden:

board_build.embed_txtfiles =
    managed_components/espressif__esp_insights/server_certs/https_server.crt
    managed_components/espressif__esp_rainmaker/server_certs/rmaker_mqtt_server.crt
    managed_components/espressif__esp_rainmaker/server_certs/rmaker_claim_service_server.crt
    managed_components/espressif__esp_rainmaker/server_certs/rmaker_ota_server.crt

Nach einem Full-Clean + Build sollte im Log/Weboberfläche die Arduino Version 3.0.5 erscheinen.

Wäre schön, wenn ihr Arduino 3 mal testen könntet & eure Erfahrungen hier teilt.
Also Funktionstest, Bugs, Speicherverbrauch usw.

Einen guten Start in die Woche!

3 „Gefällt mir“

mqtt läuft mit einem einfachen fix mit Arduino 3.
Habe einen MR erstellt. Sollte auch Rückwärtskompatibel sein.

Muss mich selbst erst noch bisschen in MQTT einarbeiten, dann schau ich mir das gerne auch noch näher an…

1 „Gefällt mir“

Also MQTT sieht ok aus. Ich habe jetzt nicht jedes Topic getestet, aber das, was ich getestet habe, klappt. Gab auch keine Fehler beim Kompilieren. Muss es nochmal mit Arduino2 testen.

@tueddy Ich komme mir gerade noobmäßig vor, aber mit Arduino 3 kommt keine Audiowiedergabe aus dem Lautsprecher. Der Rest klappt.

EDIT: Ok, muss was Anderes sein. Unter Arduino2 geht’s auch nicht :rofl:.

Na das klingt doch gut! Audioausgabe macht bei mir keine Probleme.
Auch Bluetooth Lautsprecher/Kopfhörer funktioniert. Wüsste jetzt nicht was noch fehlt für einen Umstieg auf Arduino 3.

Ja irgendwie war es ein Problem mit der mini4L.
Beim Upgrade auf A3 musste ich .pio/build/lolin_d32_pro_sdmmc_pe löschen, da sich cmake beschwert hat, dass da schon was existiert. Ein Full clean hat das nicht behoben.