Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie

Home Assistant bouwt tool om ESPHome vanuit de browser te flashen op controllers

De makers van Home Assistant komen met een opensourcetool waarmee gebruikers ESP-boards kunnen flashen vanuit de browser, om gemakkelijker ESPHome op zulke boards te installeren. Ook komt er een standaard voor wifiprovisioning om credentials via bluetooth te delen.

De nieuwe standaard heet Improv-Wifi. Het is een standaard die is ontwikkeld door de makers achter ESPHome en Home Assistant. Improv-Wifi is een sdk om wifi aan de gang te krijgen op apparaten zonder daarbij te hoeven wisselen tussen AP's. "We zagen dat elke fabrikant z'n eigen ding implementeerde en daardoor was er niks open source voor handen om te gebruiken", zegt Home Assistant-oprichter Paulus Schoutsen. De tool is 'gebouwd met opensourcefirmware in het achterhoofd'.

De standaard wordt geïmplementeerd in Home Assistant en in ESPHome, dat sinds maart in handen is van Nabu Casa, het bedrijf achter Home Assistant. Via Improv-Wifi worden wificredentials voor een apparaat dat ESPHome draait in ESPHome zelf gecompileerd. Die kunnen dan worden gedeeld via Bluetooth Low Energy. Dat werkt alleen op ESP32-controllers, aangezien ESP8266-controllers geen ble ondersteunen. De standaard wordt open source beschikbaar. Er komt ook een knop die websitebouwers kunnen gebruiken om direct een apparaat vanaf een browser toe te voegen. De tool werkt voorlopig alleen in Chromium-browsers en in Home Assistant-applicaties. Op die laatste zijn ze nog niet meteen beschikbaar, maar dat volgt later.

Op die manier hoeven gebruikers geen eigen toegangspunt op te zetten om twee apparaten met elkaar te verbinden. "Wifi-AP's zijn niet handig, want het toegangspunt moet worden stopgezet om wificredentials te testen", zegt Schoutsen. "Dan kun je als je connectie mislukt bijvoorbeeld geen feedback van je apparaat krijgen."

Gerelateerd aan het project is een methode om ESP-apparaten direct vanuit de browser te kunnen flashen. Die heet ESP Web Tools. "We merkten dat de eerste firmware het lastigst is om te installeren bij ESPHome", zegt Schoutsen. "Op deze manier kunnen gebruikers makkelijk beginnen met firmware zonder dat ze meteen de command line moeten gebruiken." Dat kan straks dus simpeler met de nieuwe tool, die ESPHome op ESP-boards kan installeren. Ook dat werkt voorlopig alleen nog in Chromium-browsers zoals Chrome of Edge.

Het doel van de nieuwe tools is om het makkelijker te maken voor smarthomegebruikers om eigen firmware te gebruiken op apparaten in hun smarthomenetwerk. Om dat einddoel te bereiken wordt ook de terminologie in Home Assistant anders. Zo worden termen als 'firmware uploaden' vervangen door het toegankelijkere 'installeren'.

Wat vind je van dit artikel?

Geef je mening in het Geachte Redactie-forum.

Door Tijs Hofmans

Redacteur privacy & security

16-06-2021 • 21:00

31 Linkedin

Reacties (31)

Wijzig sortering
Uit de reacties blijkt dat het niet voor iedereen duidelijk is wat er nieuw is voor ESPHome. Ik zal dat kort proberen te verduidelijken.

Vandaag werd ESP Web Tools en Improv Wi-Fi aangekondigd. Beide worden gebruikt in ESPHome maar zijn ook bedoeld voor andere (open-source) projecten.

ESP Web Tools
ESP Web Tools maakt het mogelijk om een ESP32/ESP8266 te flashen met een browser. Dit maakt het installeren van vaak gebruiksonvriendelijk flashersoftware (en zijn dependencies) overbodig. De software die geflasht wordt moet niet ESPHome zijn. Andere projecten kunnen ESP Web Tools ook aan hun website toevoegen met hun eigen firmware (voorbeeld: WLED).

Een tweede voordeel: ESPHome Flasher meegeleverd met ESPHome Dashboard draait vaak op een server/Raspberry PI. De microcontroller zal dan daarmee verbonden moeten zijn tijdens het flashen. De USB-poort op je server is niet altijd eenvoudig zowel fysiek als virtueel (in Docker) bereikbaar. Met ESP Web Tools kan je de USB-poort op je computer gebruiken i.p.v. die op je server.

