Firmware za mikrokontroler: što definirati prije razvoja
Ulazi, izlazi, komunikacija i ponašanje pri prekidu veze: praktičan početak specifikacije firmwarea.
Napišite što uređaj radi u stvarnoj uporabi
Firmware je program koji radi na uređaju i povezuje elektroniku s traženim ponašanjem. Za početak nije dovoljno navesti samo model mikrokontrolera. Potrebno je opisati što uređaj očitava, čime upravlja i tko mu šalje naredbe. U Cronics projektu razvijam firmware za ESP32-C6 Smart Hub; druge pločice imaju svoje zahtjeve.
Popišite ulaze, izlaze i ograničenja
- Ulazi: modeli senzora, komunikacijsko sučelje, učestalost očitanja i ponašanje kada senzor nedostaje.
- Izlazi: što se uključuje ili šalje, početno stanje nakon paljenja i dozvoljeni raspon naredbi.
- Elektronika: shema, raspored pinova, napajanje i oznaka verzije pločice.
- Komunikacija: lokalna aplikacija, poslužitelj ili drugo sučelje te način dodjele pristupa.
Dogovorite ponašanje kada nešto prestane raditi
Za primjer uređaja koji prima mrežne naredbe treba odrediti što se događa bez Wi-Fi-ja, bez poslužitelja i nakon ponovnog uključivanja. Naredba za uključivanje nije isto što i potvrda da je izlaz uključen. Dogovorite povratnu informaciju i pravila za ponovljene ili zastarjele naredbe.
Primjer kriterija provjere: nakon prekida mreže uređaj zadržava unaprijed dogovoreno stanje, a nakon ponovnog spajanja javlja stvarni status. Vrijeme ponovnog spajanja i prihvatljivo ponašanje određuju se za konkretan uređaj. Ovaj primjer opisuje test, a ne izmjeren rezultat prototipa.
Planirajte ažuriranje i završnu provjeru
Ako trebate OTA ažuriranje, dogovorite isporuku nove verzije, provjeru autentičnosti i oporavak nakon neuspješnog ažuriranja. ESP-IDF za ESP32-C6 podržava mehanizam povratka prethodne aplikacije, ali ga treba konfigurirati i provjeriti. Samo postojanje OTA funkcije ne dokazuje pouzdan oporavak.
Za upit pripremite shemu ili model pločice, opis namjene, popis senzora i nekoliko očekivanih scenarija. Ako već postoji kod, navedite tehnologiju i stanje projekta. Pristup repozitoriju dogovara se zasebno.
Programiranje mikrokontrolera i razvoj firmwarea