Sdílet prostřednictvím


Možnosti a komunikace zařízení

Možnosti zařízení určují zásady operačního systému specifické pro konkrétní zařízení pro komunikaci s UART služby. Veškerá komunikace mezi hostitelským počítačem a připojeným zařízením probíhá prostřednictvím služby UART. Hostitelský počítač komunikuje s připojeným zařízením za účelem provádění operací na zařízení. Výrobci, vývojáři softwaru a technici služeb v terénu používají funkce k odemknutí komunikace UART pro operace, které vyžadují, a zároveň zajišťují ochranu zařízení před uživateli se zlými úmysly.

Výrobci zařízení a výrobci OEM můžou uzamknout komunikaci UART služby, aby zabránili neoprávněnému použití těmi, kdo mají k zařízení fyzický přístup. Uzamčení takové komunikace je součástí finalizace zařízení. Po dokončení může uživatel získat ID zařízení, ale nic dalšího; všechny ostatní operace vyžadují schopnost zařízení. Finalizace se obvykle provádí v továrně před tím, než výrobce zařízení doručí na web zákazníka.

Soubor schopností zařízení obsahuje nula nebo více možností pouze pro jedno zařízení. Soubor funkcí nebude fungovat, pokud se použije pro zařízení, které není tím, pro které je určen. Zařízení může mít následující funkce, z nichž každá je popsaná dále v tomto tématu:

Poznámka

Možnosti zařízení nesouvisejí s možnostmi aplikace. Možnosti aplikace určují prostředky, které aplikace vyžaduje za běhu. Další informace o možnostech aplikace najdete v manifestu aplikace .

Jak zjistit možnosti zařízení nebo stav výroby

Pokud chcete zjistit konfiguraci funkcí uloženou na připojeném zařízení, použijte příkaz az sphere device capability show-attached . Příkaz zobrazí možnosti, které jsou nakonfigurované pomocí souboru schopností, a některé, ale ne všechny, funkce, které jsou ve výchozím nastavení k dispozici na panelech.

Funkce zařízení mohou být ovlivněny stavem výroby zařízení. K určení výrobního stavu zařízení použijte příkaz az sphere device manufacturing-state show . Pokud příkaz ukazuje, že zařízení je ve výrobním stavu DeviceComplete nebo vrátí Device access is forbidden, komunikace service-UART je uzamčená a potřebujete schopnost zařízení komunikovat se zařízením z počítače. Pokud je zařízení ve výrobním stavu DeviceComplete , jsou výrobní operace povoleny pouze v případě, že je zařízení odemknuté prostřednictvím souboru schopností.

Poznámka

Pokud zařízení nainstalujete u lokality zákazníka, měli byste se před instalací ujistit, že se zařízení dokončí do výrobního stavu DeviceComplete . Viz Dokončení zařízení Azure Sphere.

Stav vytváření DeviceComplete obvykle není vhodný pro vývojovou sadu. Aby bylo možné testovat výrobní operace vyvíjené výrobními inženýry, měla by být vývojová sada buď v prázdném stavu, nebo ve stavu Module1Complete .

Jak zařízení získávají možnosti

Zařízení můžou získat možnosti jedním ze tří způsobů:

  • Ve výchozím nastavení je otevřeno. Zařízení, které je v prázdném stavu výroby nebo ve stavu Module1Complete , má ve výchozím nastavení otevřené některé funkce. To se provádí tak, aby zařízení, která jsou ještě ve fázi výroby, nemusela být připojená ke cloudu nebo nárokována do katalogů, jak to vyžaduje proces použití souborů funkcí zařízení k odemknutí funkcí. V průběhu výroby můžou výrobci změnit stav výroby zařízení tak, aby uzamkli funkce, které už nejsou vhodné, jak je popsáno v tématu Úlohy v továrně.

  • Bokem načteno do zařízení. Zařízení může mít soubor funkcí načtený na zařízení z hostitelského počítače. K načtení souboru schopností použijte příkaz az sphere device capability download . Tato sada funkcí načtená bokem zůstane zachována, dokud se nový soubor schopností (což může být prázdný soubor bez schopností) nenačte bokem. To je obvyklá situace během vývoje aplikací, například při spuštění příkazu az sphere device enable-development . Vývoj aplikací pomáhá tím, že zařízení je v odemknutém stavu, kde může vývojář provádět operace, jako je ladění a snadné odstranění a nasazení verzí aplikace načtených bokem.

  • Předává se do zařízení s každou operací. Zařízení může mít místně vybrané funkce použité na základě jednotlivých operací. Příkaz az sphere device capability apply vybere soubor schopností, který je uložen místně na hostitelském počítači. Po spuštění tohoto příkazu se vybraná funkce předá z počítače do zařízení s každým dalším příkazem. Jedná se o doporučený způsob použití funkcí pro zařízení, která jsou v terénu, protože funkce jsou uložené v počítači, nikoli na zařízení. Vyhnete se riziku, že technik v terénu omylem opustí zařízení v nezabezpečeném stavu tím, že zapomene odebrat funkci.

Před zkušebním načtením souboru funkcí do zařízení nebo předáním do zařízení s operací je nutné ho stáhnout ze služby Zabezpečení Azure Sphere (AS3), jak je popsáno v tématu Provedení změn zařízení po výrobě. Stažené soubory funkcí jsou specifické pro konkrétní zařízení. Po stažení lze soubor funkcí opakovaně použít na přidruženém zařízení.

Funkce enableRfTestMode