ESP Web Tools website
WLED installeren met ESP Web Tools + videodemo (YouTube)
Toevoegen aan je projectwebsite? Info op GitHub

Improv Wi-Fi
Improv is een open standaard om je wifi credentials te versturen over Bluetooth (Low Energy) die door projecten/bedrijven kan worden gebruikt in hun producten. ESPHome is het eerste project dat deze standaard ondersteunt.
Dit is een alternatief voor de captive portal met als voordeel dat je verbonden blijft met de ESP tijdens het verbinden met je wifinetwerk. Een nadeel is dat je een Chrome/Edge browser of andere app nodig hebt om met bluetooth te kunnen communiceren. De Home Assistant app voor Android en iOS krijgen hier binnenkort ondersteuning voor.
Improv is niet gemaakt voor de gewone ESPHome gebruiker maar voor fabrikanten van IoT apparaten en voor de Tweaker die ESPHome apparaten maakt voor anderen.

Improv website
Improv demo (YouTube)

Vereenvoudiging
Improv en ESP Web Flasher zijn bedoeld om het voor de beginnende Tweaker makkelijker te maken om met ESP-apparaten te starten. Daarom wordt vanaf nu ook de ESPHome documentatie voor die doelgroep verbeterd door vaktermen zoals compilatie en flashen te vervangen door installeren en de startersgids uit te breiden.

[Reactie gewijzigd door MilanMeu op 17 juni 2021 01:46]

Als aanvulling daarop, ik kan bevestigen dat het echt als open standaard bedoeld is.
Zo werd ik ongeveer 3 weken geleden benaderd door Paulus met de vraag of het ook interessant is voor ESPEasy. (tot zover dus de "keiharde" concurrentiestrijd tussen de firmwares ;) )
Helaas heb ik het vanwege drukte niet voor vandaag af gekregen, maar Improv gaat ook aan ESPEasy toegevoegd worden en het zou mij verbazen als "de anderen" (bijv. Tasmota) dit niet ook toe gaan voegen aan hun ESP32 firmware.

De flasher is ook een geweldige tool om het voor de beginner makkelijker te maken.
In de documentatie staat dat Chrome op Android nog niet getest is, maar mocht dat nu al werken (zelf ook nog niet getest), dan zou het heel handig zijn om "in het veld" een ESP te flashen vanaf je mobiel bijvoorbeeld.
Enige wat je nodig hebt is een USB-OTG kabel voor jouw toestel.
Daarom wordt vanaf nu ook de ESPHome documentatie voor die doelgroep verbeterd door vaktermen zoals compilatie en flashen te vervangen door installeren
Is het niet beter om het beestje gewoon bij zijn naam te blijven noemen, maar dan wel goed uit te leggen wat het betekent? Ik voorzie een hoop verwarring als iemand zegt dat de installatie niet lukt. Waar gaat het dan fout?
Men wil de instap in deze wereld vereenvoudigen. Termen als compileren en flashen zijn niet bekend voor de 'gewone' mens en men wil deze wereld wat simpeler maken voor de beginners.

Nobel streven vind ik persoonlijk. Maar dat is mijn mening omtrent het gehele Home Assistant project.

