Mijn vraag
Ik ben benieuwd wat er nu precies op een ESP bordje draait aan software/firmware. Ik ben pas sinds heel kort in deze materie gedoken en probeer te begrijpen wat ESPHome en ESP-link bijv. zijn, maar ook wat er nu draait als je zelf code voor ESP compileert.
Achtergrond: ik ben SW engineer, heb 0 electronica kennis, en ben dus vooral benieuwd naar de software/firmware kant. Solderen is out of my league...
Relevante software en hardware die ik gebruik
Ieder willekeurig ESP bordje.
Wat ik al gevonden of geprobeerd heb:
- Ik begrijp dat een ESPHome firmware specifiek gebouwd wordt op basis van een YAML file die je specificeert, en het daarnaast wat management code bevat om beheer op afstand te kunnen doen. Het lijkt me dat vanuit deze YAML file een stuk C code gegeneeerd wordt, en dat samen met de generieke beheer-code gecompileerd wordt tot de firmware, correct?
- Ik begrijp (denk ik?) ook dat ESP-link een specifieke firmware is die een Serial/UART verbinding van het ESP bord omzet in iets wat over TCP uitgelezen kan worden, een Serial-Over-TCP-Bridge. Maar is dat ook alles wat ermee kan? Of kan ik een ESP-link firmware nog "uitbreiden" met additionele eigenfunctionaliteit, waardoor het een soort basis is, net als ESPHome?
- Om nog lower-level te gaan; ik neem aan dat het compileren van ESP code een bepaalde vorm van (micro)OS/kernel mee zal moeten compileren, alleen al om te zorgen dat er bijv. een interrupt loop is voor bepaalde events van het systeempje. Wat voor iets is dit (heeft dit een naam?), is hier nog keuze in (bijv. tijdens het compileren), en hoeveel functionaliteit/hoe groot moet ik me zo'n kernel/OS voorstellen, bijv. vergeleken bij een Linux kernel, wat natuurlijk heel general-purpose en dus groot is.
- Er zijn vast nog andere ESP firmware projecten die ik nog niet gevonden heb of me nog niet over ingelezen heb (ESPEasy misschien?). Is er nog iets dat jullie aanraden om te bekijken?
Ik ben benieuwd wat er nu precies op een ESP bordje draait aan software/firmware. Ik ben pas sinds heel kort in deze materie gedoken en probeer te begrijpen wat ESPHome en ESP-link bijv. zijn, maar ook wat er nu draait als je zelf code voor ESP compileert.
Achtergrond: ik ben SW engineer, heb 0 electronica kennis, en ben dus vooral benieuwd naar de software/firmware kant. Solderen is out of my league...
Relevante software en hardware die ik gebruik
Ieder willekeurig ESP bordje.
Wat ik al gevonden of geprobeerd heb:
- Ik begrijp dat een ESPHome firmware specifiek gebouwd wordt op basis van een YAML file die je specificeert, en het daarnaast wat management code bevat om beheer op afstand te kunnen doen. Het lijkt me dat vanuit deze YAML file een stuk C code gegeneeerd wordt, en dat samen met de generieke beheer-code gecompileerd wordt tot de firmware, correct?
- Ik begrijp (denk ik?) ook dat ESP-link een specifieke firmware is die een Serial/UART verbinding van het ESP bord omzet in iets wat over TCP uitgelezen kan worden, een Serial-Over-TCP-Bridge. Maar is dat ook alles wat ermee kan? Of kan ik een ESP-link firmware nog "uitbreiden" met additionele eigenfunctionaliteit, waardoor het een soort basis is, net als ESPHome?
- Om nog lower-level te gaan; ik neem aan dat het compileren van ESP code een bepaalde vorm van (micro)OS/kernel mee zal moeten compileren, alleen al om te zorgen dat er bijv. een interrupt loop is voor bepaalde events van het systeempje. Wat voor iets is dit (heeft dit een naam?), is hier nog keuze in (bijv. tijdens het compileren), en hoeveel functionaliteit/hoe groot moet ik me zo'n kernel/OS voorstellen, bijv. vergeleken bij een Linux kernel, wat natuurlijk heel general-purpose en dus groot is.
- Er zijn vast nog andere ESP firmware projecten die ik nog niet gevonden heb of me nog niet over ingelezen heb (ESPEasy misschien?). Is er nog iets dat jullie aanraden om te bekijken?