News ESP-News: “Hypervisor” ESP Privilege Separation, ESP-RTC und neue Cloud-Konnektoren


von Tam H. (Firma: Tamoggemon Holding k.s.) (tamhanna)


Angehängte Dateien:

Lesenswert?

Im Hause Espressif gibt es Neuerungen: mit ESP Privilege Separation steht ein an Multiuserbetriebssysteme erinnerndes Feature zur Verfügung, das am ESP32-C3 die Unterteilung von Applikationen in Berechtigungsklassen unterstützt. Außerdem gibt es einen Golioth-Konnektor und eine neue Ankündigung, die die Vorteile von RainMaker betont.

Worum geht es hier?

Espressif bietet mit der ESP32-Serie eine Gruppe von Mikrocontrollern an, die ein Funkmodul und eine frei programmierbare MCU kombinieren. Ob der immensen Verbreitung der Chips tauchen im Ökosystem immer wieder neue Funktionen auf, die Entwicklern die Arbeit erleichtern.

ESP Privilege Separation trennt Programme bzw Programmteile...

Echtzeitbetriebssysteme mögen Threads “fair” unterteilen – gegen ein Programm, das amoklaufend die halbe Hardware rekonfiguriert, sind sie im Allgemeinen machtlos. Mit ESP Privilege Separation rüstet Espressif an dieser Stelle nach. Das ausschließlich am ESP32-C3 verfügbare Produkt unterteilt die Ausführungsumgebung im Prinzip wie in Abbildung eins gezeigt in zwei Teile – ein Modul hat “vollen” Systemzugriff, während das andere mit reduzierten Rechten auskommen muss.

(Bildquelle: Espressif)

Kern des Systems ist dabei eine Erweiterung an diversen Peripheriegeräten, die den Zugriff auf “haarige” Teile der MCU nur im privilegierten Modus erlaubt.

(Bildquelle: Espressif)

Im unter https://blog.espressif.com/introducing-esp-privilege-separation-aa57a02c36e4 bereitstehenden Detail-Ankündigungspost verrät das Unternehmen mehr über den Gestationsprozess – eine Portierung auf andere ESP32-Varianten scheint ausgeschlossen:

1
We started off with a PoC on ESP32 and realized that there were limitations in it, and we would require some robust hardware support that can enforce permissions at the hardware level to achieve isolation between the user and kernel application. This led us to design our own custom peripherals . . .

… und steht schon zum Betatest bereit

Obwohl Espressif die neue Funktion an mehrerlei Stelle explizit als Betaversion bezeichnet, bedeutet dies nicht, dass nicht schon jetzt umfangreiche Dokumentation samt Codebeispielen zur Verfügung steht. Erster Kontaktpunkt sollte der unter https://docs.espressif.com//projects/esp-privilege-separation/en/latest/esp32c3/index.html bereitstehende Guide sein, der auch technische Details bereitstellt. Besitzer eines kompatiblen ESP32-Boards finden unter https://github.com/espressif/esp-privilege-separation/tree/master/examples Codebeispiele; der übliche Rest des Moduls liegt unter https://github.com/espressif/esp-privilege-separation. Das ebenda befindliche Blink-Beispiel illustriert die Trennung zwischen den beiden Modulen anhand der in der Abbildung gezeigten Struktur.

(Bildquelle: Screenshot durch Autor)

Während der Code des User-Teils der Applikation im Allgemeinen nach Schema F aufgebaut ist, sehen wir im Protected-Teil nach folgendem Schema die Initialisierung des Peripheriegeräts:

1
void app_main()
2
{
3
    esp_err_t ret;
4
5
    ret = esp_priv_access_init(user_app_exception_handler);
6
    if (ret != ESP_OK) {
7
        ESP_LOGE(TAG, "Failed to initialize PA %d\n", ret);
8
    }
9
10
    esp_priv_access_set_periph_perm(PA_GPIO, PA_WORLD_1, PA_PERM_ALL);
11
12
    esp_ws2812_device_register("/dev/ws2812");
13
14
    ret = esp_priv_access_user_boot();
15
    if (ret != ESP_OK) {
16
        ESP_LOGE(TAG, "Failed to boot user app %d\n", ret);
17
    }
18
19
    for (int i = 0; ; i++) {
20
       ets_printf("Hello from protected environment\n");
21
       vTaskDelay(500);
22
    }
23
}

RainMaker vereinheitlicht die Integration anderer Clouddienste

Espressif bietet mit RainMaker seit einiger Zeit eine Art Integrationsserver an, der Nutzern der ESP32-Chipfamilie das komfortable Hinzuziehen verschiedenster Clouddienste erlaubt.

(Bildquelle: https://www.espressif.com/en/news/ESP-RainMaker_video)

Unter https://www.espressif.com/en/news/ESP-RainMaker_video stellt Espressif nun ein Video bereit, das einen Kurzüberblick der Möglichkeiten des Systems bietet.

ESP-RTC: neue API für Echtzeit-Datenübertragung

Erst am 6. veröffentlichte Espressif die Ankündigung von ESP-RTC: dabei handelt es sich um einen neuen Softwarestack, der auf die Echtzeitübertragung von Multimediadaten spezialisiert ist:

1
The ESP-RTC solution materializes real-time audio-and-video transmission based on Espressif's self-developed SIP (Session Initialization Protocol) stack, which includes a transport layer, a transaction layer and a session layer. The signaling interaction module of ESP-RTC supports UDP, TCP and TLS, while its media transmission module supports RTP (UDP), RTCP, SRTP, TURN and other NAT transmission protocols. It is worth mentioning that the transmission module of the ESP-RTC solution also includes counter-measure algorithms, such as a Jitter Buffer and PLC, which effectively solve packet loss, jitter, congestion, and delays in weak networks, fully ensuring smooth audio-and-video communication in real time.
2
The ESP-RTC solution also supports the RTSP (Real Time Streaming Protocol) stack, whose media transmission module supports both RTP/UDP and RTP over TCP. The ESP-RTC solution can be used as an RTSP server supporting the on-demand use of such players as VLC/FFMPEG/PotPlayer/KmPlayer, or as an RTSP client supporting EasyDarwin, an easy-to-use, open-source, streaming platform framework.

Mit dem bei TaoBao erhältlichen ESP32-S3-Korvo-2 bietet Espressif ausserdem eine Evalutionsplatine an, die die Realisierung von “Multimedia-Gadgets” aller Couleur erleichtern soll.

(Bildquelle: Espressif)

Golioth: direkte Unterstützung für ESP-IDF

Im Bereich Cloud Connectivity gibt es einen weiteren Neuzugang: während ESP32-Systeme von der IoT-Plattform Golioth seit einiger Zeit über das Zephyr-SDK unterstützt wurden, stellt das Unternehmen unter der URL https://github.com/golioth/golioth-esp-idf-sdk nun erstmals ein für ESP-IDF vorgesehenes SDK zur Verfügung.


: Bearbeitet durch NewsPoster
von Vincent H. (vinci)


Lesenswert?

Feature-creep statt den rudimentärstnen Scheiß (ADC) endlich mal zu 
fixen...

von Tam H. (Firma: Tamoggemon Holding k.s.) (tamhanna)


Lesenswert?

Hallo,
entre nous: mich wundert auch, warum sie das ad perpetuum nicht unter 
Kontrolle kriegen.....

lg
th

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.