Blogginlägg -
Robust IoT börjar med hårdvara
Storskalig IoT, av branschen kallad Massiv IoT, är IoT-system med miljontals sensorer på små geografiska ytor. Storskalig IoT syftar till att samla data som kan spara resurser som tid och pengar. Men data måste vara pålitlig, och för pålitlig data krävs att hårdvaran fungerar år ut och år in utan problem.
Förväntningen på en IoT-sensor är att dess batteri skall räcka minst 10 år. Ovanpå denna utmaning så måste ju sensorn fungera autonomt i 10+ års installation en krävande miljöer. Sensorn måste kunna anpassa sig efter vad som händer i det trådlösa nätet, vad som händer i dess interna hårdvara eller mjukvara och den måste kunna parera för oväntade mätvärden. Så hur designar man tillförlitliga ekosystem runt kravet på minst 10+ års batteritid?
Den enkla förklaringen, baserat på vår erfarenhet, är att tillförlitlighet kommer först. Vi har genom åren satt hundratusentals enheter på marknaden. Pålitlighet för oss betyder framförallt att du har en enhet med mekanismer för att hålla den kopplad till nätverket för att hantera fel. Det här är den listan över saker du behöver ha på plats i din enhet:
1. Watchdogs
En watchdog bevakar och hanterar fel i enheten. Förenklat så består den av antingen en hårdvaruwatchdog eller en mjukvaruwatchdog. Den enklast att implementera är en mjukvaruwatchdog, en programsekvens som "matas" med kod så länge kod exekveras. Skulle någon process göra att koden inte längre körs, då tar watchdogprogrammet beslut att starta om enheten när den inte matas längre. En mjukvaruwatchdog är ett bra, enkel och billig, men det finns pålitligare sätt.
Om man lyfter ut watchdogen i en andra processor så får den en mindre sårbar konstruktion. Den sekundära processorn, hårdvaruwatchdogen, fungerar fristående och har bara uppgiften att se om huvudprocessen körs. En hårdvaruwatchdog är effektivast, men också strömkrävande och fördyrande.
En watchdog kan kontrollera och verifiera andra funktioner, exempelvis att enheten registreras i mobilnätet. Om inte, så startas enheten för uppkopplingen om (4G-modulen exempelvis). Om den inte lyckas att initiera sensorn efter ett antal försök så lägger den enheten i längre vila en period för att spara batteri.
Om watchdogfunktioner saknas kan det leda till att batteriet förbrukas (enheter försöker ansluta, upprepade omstarter på grund av mjukvara eller hårdvara, eller så fastnar enheten på grund av dålig firmware och måste manuellt startas om). Så om dessa saker inte är på plats i enheten spelar enhetens strömförbrukning under normal drift mindre roll, du kommer att behöva bry dig om andra saker.
2. Firmware over the air
Alla enheter kommer förr eller senare att behöva uppdateras, i synnerhet under ett 10-års spann. 10 år utan batteribyte betyder att du kommer behöva ladda ned ny firmware för att möta nya säkerhetshot, ingen 10-års period under 2000-talet har varit utan säkerhetshot som lösts med ny firmware. Eftersom du har enheterna installerat på vitt skilda platser behöver du lösa det hela med uppdatering via luften, Firmware over the Air, eller FOTA. FOTA är en vattendelare inom IoT. De tekniker som mest av allt pratat om lång batterilivslängd är LoRaWAN. Men LoRaWAN är inte bäst i klassen på att hantera FOTA, det kan ta veckor att få en uppdatering över till en enhet på grund av långsam datatakt. Jämfört med LoRaWAN är 4G/5G långt överlägset. Fäster du vikt vid uppdatering av firmware så är LoRaWAN något du noga skall nagelfara innan du väljer uppkopplingsteknik.
Enheter som inte har validering av firmware när du laddar ner ny firmware eller enheter som saknar mekanismer för återställning till säker version är vad vi skulle kategorisera som IoT-enheter att välja bort. Välj endast enheter som accepterar uppdateringar som är digitalt signerade. Välj enheter som har mekanismer för att uppdatera den fasta programvaran på ett säkert sätt på distans. Välj endast enheter som inte låser sig om uppdateringen av den fasta programvaran misslyckas.
Om du gör en stor utrullning är det kostsamt att uppdatera enheter om de behöver uppdateras av säkerhetsskäl. Kanske dyrare än att byta ut batteriet.
3. Device management
Om du har installerat ett större antal sensorer i fält så vill du självklart ha koll på saker som rör funktionalitet och prestanda. Även med enkla protokoll kan enheten rapportera in självklara parametrar som batterispänning och signalstyrka. Enheten kan även inkludera information om signalkvalitet samt återkoppla om någon del av hårdvaran inte fungerar. Att mäta prestandaparametrar kan ta tid vilket i slutänden kostar batterilivslängd, men om din sensortillverkare tänkt till så kan sensorn pausa analys av signalstyrka en tid om enheten hade bra signalstyrka vid senaste mätningen, bättre att du får in värdena intermittent än att inte få in dem alls och att du får tätare uppdateringar vid problem.
Även enkla protokoll kan styra funktioner i din enhet vilket kan vara användbart. Om du vill förändra uppdateringsintervall, ändra vilka sensorer som skall avvikas, eller aktivera en felindikerings-led lokalt så är det bra om dessa saker kan initieras på distans. Det är helt möjligt att med hjälp av standardprotokoll på ett enkelt sätt påverka sensorernas egenskaper på distans, allt handlar om hur långt din tillverkare tänkt och skruvat på sina mjukvara.
En bra device management plattform inkluderar ofta möjligheten till Firmware over the Air uppdateringar, men ibland används separata lösningar för de två funktionerna. Icke desto mindre är de bägge viktiga.
4. Dataintegritet
Under 10 år i fält kommer du att samla mycket data, data du behöver skydda. Om man tittar på olika tekniker så har cellulära enheter (4G/5G) ett SIM-kort, ett säkert element som LoRaWAN-enheter saknar. SIM-kortet är ett säkerhetslager, men vi rekommenderar att du använder flera lager. Oavsett trådlös teknik är det alltid rekommenderat att du implementerar kryptering end-to-end. Detta bygger på att du mellan sensorn och serversidan använder säkerhetscertifikat och en krypterad överföring. För nätverk kan detta liknas vid VPN-anslutning, och i nätverk är det inget du ifrågasätter om det skall användas, men inom storskalig IoT tenderar det att hamna på efterkälken (för sanningen är att kryptering minskar batterilivslängden).
Slutsatsen är att en pålitlig enhet hanterar mjukvara och hårdvara så att data kan skickas på ett säkerhet sätt år efter år. Vi råder dig också att se om den enhet du verkligen vill jobba med är både CE-märkt och elsäkerhetstestad. Det finns devicer på marknaden som kommer från kopierade designer eller hårdvara som inte passerar testerna, detta är hårdvara som du verkligen vill undvika.