Udostępnij za pośrednictwem


Wprowadzanie zmian w urządzeniu po zakończeniu produkcji

Jednym z ostatnich kroków produkcji urządzenia usługi Azure Sphere jest umieszczenie urządzenia w stanie DeviceComplete, co zabezpiecza urządzenie przed modyfikacją. Istnieją jednak sytuacje, w których należy zmodyfikować urządzenia, które zostały wprowadzone do stanu DeviceComplete.

Bezpieczny mechanizm używany w takich scenariuszach polega na użyciu możliwości urządzenia. Istnieją dwa typy możliwości urządzenia, fieldServicing i appDevelopment, a należy użyć tego, który ma minimalny zestaw wymaganych funkcji. Oznacza to, że jeśli funkcja fieldServicing spełnia Twoje potrzeby, należy jej użyć, ale jeśli wymagana jest większa elastyczność, użyj możliwości appDevelopment . Chociaż możliwości zostały zaprojektowane dla dwóch scenariuszy, po których są one nazwane, należy sprawdzić rzeczywiste funkcje włączone, a nie polegać na tej nazwie. Tylko właściciel wykazu urządzenia może uzyskać możliwości dla tego urządzenia, a każda możliwość jest ograniczona do jednego urządzenia.

Podczas wprowadzania zmian w urządzeniu DeviceComplete nie należy ładować ich bezpośrednio. Ma to na celu wyeliminowanie ryzyka przypadkowego opuszczenia możliwości, a tym samym pozostawienia urządzenia w stanie niezabezpieczonym. Zamiast tego należy użyć sesji obsługi.

Istnieją trzy etapy używania funkcji do obsługi urządzeń: pobieranie możliwości, stosowanie zaufanej aktualizacji magazynu kluczy (w razie potrzeby), a następnie utworzenie sesji obsługi.

Pobieranie możliwości

Możliwość można pobrać za pomocą polecenia az sphere device capability download. Musisz mieć dostęp do katalogu, który jest właścicielem urządzenia i dostępu do Internetu, aby pobrać możliwość. Domyślnie używane jest aktualnie dołączone urządzenie. Po dołączeniu wielu urządzeń określ adres IP, identyfikator urządzenia lub identyfikator połączenia lokalnego dołączonego urządzenia w parametrze --device . Podczas pobierania możliwości dla nieprzyłączonego urządzenia podaj identyfikator urządzenia w parametrze --device .

Aby pobrać możliwość dołączonego urządzenia:

  1. Użyj następującego polecenia z parametrami --type i --output-file , aby pobrać plik możliwości dołączonego urządzenia. Na przykład:

    az sphere device capability download --resource-group MyResourceGroup --catalog MyCatalog --device <DeviceIdValue> --type ApplicationDevelopment --output-file myCapabilities.cap
    

    Zastąp <plik capability-file> lokalizacją na komputerze, w której ma być przechowywany plik możliwości.

Aby pobrać możliwość nieprzyłączonego urządzenia:

  1. Użyj następującego polecenia z parametrami --device, --typei ----output-file , aby pobrać plik możliwości dla nieprzyłączonego urządzenia. Na przykład:

    az sphere device capability download --resource-group <resource-group> --catalog <catalog> --device <deviceID> --type fieldServicing ----output-file <capability-file>
    

    Podaj identyfikator urządzenia, dla którego potrzebujesz możliwości, i zastąp <plik capability-file> lokalizacją na komputerze, w którym ma być przechowywany plik możliwości.

W razie potrzeby zaktualizuj zaufany magazyn kluczy

Jeśli urządzenie nie jest połączone z Internetem, istnieje możliwość, że urządzenie nie będzie ufać możliwości. Dzieje się tak, gdy usługa AS3 zaktualizowała swój klucz podpisywania obrazu, za pomocą którego podpisuje wszystkie obrazy, w tym obrazy możliwości, ale urządzenie nie ma tego zaktualizowanego klucza w zaufanym magazynie kluczy. Każde połączone urządzenie automatycznie aktualizuje swój zaufany magazyn kluczy, ale jeśli urządzenie nie jest podłączone, mogło to nie wystąpić.

Aby rozwiązać ten problem, zobacz szczegółowe instrukcje tutaj.

Tworzenie sesji obsługi

Aby obsługiwać urządzenie, należy utworzyć sesję obsługi, wybierając możliwość. Za każdym razem, gdy polecenie "az sphere" jest wydawane podczas sesji, wybrana możliwość jest przekazywana do urządzenia, umożliwiając urządzeniu wykonywanie polecenia pomimo stanu zablokowanego. Plik możliwości nie jest przechowywany trwale na urządzeniu, więc urządzenie pozostaje zablokowane i zabezpieczone. Jeśli inny komputer zostanie później dołączony do urządzenia bez dostępu do pliku możliwości, nie będzie mógł zmodyfikować urządzenia.

Aby utworzyć sesję obsługi:

  1. Połącz urządzenie z komputerem przy użyciu interfejsu programowania i debugowania.

  2. Użyj polecenia az sphere device capability apply z parametrem --capability-file capability-file><. Zastąp <ciąg capability-file> ścieżką pliku określoną podczas pobierania możliwości.

    Po wybraniu pliku rozpocznie się sesja. Za każdym razem, gdy az sphere polecenie jest uruchamiane podczas sesji, informacje o możliwości są przekazywane do urządzenia, co powoduje odblokowanie komunikacji. Ta funkcja jest przechowywana na komputerze i jest skojarzona z danymi logowania systemu Windows lub Linux, a nie przy użyciu logowania do usługi Azure Sphere. Sesja obsługi dotyczy wszystkich az sphere poleceń skierowanych do urządzenia z komputera, a nie tylko tych uruchamianych z bieżącego wiersza polecenia.

Aby zakończyć sesję obsługi, użyj polecenia az sphere device apply --none

Po pomyślnym zakończeniu tego polecenia informacje o możliwości nie są już przekazywane do urządzenia. Jeśli sesja nie zostanie zakończona, następnym razem, gdy wydasz polecenie "az sphere" z tego komputera, bieżąca funkcja urządzenia zostanie przekazana wraz z poleceniem, a tym samym polecenie zakończy się niepowodzeniem, jeśli pracujesz z innym urządzeniem. Jeśli usuniesz plik możliwości bez zakończenia sesji obsługi, następne polecenie wyświetli ostrzeżenie o braku wybranego pliku możliwości i wyczyszczenia zaznaczenia dalszych poleceń.