Apple stellt Swift für ESP32-C6 und andere Mikrocontroller vor

Mit Swift für Mikrocontroller hat Apple seine Programmiersprache bereit für IoT und das Smarthome gemacht.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Apples Swift Ökosystem der Geräte

(Bild: Apple Inc.)

Lesezeit: 3 Min.
Von
  • Carsten Wartmann

Swift ist eine seit 2010 bei Apple entwickelte Programmiersprache, die Konzepte von anderen Sprachen (wie Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, D …) aufgreift. Seitdem wird bei Apple Swift vermehrt genutzt. Auf der Entwicklerkonferenz WWDC 2024 wurde nun Swift für embedded Geräte und Mikrocontroller vorgestellt.

Bisher wird Swift bei Apple für Server, Desktops und mobile Geräte verwendet; jetzt soll sie auch auf Mikrocontroller und Smarthome-Geräte Einzug halten. Dabei soll es neben den normalen Applikationen auch für Kernel-Code und Libraries geeignet sein, bisher die Domäne von C und C++. Dabei sollen die Sicherheitsfeatures und die Speicherverwaltung Fehler vermeiden helfen. Wer es genauer wissen möchte, kann sich die Apples Vision für Swift anschauen.

Embedded Swift unterstützt die meisten Sprachkonstrukte von Swift auf größeren Architekturen. Bisher unterstützt Embedded Swift die Mikrocontroller ESP32-C6, Raspberry Pi RP2040, STM32F7 und nRF52840. Beispiele für die Plattformen gibt es schon auf GitHub. Am weitesten ist die Unterstützung für den RISC-V-Mikrocontroller Espressif ESP32-C6. Im Gegensatz zu etwa Python oder Basic auf Mikrocontrollern muss aber Swift compiliert werden, dazu braucht es ein Entwicklungssystem auf C/C++ Basis und das Entwicklungskit des Hardwareherstellers. In dem Video auf der Website von Apple wird das Espressif-SDK mit dem SP32-C6-DevKitC-1-Entwicklungsboard von Espressif benutzt.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

Das zweite Beispiel nutzt dann auch die LED auf dem Board, um diese durch Swift zu steuern, das klassische "Helloworld" auf Mikrocontrollern. Dazu wird ein sogenannter Bridging Header (BridgingHeader.h) verwendet, der die SDK-C-APIs in Swift zur Verfügung stellt. Damit greift man dann praktisch direkt über die Hardware auf die Features des Boards zu und kann die LED blinken lassen. Das ist natürlich bis jetzt nicht wirklich elegant und auch fehlerträchtig, also kann man die Hardware in einem weiteren Layer (oder Library) abstrahieren. Leider hat man bei einer neuen Programmiersprache noch keine fertigen Libraries und muss viel selbst schreiben oder darauf hoffen, dass dies andere Entwickler tun. Das kann man dann auch, wie in dem Video demonstriert, für eine Matter C++ API machen und so ein IoT-Gerät entwickeln (im Video eine „smarte“ IoT-Led-Lampe).

(Bild: Apple Inc.)

Somit bleibt wohl als Zielgruppe für Embedded-Swift nur der eingefleischte Apple-Programmierer, der für das Apple-Universum passende Geräte programmieren will (oder muss). Maker und Gelegenheitsprogrammierer werden bei C/C++, Arduino, MicroPython oder gar Basic bleiben. Die letzteren beiden Sprachen werden sogar interpretiert und wenn Geschwindigkeit nicht die entscheidende Sache ist, lassen sich mit ihnen Programme rasch auf das Board bringen.

Make Special: ESP32-CAM

Die ESP32-CAM ist bei Makern beliebt – kompakt, aber mit leistungsstarkem ESP32-Mikrocontroller, einem videofähigen Kameramodul und einem MicroSD-Karten Slot ausgestattet. Will man aus dem Board das meiste rausholen, lohnt sich ein tieferer Einstieg in die Hardware-Interna und Programmierschnittstellen. Das 80-seitige Make-Special nimmt die Leserinnen und Leser dabei an der Hand und dank des beiliegenden ESP32-CAM-Board samt 2-MP-Kameramodul und Programmier-Adapter kann man sofort mit den ersten Projekten loslegen.

(caw)