Je moet het ook vooral zien als een mooie stap voor kant en klare projecten. Mensen kunnen nu kant en klare 'klitjes' kopen, flashen installeren en gaan. Ook biedt men hiermee een eenvoudige manier om je software te updaten (via hetzelfde process). Paulus sprak tijdens de live stream ook over dat hij graag een Home Assistant optie zou willen waarmee configuratie en firmware software bijgewerkt kan worden (zoals Shelly's).

Ik mis hier nog even de live stream van gisteren waar ze alles presenteren:
Power up your ESP-based projects
Ik ben helemaal voor het eenvoudiger maken! Maar ik betwijfel of het helpt om dingen ander te gaan noemen. Alsof je "gas geven" in een auto voortaan "trappen" gaat noemen, om de auto "toegankelijker" te maken voor fietsers.
Je kunt alleen niet zomaar ff instappen en verwachten dat je het binnen een paar uur begrijpt, al helemaal niet als je nooit iets met programmeren hebt gedaan. Termen als compilation en flashing zijn vrij standaard, waarom zou je je als beginneling niet een klein beetje inlezen? Dat is toch omgekeerd?

Overigens zijn de vereenvoudigde termen die jij als voorbeeld noemt alleen maar dubbelzinnig, bijvoorbeeld firmware en software zijn verschillende dingen maar dat kan nu door elkaar gebruikt gaan worden.

[Reactie gewijzigd door McBacon op 18 juni 2021 15:29]

Ik snap deze stap niet zo goed. Je device moet nog steeds via USB gekoppeld zijn en je moet nog steeds al een firmware gecompileerd hebben. Om die eerste flash vervolgens eenvoudig te maken was al iets gemaakt door ESPHome, ESPHome Flasher. Beetje potato/potáto idee in mijn ogen.

Dat maak het instellen van Wifi ook meteen nutteloos, want die credentials worden mee geflashed.. Maar misschien ben ik een te simpele ziel en mis ik de usecase :)
Het is een vrij te gebruiken library om heel simpel een bin file te kunnen flashen.
Gisteren deze flash pagina voor ESPEasy gemaakt en de eerste reacties van gebruikers zijn positief.

Ik vind het dus zeker wel een handige flash tool.
Als je met linux overweg kan dan is ESPHome Flasher een prima oplossing. Maar niet iedereen kan, heeft en of wil dat om iets te flashen. Nu met ESP web tools is het kwestie van website openen en device flashen.
Ik werk met Windows en dan heeft ESPHome Flasher gewoon een GUI.. Simpeler kan echt niet. Dropdown naar de juiste comport (er is er doorgaans maar 1), browse naar je firmware en druk op 'Flash'.
Alles wordt voor je gekozen. ESP-board, memory size, flash methode.
Het lastigste is het vinden van de juiste driver.
Dat verandert neem ik aan niet als je via de browser flasht.
Volgens mij werken boards die FTDI gebruiken al automatisch, en de ch340 driver zit bij de installatie van in ieder geval de Arduino IDE en misschien ook wel bij ESPHome Flasher in.
Sowieso zijn ze makkelijk te vinden, net als de cp2101 variant.
Dit staat echter los van het ESPHome framework. Wellicht kan deze SDK makkelijk aansluiten op andere frameworks?

Daarbij kan je nu de ESP direct aan een voeding hangen met eventuele peripherals / led strips / sensoren en direct flashen?

[Reactie gewijzigd door dogtagz op 16 juni 2021 21:23]

Ik heb zelf Home Assistant op mijn server draaien, in een virtuele machine (VM moet als je de supervised versie wil). Als ik ESPHome wilde flashen moest ik echt de bin downloaden naar mijn computer, en vervolgens met command line flashen. Op het Home Assistant apparaat zelf de ESP aansluiten is ook niet triviaal, dus het was allemaal een beetje omslachtig. Voor mij is dit echt veel prettiger.
Je hoeft ESPhome niet op je eigen PC te draaien, de meeste Home Assistant gebruikers draaien dit als een add on op een server, via deze tools kan je dus de ESP op je eigen PC aansluiten en via webserial flashen.

Over improv, dit kan juist handig zijn als je een kant en klare firmware aanbiedt, dan kan je eerst via de esptools de firmware flashen, en daarna provisionen met de wifi credentials, mooi voorbeeld is ook WLED waar je nu dus via de website van WLED je ESP kan flashen, en straks dus ook ook provisionen (dit kan straks als improv ook via serial kan provisionen naast BLE)
Voor compleet lege esp's is dat nog steeds een hele simpele oplossing. Mits ze over een usb poort beschikken.

Ik moet idd ook nog even kijken wat nou precies het voordeel is als ik een losse eps07 chip heb op een custom pcb met enkel een 4 pin connector (bedoelt voor de usb serial connector). Volgens mij tenzij ik het verkeerd begrijp, moet ik dan alsnog "iets" flashen voor ik van deze tool gebruik kan maken.

Altijd goed deze ontwikkelingen! Ik ben sinds ik begonnen ben met HA al fan van ESPHome!! de concurrenten vind ik erg omslachtig werken. Ik gebruik wel altijd de EPSHome omgeving in HA zelf.
Wat een toeval: vandaag via ESPHome Flasher mijn .bin gezet op mijn vandaag ontvangen ESP32 om de Mi Flora sensors in HA te krijgen. Scheelt geneuzel met een BT driver op mijn NAS, waar wellicht niet eens ondersteuning voor is.