Funkce enableRfTestMode je na zařízení ve výchozím nastavení k dispozici, když je výrobní stav zařízení Prázdný. Tato funkce umožňuje programování elektronických pojistek a konfiguraci a testování provozu rf. Není možné, aby si vlastníci katalogu tuto funkci stáhli do hostitelského počítače. Pokud tuto funkci potřebujete, obraťte se na zástupce Microsoftu.

Pokud je výrobní stav zařízení Prázdný, příkaz az sphere device capability show-attached zobrazí funkci enableRfTestMode .

Funkce appDevelopment

Funkce zařízení appDevelopment odemkne komunikaci uART služby a změní typ podepisování, kterému zařízení důvěřuje. Je určen pro použití při vývoji aplikací.

Ve výchozím nastavení zařízení Azure Sphere důvěřují balíčkům imagí podepsaným v produkčním prostředí, které stahuje služba zabezpečení Azure Sphere, ale nedůvěřují balíčkům imagí podepsaným sadou SDK. Proto nemůžete vytvořit balíček image se sadou SDK a načíst ho do zařízení Azure Sphere pro ladění, pokud zařízení nemá funkci appDevelopment . Funkce appDevelopment způsobí, že zařízení důvěřuje balíčku image a umožňuje spustit, zastavit, ladit nebo odebrat aplikaci ze zařízení.

Stručně řečeno, funkce appDevelopment odemyká komunikaci service-UART a umožňuje následující operace:

  • Zkušební načtení balíčku image vytvořeného pomocí visual studia, editoru Visual Studio Code, rozhraní příkazového řádku nebo příkazu az sphere image-package

  • Spuštění, zastavení, ladění nebo odebrání balíčku image ze zařízení Azure Sphere bez ohledu na to, jak je balíček imagí podepsaný.

Pokud chcete přidat funkci appDevelopment , použijte příkaz az sphere device enable-development . Tento příkaz stáhne funkci appDevelopment pro připojené zařízení, načte funkci bokem do zařízení a přesune zařízení do výchozí skupiny zařízení Vývoj. Pokud chcete zadat jinou skupinu zařízení, zahrňte --device-group parametr .

Když použijete příkaz az sphere device enable-development, zůstane zařízení odemknuté, dokud ho explicitně nezamknete. K opětovnému uzamčení zařízení použijte příkaz az sphere device enable-cloud-test . Tento příkaz odebere funkci a změní skupinu zařízení v závislosti na zadaných parametrech příkazového řádku.

Příkazy az sphere device enable-development a az sphere device enable-cloud-test provádějí posloupnost akcí, které připraví zařízení pro vývoj a ladění nebo pro cloudová nasazení. Místo těchto příkazů můžete pomocí příkazu az sphere device capability stáhnout nebo aktualizovat funkce zařízení nebo zjistit, které možnosti zařízení aktuálně má.

Funkce fieldServicing

Funkce fieldServicing je na zařízení ve výchozím nastavení k dispozici, pokud má zařízení výrobní stav Blank nebo Module1Complete. Pokud je zařízení ve výrobním stavu DeviceComplete , je možné funkci fieldServicing načíst bokem, ale obvykle se předává do zařízení s každou operací během servisní relace. Podrobnosti o tom, jak spustit servisní relaci, najdete v tématu Provedení změn zařízení po výrobě.

Bez ohledu na stav výroby zařízení funkce fieldServicing odemyká komunikaci UART služby a umožňuje následující operace:

  • Zkušební načtení balíčku image podepsaného v produkčním prostředí
  • Spuštění, zastavení a odstranění balíčku image podepsaného v produkčním prostředí, který je označený jako dočasný.
  • Provádění úloh běžné údržby, jako je konfigurace Wi-Fi.

Přestože je funkce fieldServicing na zařízení ve výchozím nastavení k dispozici, když je stav výroby zařízení Blank nebo Module1Complete, příkaz az sphere device capability show-attached možnost fieldServicing nezobrazuje.

Závislost na aktuálním důvěryhodném úložišti klíčů

Když as3 vytvoří soubor funkcí, je podepsaný pomocí aktuálního podpisového klíče image. Každé zařízení má důvěryhodné úložiště klíčů jako součást operačního systému, ve kterém se tyto klíče uchovávají. Pokud však zařízení není připojené k internetu, je možné, že funkce nebude pro zařízení, na které cílí, důvěryhodná, pokud je důvěryhodné úložiště klíčů tohoto zařízení zastaralé.

Jednou z metod, jak to napravit, je umožnit zařízení připojení k internetu, aby aktualizovalo důvěryhodné úložiště klíčů. Připojte zařízení k internetu a stisknutím resetování aktivujte aktualizaci operačního systému.

Pokud to není možné, můžete aktualizované důvěryhodné úložiště klíčů načíst bokem. Uděláte to tak, že přijmete licenční podmínky a pak si stáhnete nejnovější bitové kopie operačního systému pro obnovení a z tohoto souboru ZIP extrahujte jenom soubor "trusted-keystore.bin". Potom můžete použít příkaz az sphere device sideload deploy --image-package <path-to-trustedkeystore.bin-file> k zkušebnímu načtení důvěryhodného úložiště klíčů. Tato funkce by teď měla být pro zařízení důvěryhodná.

Třetí metodou je obnovení systémového softwaru a aktualizace operačního systému Azure Sphere na nejnovější vydanou verzi, včetně nejnovějšího důvěryhodného úložiště klíčů.