FUOTA (posodobitev vdelane programske opreme po zraku) s ChirpStackom
V naslednjih korakih je opisana nastavitev in izvedba posodobitev vdelane programske opreme (FUOTA) za končne naprave LoRaWAN z uporabo aplikacijskega strežnika ChirpStack.
Pogoji
Pred začetkom se prepričaj, da so izpolnjeni naslednji pogoji:
- Nameščen in delujoč strežnik ChirpStack v4.
- Nova datoteka vdelane programske opreme kot
.sbin-datoteka. - Naprave so povezane s strežnikom ChirpStack.
- V profilu naprave je pri pričakovanem intervalu oddajanja navzgor (s) konfiguriran čas spanja tvojih naprav. Privzeta vrednost je
300 s. Več podrobnosti o nastavitvah profila naprave je navedenih spodaj. - Naprave imajo zadostno napolnjeno baterijo. Priporočamo, da FUOTA izvedeš podnevi in ob sončnem sevanju.
- Naprave so v dosegu z dobrim radijskim signalom. Priporočamo, da naprave približaš prehodu.
Nastavitev
Profil naprave
Za profil naprave so pomembni naslednji parametri:
Splošno
- Regija:
EU868 - Različica MAC:
LoRaWAN 1.0.4 - Različica regionalnih parametrov:
RP002-1.0.1 - Pričakovani interval oddajanja navzgor (s): čas spanja naprave – privzeto
300 s
Aplikacijska plast
- Različica sinhronizacije ure (TS003):
v1.0.0 - Vrata fPort za sinhronizacijo ure (TS003):
202 - Prenos fragmentiranega podatkovnega bloka (TS004):
v1.0.0 - Vrata fPort za prenos fragmentiranega podatkovnega bloka (TS004):
201 - Različica oddaljene nastavitve večoddajanja (TS005):
v1.0.0 - Vrata fPort za oddaljeno nastavitev večoddajanja (TS005):
200
1. Ustvarjanje uvedbe FUOTA v ChirpStacku
Najprej je treba ustvariti novo uvedbo FUOTA. To možnost najdeš v aplikaciji ChirpStack, v kateri je tvoja naprava. ChirpStack pri tem samodejno ustvari skupino za večoddajanje FUOTA.
Priporočene so naslednje nastavitve:
- Največje število ponovnih poskusov enooddajanja:
5 - Podatkovna hitrost večoddajanja:
4(odvisno od oddaljenosti naprav) - Redundanca fragmentacije (%):
25% - Časovna omejitev večoddajanja:
4096 s - Velikost fragmenta (večkratnik števila 8):
192 bajtov - Koristna vsebina: nova vdelana programska oprema (
.sbin)
2. Dodajanje naprav v uvedbo
Vse končne naprave, ki naj prejmejo isto vdelano programsko opremo, je mogoče posodobiti hkrati. V pregledu naprav v aplikaciji lahko izbrane naprave prek gumba Izbrana naprava dodati v uvedbo FUOTA.
3. Dodajanje prehodov v uvedbo
Tako kot končne naprave je treba v uvedbo FUOTA dodati tudi ustrezne prehode.
4. Zagon FUOTA
Ko je FUOTA konfiguriran, vse želene končne naprave in prizadeti prehodi dodani v uvedbo FUOTA, je mogoče FUOTA zagnati.
Opomba: Celoten postopek FUOTA traja približno 2 uri – odvisno od števila naprav, konfiguriranega Unicast retry count in Fragmentation redundancy. Čas, ko je naprava v načinu Class-C (Always On – prejemanje paketov FUOTA), privzeto traja približno 30–60 minut.
Potek in stanje FUOTA
ChirpStack FUOTA poteka po naslednjih korakih, ki so prikazani na nadzorni plošči uvedbe FUOTA:
- Ustvarjanje multicastne skupine
- Dodajanje naprav v multicastno skupino
- Dodajanje prehodov v multicastno skupino
Koraki od 1 do 3 se izvedejo skoraj takoj. Dokumentirajo le notranjo nastavitev v ChirpStacku.
- Nastavitev multicastne skupine
- Nastavitev seje fragmentacije
- Nastavitev multicastne seje
Koraki od 4 do 6 se nanašajo na konfiguracijo naprav. ChirpStack poskuša naprave konfigurirati prek downlinka. Če to ne uspe, se zadevni konfiguracijski downlink ponovi tolikokrat, kot določa Unicast retry count. V tem času naprava deluje normalno. Stanje posameznih naprav v FUOTA glede teh nastavitvenih sporočil si lahko ogledate na zavihku »Devices« v uvedbi FUOTA.
- Enqueue fragments: V okviru tega notranjega postopka nastavitve se fragmenti vdelane programske opreme ob času »Run at« dodajo v čakalno vrsto multicastne skupine.
- Delete multicast group: Multicastna skupina se izbriše.
- Dokončanje uvedbe
Med 7. in 8. korakom se izvede FUOTA. Naprave so za čas Multicast timeout v načinu Class-C in ves čas budne. V tem času ne pošiljajo običajnih sporočil, temveč prejemajo posamezne fragmente vdelane programske opreme. Zato je tudi poraba energije naprav v tem času povečana. Čas Multicast timeout mora biti dovolj dolg, da je mogoče pravočasno prenesti vse fragmente vdelane programske opreme. Nastavitev FUOTA Calculate multicast-timeout izračuna potreben čas na podlagi Fragment size oziroma datoteke vdelane programske opreme v Payload.
Po poteku multicast-timeout ali ko so prejeti vsi fragmenti se bo naprava znova zagnala in se ob uspešnem FUOTA zagnala z novo vdelano programsko opremo.
Izbirno
Nastavitev FUOTA Fragmentation status request na dveh izbranih časovnih točkah preveri stanje fragmentacije. Rezultat si lahko ogledate na zavihku »Devices« v uvedbi FUOTA.
