Zdalne aktualizacje oprogramowania urządzeń IOT

0
126
Rate this post

Aktualizacje oprogramowania urządzeń IoT muszą być bezpieczne i niezawodne. I to jest najważniejszy powód, dla którego warto wesprzeć zdalną aktualizację OTA (over-the-air) procedurami serwisowymi.

Dlaczego warto łączyć aktualizację OTA z procedurami serwisowymi?

Zdalna aktualizacja OTA zmniejsza koszty logistyki i skraca czas wdrożenia. To fakt. Jednak w praktyce zdarzają się niespodzianki, jak przerwy w zasilaniu lub brak dostępu do internetu, które potrafią przerwać zapis i doprowadzić np. do uszkodzenia sektora rozruchowego.

Przydatna staje się wtedy procedura zapasowa, czyli całkiem realne stanowisko serwisowe wyposażone w programator NOR umożliwiający przywrócenie sektora rozruchowego oraz programator Flash pozwalający szybko odtworzyć duże partycje danych.

Alokacja pamięci

Dobrym pomysłem jest podział pamięci na niewielki obszar umożliwiający uruchomienie systemu oraz osobny, duży na resztę danych.

Pierwszy z nich należy przeznaczyć na bootloader, minimalny zestaw sterowników oraz tryb naprawczy, co pozwoli pobrać lub wgrać obraz systemu nawet wtedy, gdy nie wystartuje główne oprogramowanie.

Drugi można wykorzystać do przechowywania systemu plików oraz konfiguracji użytkownika, czyli zasobów, które rozrastają się wraz z rozwojem sprzętu oraz aktualizacjami.

Przebieg aktualizacji OTA

Urządzenie pobiera w tle podpisany pakiet, sprawdza jego integralność i proponuje restart w oknie serwisowym lub po potwierdzeniu ze strony użytkownika.

Po restarcie wykonuje test integralności oraz funkcji krytycznych i, jeśli wykryje błąd, powraca do poprzedniej, stabilnej wersji bez zmiany ustawień i danych użytkownika oraz.. ingerencji serwisu.

Aktualizacja serwisowa, ponieważ czasami jest to jednak niezbędne

Zdarzają się jednak sytuacje, gdy nie uda się pobrać poprawki przez sieć albo uszkodzeniu ulegnie sektor startowy. Wtedy przydaje się stanowisko serwisowe:

Stanowisko serwisowe:

  1. Orkiestrator, czyli programator układów scalonych, który rozpoznaje układ, sprawdza linie sygnałowe, zdejmuje blokady zapisu, uruchamia weryfikację i zapisuje dziennik z sumami kontrolnymi tworząc pełną ścieżkę audytu naprawy.
  2. Programator NOR służący do szybkiego przywrócenia kodu startowego i podstawowych danych konfiguracyjnych, żeby urządzenie mogło wystartować i wejść w tryb naprawczy.
  3. Programator Flash pozwalający odtworzyć duże pliki danych: partycje z aplikacją, system plików i zasoby. Dzięki temu po restarcie sprzęt będzie działać tak, jak przed awarią.

Warto pamiętać, że tryb serwisowy sprawdza się nie tylko w przypadku błędnej aktualizacji, ale też np. podczas migracji danych. Poza tym zawsze warto mieć plan B pozwalający przywrócić urządzenie do pracy bez utraty ważnych dla użytkownika danych.