FUOTA (Firmware-frissítés vezeték nélkül) a ChirpStack segítségével
A következő lépések a LoRaWAN-végberendezések firmware-frissítéseinek (FUOTA) beállítását és végrehajtását írják le a ChirpStack alkalmazásszerver használatával.
Előfeltételek
Mielőtt elkezdenéd, győződj meg róla, hogy a következő előfeltételek teljesülnek:
- Egy telepített és futó ChirpStack v4-szerver.
- Az új firmware-fájl mint
.sbin-fájl. - Az eszközök csatlakoztatva vannak a ChirpStack-szerverhez.
- Az eszközeid Eszközprofiljában az Expected uplink interval (secs) értékeként az eszközök alvási ideje van beállítva. Az alapértelmezett érték
300s. Az Eszközprofil beállításairól további részleteket lejjebb találsz. - Az eszközök akkumulátortöltöttsége megfelelő. Javasoljuk, hogy a FUOTA-t nappal, napfényben végezd el.
- Az eszközök jó rádiós lefedettségben vannak. Javasoljuk, hogy az eszközöket egy átjáró közelébe helyezd.
Beállítás
Eszközprofil
Az eszközprofilhoz a következő paraméterek fontosak:
Általános
- Régió:
EU868 - MAC-verzió:
LoRaWAN 1.0.4 - Regionális paraméterek verziója:
RP002-1.0.1 - Várt uplink-intervallum (mp): az eszköz alvási ideje – alapértelmezett
300 mp
Alkalmazási réteg
- Óraszinkronizálási verzió (TS003):
v1.0.0 - Óraszinkronizálási fPort (TS003):
202 - Töredezett adatblokk-átvitel (TS004):
v1.0.0 - Töredezett adatblokk-átvitel fPortja (TS004):
201 - Távoli multicast-beállítás verziója (TS005):
v1.0.0 - Távoli multicast-beállítás fPortja (TS005):
200
1. ChirStack FUOTA-telepítés létrehozása
Először létre kell hozni egy új FUOTA-telepítést. Ez a lehetőség abban a ChirpStack-alkalmazásban található, amelyben az eszközöd van. A ChirpStack automatikusan létrehozza hozzá a FUOTA multicastcsoportját.
A következő beállítások ajánlottak:
- Unicast újrapróbálkozások maximális száma:
5 - Multicast adatátviteli sebessége:
4(az eszközök távolságától függően) - Fragmentációs redundancia (%):
25% - Multicast időkorlátja:
4096 s - Fragmentum mérete (8 többszöröse):
192 bájt - Payload: az új firmware (
.sbin)
2. Eszközök hozzáadása a telepítéshez
Az összes olyan végberendezés, amelynek ugyanazt a firmware-t kell fogadnia, egyszerre frissíthető. Az alkalmazás Eszközök áttekintésében a kiválasztott eszközök a gombbal Kiválasztott eszköz egy FUOTA-telepítéshez hozzáadni.
3. Átjárók hozzáadása a telepítéshez
A végberendezésekhez hasonlóan a megfelelő átjárókat is hozzá kell adni a FUOTA-telepítéshez.
4. FUOTA indítása
A FUOTA konfigurálása, az összes kívánt végberendezés és az érintett átjárók FUOTA-telepítéshez való hozzáadása után elindítható a FUOTA.
Megjegyzés: A teljes FUOTA-folyamat körülbelül 2 órát vesz igénybe – az eszközök számától, a beállított Unicast retry count és a Fragmentation redundancy értékétől függően. Az az idő, amely alatt az eszköz Class-C módban van (Always On – a FUOTA-csomagok fogadása), alapértelmezés szerint körülbelül 30–60 perc.
A FUOTA folyamata és állapota
A ChirpStack-FUOTA a következő lépésekből áll, amelyek a FUOTA-telepítés irányítópultján láthatók:
- Multicast-csoport létrehozása
- Eszközök hozzáadása a multicast-csoporthoz
- Átjárók hozzáadása a multicast-csoporthoz
Az 1–3. lépés szinte azonnal lezajlik. Ezek csak a ChirpStack belső beállítási folyamatát dokumentálják.
- Multicast-csoport beállítása
- Fragmentációs munkamenet beállítása
- Multicast-munkamenet beállítása
A 4–6. lépés az eszközök konfigurálására vonatkozik. A ChirpStack downlinkkel próbálja konfigurálni az eszközöket. Ha ez nem sikerül, az adott konfigurációs downlinket az Unicast retry count értékének megfelelő számú alkalommal megismétli. Ez idő alatt az eszköz normál üzemmódban működik. Az egyes eszközök FUOTA-állapota ezekkel a beállítási üzenetekkel kapcsolatban a FUOTA-telepítés „Devices” lapján tekinthető meg.
- Enqueue fragments: Ennek a belső beállítási folyamatnak a keretében a firmware-fragmentumok a „Run at” időpontban bekerülnek a multicast-csoport várólistájába.
- Delete multicast group: A multicast-csoport törlődik.
- Telepítés befejezése
A 7. és 8. lépés között zajlik a FUOTA. Az eszközök a Multicast timeout időtartama alatt Class-C módban vannak, és folyamatosan ébren maradnak. Ez idő alatt nem küldenek normál üzeneteket, hanem az egyes firmware-fragmentumokat fogadják. Ennek megfelelően ebben az időszakban az eszközök energiafogyasztása is megnövekszik. A Multicast timeout időtartamának elegendően hosszúnak kell lennie ahhoz, hogy a firmware összes fragmentuma időben átvitelre kerüljön. A Calculate multicast-timeout FUOTA-beállítás a szükséges időt a Fragment size, illetve a Payload mezőben található firmware-fájl alapján számítja ki.
A multicast-timeout lejárta után, illetve az összes fragmentum fogadását követően az eszköz újraindul, és sikeres FUOTA esetén az új firmware-rel indul el.
Opcionális
A Fragmentation status request FUOTA-beállítás két kiválasztott időpontban lekéri a fragmentáció állapotát. Az eredmény a FUOTA-telepítés „Devices” lapján tekinthető meg.
