FUOTA (firmwareopdatering over the air) med ChirpStack
De følgende trin beskriver opsætning og gennemførelse af firmwareopdateringer (FUOTA) for LoRaWAN-slutpunkter ved hjælp af ChirpStack-applikationsserveren.
Forudsætninger
Før du begynder, skal du sikre dig, at følgende forudsætninger er opfyldt:
- En installeret og kørende ChirpStack v4-server.
- Den nye firmwarefil som
.sbin-fil. - Enhederne er forbundet til ChirpStack-serveren.
- Enhedsprofilen for dine enheder har konfigureret enhedernes dvaletid som Forventet uplink-interval (sek.). Standardværdien er
300 sek.. Flere oplysninger om indstillingerne for enhedsprofilen findes nedenfor. - Enhederne har tilstrækkelig batterikapacitet. Vi anbefaler at udføre FUOTA i dagtimerne med sollys.
- Enhederne befinder sig inden for god radiodækning. Vi anbefaler at placere enhederne tæt på en gateway.
Opsætning
Enhedsprofil
For enhedsprofilen er følgende parametre vigtige:
Generelt
- Region:
EU868 - MAC-version:
LoRaWAN 1.0.4 - Version af regionale parametre:
RP002-1.0.1 - Forventet uplink-interval (sek.): enhedens dvaletid – standard
300 sek.
Applikationslag
- Version af klokkesynkronisering (TS003):
v1.0.0 - FPort til klokkesynkronisering (TS003):
202 - Transport af fragmenterede datablokke (TS004):
v1.0.0 - FPort til transport af fragmenterede datablokke (TS004):
201 - Version af fjernopsætning af multicast (TS005):
v1.0.0 - FPort til fjernopsætning af multicast (TS005):
200
1. Opret ChirpStack FUOTA-udrulning
Først skal der oprettes en ny FUOTA-udrulning. Denne mulighed findes i den ChirpStack-applikation, hvor din enhed befinder sig. ChirpStack opretter automatisk multicast-gruppen til FUOTA.
Følgende indstillinger anbefales:
- Antal unicast-genforsøg (maks.):
5 - Multicast-datahastighed:
4(afhængigt af enhedernes afstand) - Fragmenteringsredundans (%):
25% - Multicast-timeout:
4096 s - Fragmentstørrelse (multiplum af 8):
192 byte - Nyttedata: den nye firmware (
.sbin)
2. Føj enheder til udrulningen
Alle slutpunkter, der skal modtage den samme firmware, kan opdateres samtidig. I applikationens enhedsoversigt kan valgte enheder via knappen Valgt enhed føjes til en FUOTA-udrulning.
3. Føj gateways til udrulningen
Ligesom slutpunkterne skal de tilsvarende gateways også føjes til FUOTA-udrulningen.
4. Start FUOTA
Når FUOTA er konfigureret, og alle ønskede slutpunkter samt berørte gateways er føjet til FUOTA-udrulningen, kan FUOTA startes.
Bemærk: Den komplette FUOTA-proces tager cirka 2 timer – afhængigt af antallet af enheder, den konfigurerede Unicast retry count og Fragmentation redundancy. Den tid, hvor enheden er i Class-C-tilstand (Always On – modtager FUOTA-pakker), er som standard cirka 30–60 minutter.
FUOTA-forløb og -status
ChirpStack-FUOTA gennemgår følgende trin, som kan ses på dashboardet for FUOTA-deploymentet:
- Opret multicast-gruppe
- Føj enheder til multicast-gruppe
- Føj gateways til multicast-gruppe
Trin 1 til 3 udføres næsten øjeblikkeligt. De dokumenterer kun den interne opsætning i ChirpStack.
- Opsætning af multicast-gruppe
- Opsætning af fragmenteringssession
- Opsætning af multicast-session
Trin 4 til 6 vedrører enhedskonfigurationen. ChirpStack forsøger at konfigurere enhederne via downlink. Hvis dette mislykkes, gentages den pågældende konfigurations-downlink det antal gange, der er angivet under Unicast retry count. I dette tidsrum fungerer enheden normalt. Status for de enkelte enheders modtagelse af disse opsætningsmeddelelser i FUOTA kan ses under fanen "Devices" i FUOTA-deploymentet.
- Enqueue fragments: Som en del af denne interne opsætningsproces føjes firmwarefragmenterne til multicast-gruppens kø på tidspunktet "Run at".
- Delete multicast group: Multicast-gruppen slettes.
- Fuldfør deployment
FUOTA udføres mellem trin 7 og 8. Enhederne er i Class-C-tilstand og konstant vågne i den angivne Multicast timeout-periode. I dette tidsrum sender de ikke normale meddelelser, men modtager de enkelte firmwarefragmenter. Derfor er enhedernes strømforbrug også højere i denne periode. Multicast timeout-perioden skal være tilstrækkeligt lang til, at alle firmwarefragmenterne kan modtages inden for tidsrummet. FUOTA-indstillingen Calculate multicast-timeout beregner den nødvendige tid ud fra Fragment size eller firmwarefilen i Payload.
Når multicast-timeout er udløbet, eller alle fragmenter er modtaget, genstarter enheden og starter med den nye firmware, hvis FUOTA-processen lykkedes.
Valgfrit
FUOTA-indstillingen Fragmentation status request anmoder fragmenteringsstatussen på to valgbare tidspunkter. Resultatet kan ses under fanen "Devices" i FUOTA-deploymentet.