Ik had al een ESP8266met Tasmota, hier ook ESPHome op gezet via de instructies van ESPHome. Moet zeggen dat het allemaal al fijn werkt, maar het kan toegankelijker. Hopelijk op deze manier :)
Wat een toeval: vandaag via ESPHome Flasher mijn .bin gezet op mijn vandaag ontvangen ESP32 om de Mi Flora sensors in HA te krijgen. Scheelt geneuzel met een BT driver op mijn NAS, waar wellicht niet eens ondersteuning voor is.

Ik had al een ESP8266met Tasmota, hier ook ESPHome op gezet via de instructies van ESPHome. Moet zeggen dat het allemaal al fijn werkt, maar het kan toegankelijker. Hopelijk op deze manier :)
Mocht je in de toekomst nog meer sensora nodig hebben om je planten monitoren kan ik de Higrow vab Lilgo aanraden. Deze beschikt al over een ESP32 voor mqtt tasmota voor integratie met HA.

https://www.tinytronics.n...sor-met-behuizing-en-accu
ik zie in de config / code https://github.com/Xinyuan-LilyGO/LilyGo-HiGrow geen mqtt of is deze via de webpagina te configureren na het flashen?
Super vet! En als Arduino via de browser te flashed is, waarom een esp dan niet 👌 en updaten gaat al, want dat is gewoon over de WiFi. Mooi dat deze overname zo goed uitpakt! 🥳
Heel erg fijn dat dit ontwikkeld is. Het is nu gewoon nog wat lastig voor veel mensen om dit met de voorhande methodes te flashen.
Dit zat er toch al in? Je kon ze al een hele tijd direct vanuit HA flashen via de ESPHome Addon. OTA en over USB.

Maar ik begrijp dat ze het nog makkelijker willen maken. Cool op zich. Maar ESPHome is niet iets dat echt voor beginners is, aangezien er meestal ook wat soldeerwerk bij komt kijken.

Overigens heeft alleen Chrome (en afgeleiden zoals Edge) de WebUSB API, dus dat is de reden dat zoiets niet naar Firefox komt, helaas. Firefox mist ook WebSerial en nog meer van dat soort coole API's.

[Reactie gewijzigd door GekkePrutser op 16 juni 2021 22:24]

Op een rpi3 liep m'n hele rpi3 dan vol.... Vond het niet echt werkbaar... Vraag me dus af of dit sowieso wel werkbaar wordt.... 😜
(letterlijk 5 min rpi3 onbereikbaar tegen 5 sec compileren op m'n computer)
Ik voorzie mijn esp’s al jaren van een nieuwe firmware via de browser. Dus begrijp niet helemaal wat hier nieuw aan is. Een nieuw esp bordje moet de eerste keer wel via usb maar daarna gewoon via de browser.
Volgens mij gaat het er dus ook om die eerste keer makkelijker te maken. Minder een omweg.
Klinkt leuk maar heb eigenlijk nooit moeite gehad om een esp te flashen met ESPeasy of Tasmota.

Misschien is het handig voor de beginnende tweaker.
Een beetje off-topic, maar wat zijn jullie ervaringen met ESPHome gevoed vanuit een batterij? De ESP chip kent natuurlijk wel de kunstjes van het slapen gaan e.d., maar Wifi is op zich toch niet echt een bijzonder goede kandidaat om te gebruiken in low-power toepassingen. Daarvoor werkt bijvoorbeeld BLE toch wel efficiënter denk ik dan. Of valt het al bij al wel mee als je kan leven met het trage connecteren van Wifi i.c.m. niet heel veel wakker zijn?
Nou dat valt wel mee. Als een hacker een ESP wilt flashen en er vervolgens iets mee wilt doen, moet die sowieso je WiFi credentials al hebben. Dus dan kan die toch al in je netwerk. Anders kan die m flashen, maar gebeurd er verder weinig.

Daarbij gebruik je (als het goed is) die ESP voor iets specifieks. Dan ben je aardig aan het slapen als een hacker je ESP flashed om vervolgens data door te sturen o.i.d. en niet meer het gedrag vertoond waar die initieel voor bedoeld is.

Op dit item kan niet meer gereageerd worden.


Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2022 Hosting door True