ESP-Hosted is een open-source connectiviteitsoplossing die Espressif SoCs inzet als toegewijde draadloze coprocessoren. Hiermee kunnen Linux-systemen en microcontrollers (MCU's) Wi-Fi, Bluetooth/BLE en Thread-functionaliteit toevoegen via standaard interfaces zoals SDIO, SPI of UART.
Het project biedt twee verschillende architectuurpaden:
esp-hosted-linux: Een FullMAC-oplossing die volledig integreert met de standaard Linux networking stack (bijv. wlan0, NetworkManager en wpa_supplicant), waardoor bestaande Linux-tools direct bruikbaar zijn.
esp-hosted-mcu: Een RPC-gebaseerde oplossing die gebruikmaakt van ESP-IDF API's. Deze is flexibeler voor custom implementaties en kan op zowel Linux- als MCU-hosts draaien met dezelfde firmware voor de coprocessor.
De keuze tussen beide versies hangt af van of de gebruiker een native Linux netwerkinterface wenst of juist specifieke controle via de ESP-IDF API's nodig heeft. Beide oplossingen ondersteunen energiezuinige modi en het delen van één IP-adres tussen de host en de ESP.
ESP-Hosted
Belangrijkste kenmerken
Draadloze connectiviteit: Wi-Fi, Bluetooth/BLE en 802.15.4 via één bekabelde verbinding.
Open source: Volledig open-source code voor zowel de coprocessor als de host.
Brede ondersteuning: Geschikt voor verschillende hosts, waaronder MCU's en Linux.
Diverse bus-opties: Ondersteuning voor SDIO, SPI, SPI-HD, UART en combinaties hiervan.
Wi-Fi beveiliging: Ondersteuning voor standaardbeveiliging zoals Open, WPA, WPA2 en WPA3.
Bluetooth: Ondersteuning voor Classic Bluetooth, BLE en BTDM (versies 4.2 t/m 6.0).
Gedeeld netwerk: De ESP en de host kunnen hetzelfde IP-adres delen.
Energiezuinig: Bevat modi voor laag energieverbruik, ideaal voor batterijgevoede toepassingen.
Architectuur
ESP-Hosted oplossingen
esp-hosted-linux
Een FullMAC-oplossing voor Linux-hosts:
Implementatie in één stap.
Naadloze connectiviteit direct uit de doos.
Native Wi-Fi-interface (wlan0).
Integratie met Linux cfg80211.
Ondersteuning voor wpa_supplicant en NetworkManager.
Bluetooth via HCI.
De 802.11 MAC draait op de ESP-coprocessor.
esp-hosted-mcu
Een RPC-gebaseerde oplossing voor MCU- en Linux-hosts:
ESP-IDF methode: Maakt gebruik van volledig compatibele ESP-IDF API's en event handlers die op de host bruikbaar zijn.
Controle: De applicatie beheert alle functies. API's worden vertaald naar draagbare, op protobuf gebaseerde RPC-verzoeken naar de coprocessor.
Events: De host kan transparant esp_event gebruiken voor gebeurtenissen van de coprocessor.
Custom frames: Gebruikers kunnen eigen frames verzenden tussen de host en de coprocessor.
Interfaces: 802.3 Ethernet-interface en Bluetooth via HCI.
Protocolondersteuning: 802.15.4 ondersteunt Thread en Zigbee.
Netwerkbeheer: Host en ESP kunnen één IP-adres delen, waarbij de ESP de verbinding in stand houdt terwijl de host in slaapmodus is.
Kiezen van de juiste oplossing
De keuze hangt primair af van de manier waarop de host toegang wil hebben tot Wi-Fi.
Selectie op basis van interface
Host
Wi-Fi interface van de host
Oplossing
Linux
Linux networking stack: wlan0, cfg80211, wpa_supplicant, NetworkManager
esp-hosted-linux
Linux of MCU
ESP-IDF espwifi*() API's
esp-hosted-mcu
Selectie op basis van gebruiksscenario
Gebruiksscenario
Aanbevolen oplossing
Standaard Linux Wi-Fi configuratie (NetworkManager, wpa_supplicant)
esp-hosted-linux
Een native draadloze interface, zodat bestaande tools en scripts blijven werken
esp-hosted-linux
Linux met custom of propriëtaire controle over Wi-Fi
esp-hosted-mcu
Embedded Linux boards (bijv. Raspberry Pi, BeagleBone)
Beide mogelijk
ESP-IDF applicatiecode die ongewijzigd op de host moet draaien
esp-hosted-mcu
Wi-Fi in AP + station-modus op Linux
esp-hosted-mcu
Wi-Fi en Bluetooth/BLE gelijktijdig
Beide mogelijk
Classic Bluetooth
Beide mogelijk
Connectiviteit behouden terwijl de host slaapt
Beide mogelijk
Vergelijking van oplossingen
ESP-Hosted-Linux (FullMAC)
Naadloze connectiviteit.
Netwerking direct uit de doos.
Bestaande Linux-tooling en scripts blijven functioneel.
ESP-Hosted-MCU (Custom oplossing)
Zowel Linux- als MCU-hosts maken gebruik van standaard ESP-IDF API's.
Eén enkele firmware voor de coprocessor voor zowel MCU- als Linux-hosts.
Dezelfde host-applicatie werkt op zowel een MPU als een MCU.
Aan de slag
De actieve ontwikkeling vindt plaats in de volgende repositories:
Repository
Doel
Ondersteuning
esp-hosted-linux
Standaard Linux-oplossing
Linux Issues
esp-hosted-mcu
Custom oplossing voor MCU- en Linux-hosts
MCU Issues
Bijdragen en issues
Bijdragen zijn welkom, waaronder bugrapporten, fixes, nieuwe functies en documentatie. ESP-Hosted wordt open ontwikkeld en elke wijziging gaat door een reviewproces. Voor substantiële wijzigingen wordt verzocht eerst een issue te openen, zodat de aanpak kan worden afgestemd voordat de code wordt geschreven.
Verouderde implementaties
Verouderde implementatie
Gemigreerd naar
Status
Code
ESP-Hosted-NG
esp-hosted-linux
Legacy
legacy/fg-ng
ESP-Hosted-FG
esp-hosted-mcu
Legacy
legacy/fg-ng
ESP-Hosted is een open-source connectiviteitsoplossing die gebruikmaakt van Espressif SoCs als toegewijde draadloze coprocessoren voor Linux-systemen en microcontrollers (MCU's). Het ontlast het beheer van protocollen door dit naar de coprocessor te verplaatsen, waardoor de host volledige Wi-Fi, Bluetooth/BLE- en Thread-mogelijkheden krijgt via standaard randapparatuur-bussen (SDIO, SPI of UART).
ESP-Hosted
Belangrijkste kenmerken
Draadloze connectiviteit: Wi-Fi, Bluetooth/BLE en 802.15.4 via één bekabelde verbinding.
Open source: Volledig open-source code voor zowel de coprocessor als de host.
Brede ondersteuning: Geschikt voor verschillende hosts, waaronder MCU's en Linux.
Diverse bus-opties: Ondersteuning voor SDIO, SPI, SPI-HD, UART en combinaties hiervan.
Wi-Fi beveiliging: Ondersteuning voor standaardbeveiliging zoals Open, WPA, WPA2 en WPA3.
Bluetooth: Ondersteuning voor Classic Bluetooth, BLE en BTDM (versies 4.2 t/m 6.0).
Gedeeld netwerk: De ESP en de host kunnen hetzelfde IP-adres delen.
Energiezuinig: Bevat modi voor laag energieverbruik, ideaal voor batterijgevoede toepassingen.
Architectuur
ESP-Hosted oplossingen
esp-hosted-linux
Een FullMAC-oplossing voor Linux-hosts:
Implementatie in één stap.
Naadloze connectiviteit direct uit de doos.
Native Wi-Fi-interface (wlan0).
Integratie met Linux cfg80211.
Ondersteuning voor wpa_supplicant en NetworkManager.
Bluetooth via HCI.
De 802.11 MAC draait op de ESP-coprocessor.
esp-hosted-mcu
Een RPC-gebaseerde oplossing voor MCU- en Linux-hosts:
ESP-IDF methode: Maakt gebruik van volledig compatibele ESP-IDF API's en event handlers die op de host bruikbaar zijn.
Controle: De applicatie beheert alle functies. API's worden vertaald naar draagbare, op protobuf gebaseerde RPC-verzoeken naar de coprocessor.
Events: De host kan transparant esp_event gebruiken voor gebeurtenissen van de coprocessor.
Custom frames: Gebruikers kunnen eigen frames verzenden tussen de host en de coprocessor.
Interfaces: 802.3 Ethernet-interface en Bluetooth via HCI.
Protocolondersteuning: 802.15.4 ondersteunt Thread en Zigbee.
Netwerkbeheer: Host en ESP kunnen één IP-adres delen, waarbij de ESP de verbinding in stand houdt terwijl de host in slaapmodus is.
Kiezen van de juiste oplossing
De keuze hangt primair af van de manier waarop de host toegang wil hebben tot Wi-Fi.
Selectie op basis van interface
Host
Wi-Fi interface van de host
Oplossing
Linux
Linux networking stack: wlan0, cfg80211, wpa_supplicant, NetworkManager
esp-hosted-linux
Linux of MCU
ESP-IDF espwifi*() API's
esp-hosted-mcu
Selectie op basis van gebruiksscenario
Gebruiksscenario
Aanbevolen oplossing
Standaard Linux Wi-Fi configuratie (NetworkManager, wpa_supplicant)
esp-hosted-linux
Een native draadloze interface, zodat bestaande tools en scripts blijven werken
esp-hosted-linux
Linux met custom of propriëtaire controle over Wi-Fi
esp-hosted-mcu
Embedded Linux boards (bijv. Raspberry Pi, BeagleBone)
Beide mogelijk
ESP-IDF applicatiecode die ongewijzigd op de host moet draaien
esp-hosted-mcu
Wi-Fi in AP + station-modus op Linux
esp-hosted-mcu
Wi-Fi en Bluetooth/BLE gelijktijdig
Beide mogelijk
Classic Bluetooth
Beide mogelijk
Connectiviteit behouden terwijl de host slaapt
Beide mogelijk
Vergelijking van oplossingen
ESP-Hosted-Linux (FullMAC)
Naadloze connectiviteit.
Netwerking direct uit de doos.
Bestaande Linux-tooling en scripts blijven functioneel.
ESP-Hosted-MCU (Custom oplossing)
Zowel Linux- als MCU-hosts maken gebruik van standaard ESP-IDF API's.
Eén enkele firmware voor de coprocessor voor zowel MCU- als Linux-hosts.
Dezelfde host-applicatie werkt op zowel een MPU als een MCU.
Aan de slag
De actieve ontwikkeling vindt plaats in de volgende repositories:
Repository
Doel
Ondersteuning
esp-hosted-linux
Standaard Linux-oplossing
Linux Issues
esp-hosted-mcu
Custom oplossing voor MCU- en Linux-hosts
MCU Issues
Bijdragen en issues
Bijdragen zijn welkom, waaronder bugrapporten, fixes, nieuwe functies en documentatie. ESP-Hosted wordt open ontwikkeld en elke wijziging gaat door een reviewproces. Voor substantiële wijzigingen wordt verzocht eerst een issue te openen, zodat de aanpak kan worden afgestemd voordat de code wordt geschreven.
Verouderde implementaties
Verouderde implementatie
Gemigreerd naar
Status
Code
ESP-Hosted-NG
esp-hosted-linux
Legacy
legacy/fg-ng
ESP-Hosted-FG
esp-hosted-mcu
Legacy
legacy/fg-ng
Zichtbare categorieën
Kies welke categorieën je wilt zien.
Over deze site
Waarom Tech-update?
Tech-update is ontstaan omdat ik merkte dat ik dagelijks veel verschillende websites moest bezoeken om interessant technieuws te vinden. Dat kon efficiënter.
Hoe werkt het?
Meerdere keren per etmaal gaat mijn zelfgebouwde AI-agent op zoek naar interessante artikelen op blogs en nieuwssites.
Vindt hij iets relevants, dan wordt het artikel naar het Nederlands vertaald en op Tech-Update geplaatst.
Van ieder artikel maakt de AI ook een korte samenvatting. Zo kun je snel bepalen of het de moeite waard is om het volledige artikel te lezen.
Bij ieder artikel staat altijd een link naar de oorspronkelijke bron (vaak een Engelstalige website).
Artikelen kun je bewaren als favoriet, vastzetten in de zijbalk of terugvinden via de zoekfunctie.
In de instellingen (tandwielikoon rechtsboven) geef je aan in welk soort nieuws je geïnteresseert bent.