Sdílet prostřednictvím


Přehled aplikací Azure Sphere

Důležité

Toto je dokumentace k Azure Sphere (starší verze). Azure Sphere (starší verze) se vyřazuje 27. září 2027 a uživatelé musí do této doby migrovat do Azure Sphere (integrované). K zobrazení dokumentace k Azure Sphere (integrované) použijte selektor verzí umístěný nad obsahem.

Zařízení Azure Sphere můžou spouštět dva typy aplikací:

  • Aplikace vysoké úrovně spouštějí kontejnerizované v operačním systému Azure Sphere
  • Aplikace podporující v reálném čase (RTApps) běží na holých počítačích nebo s operačním systémem v reálném čase (RTOS) na jádrech v reálném čase

Pro každé zařízení Azure Sphere se vyžaduje aplikace vysoké úrovně; RtApps jsou volitelné.

Aplikace vysoké úrovně

Každé zařízení Azure Sphere má aplikaci vysoké úrovně, která běží v operačním systému Azure Sphere a může používat knihovny aplikací. Aplikace vysoké úrovně může provádět následující:

  • Konfigurace periferních zařízení Azure Sphere (například kolíky GPIO, rozhraní UART a další rozhraní) a interagovat s nimi.

  • Komunikace s aplikacemi RTApps

  • Komunikace s internetovými a cloudovými službami

  • Vztahy důvěryhodnosti zprostředkovatele s ostatními zařízeními a službami prostřednictvím ověřování založeného na certifikátech

Aplikace vysoké úrovně běží v kontejneru v uživatelském režimu Normal World, jak je popsáno v tématu Co je Azure Sphere? Kontejner aplikace podporuje podmnožinu prostředí POSIX a sadu knihoven aplikací (Applibs), které jsou specifické pro operační systém Azure Sphere. Knihovny a funkce, které jsou k dispozici pro aplikace vysoké úrovně, jsou omezené, aby se zajistilo, že platforma zůstane zabezpečená a lze ji snadno aktualizovat. Aplikace mají přístup pouze ke knihovnám a službám za běhu, které microsoft poskytuje; kromě jiných omezení nejsou k dispozici přímé vstupně-výstupní operace ani přístup k prostředí. Vývojové prostředí popisuje základní sadu rozhraní API a zavádí knihovny aplikací Azure Sphere, které podporují funkce specifické pro zařízení.

Očekává se, že aplikace vysoké úrovně budou běžet nepřetržitě a automaticky se restartují, pokud se zastaví nebo selžou.

Vytvoření aplikace vysoké úrovně poskytuje další informace o funkcích.

Aplikace podporující v reálném čase

Zařízení Azure Sphere může mít kromě aplikace vysoké úrovně také jednu nebo více aplikací schopných v reálném čase. Aplikace RTApp může:

  • Konfigurace a interakce s periferními zařízeními integrovanými do MCU Azure Sphere, jako jsou piny GPIO a UART
  • Komunikace s aplikacemi vysoké úrovně

RtApps se dá spustit buď na holých počítačích, nebo s operačním systémem v reálném čase (RTOS). Úložiště ukázek Azure Sphere na GitHubu zahrnuje holou ukázku HelloWorld a také ukázku, která demonstruje komunikaci mezi jádry mezi aplikacemi vysoké úrovně a RTApps. Úložiště Azure Samples na GitHubu obsahuje ukázku, která ukazuje , jak používat Azure Sphere s Azure RTOS.

Další ovladače a ukázky pro RTApps, které cílí na jádra M4 v reálném čase na čipu MT3620, jsou k dispozici na GitHubu od partnerů Azure Sphere MediaTek a Codethink.

Každá rtApp běží izolovaně na konkrétním vstupně-výstupním jádru a může komunikovat pouze s aplikací vysoké úrovně; nemůže používat internet, appliby Azure Sphere ani jiné funkce operačního systému Azure Sphere.

Vytvoření aplikace podporující v reálném čase poskytuje další informace o funkcích a procesu vývoje pro RTApps.

Funkce společné pro všechny aplikace

I přes významné rozdíly mezi aplikacemi vysoké úrovně a RTApps mají všechny aplikace Azure Sphere společné některé věci. Pomocí sady Visual Studio nebo Visual Studio Code můžete vyvíjet, sestavovat a ladit oba typy aplikací, nebo vyvoláním CMake a Ninja pomocí rozhraní příkazového řádku.

Kromě toho platí následující funkce zabezpečení pro aplikace vysoké úrovně i RTApps:

Možnosti aplikace

Bez ohledu na to, kde běží, musí každá aplikace Azure Sphere určit externí služby a rozhraní, která vyžaduje , například vstupně-výstupní a síťové požadavky, aby se zabránilo neoprávněnému nebo neočekávanému použití.

Možnosti aplikace jsou prostředky, které aplikace vyžaduje. Mezi možnosti aplikace patří periferní zařízení, která aplikace používá, hostitele internetu, ke kterým se aplikace vysoké úrovně připojuje, a oprávnění ke změně konfigurace sítě, mimo jiné. Každá aplikace musí mít manifest aplikace, který tyto prostředky identifikuje.

Možnosti zařízení

Funkce zařízení umožňuje aktivitu specifickou pro zařízení. Funkce zařízení poskytuje služba zabezpečení Azure Sphere. Ve výchozím nastavení čipy Azure Sphere nemají žádné možnosti zařízení. Existují dva hlavní typy funkcí zařízení: schopnost zařízení appDevelopment a schopnost zařízení fieldServicing .

Funkce zařízení appDevelopment změní typ podepisování, kterému zařízení důvěřuje. Zařízení Azure Sphere ve výchozím nastavení důvěřují balíčkům imagí podepsaných v produkčním prostředí, ale nedůvěřují balíčkům imagí podepsaných sadou SDK. V důsledku toho nemůžete balíček image podepsané sadou SDK načíst do zařízení Azure Sphere, které tuto funkci nemá. Když je ale k dispozici funkce appDevelopment, zařízení důvěřuje balíčkům imagí podepsaných sadou SDK. Kromě toho umožňuje spustit, zastavit, ladit nebo odebrat aplikaci ze zařízení. V souhrnu musí být funkce vývoje aplikací na zařízení k dispozici, než budete moct:

  • Zkušební načtení balíčku image vytvořeného sadou Visual Studio nebo příkazem azsphere 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 image podepsaný.

Příkaz azsphere device enable-development vytvoří a použije schopnost appDevelopment a zabrání zařízení přijímat aktualizace cloudových aplikací.

Funkce fieldServicing umožňuje komunikaci typu zařízení-počítač na zařízeních, která jsou ve stavu výroby DeviceComplete. Díky této funkci můžete image podepsané produkčním prostředím načíst, ale neodstraňovat je. Můžete spouštět a zastavovat aplikace, ale ne ladit. Můžete také provádět běžné úlohy údržby, jako je konfigurace Wi-Fi. Je určen pro krátkodobé použití během servisní relace, omezenou dobu, během které je udělen přístup k zařízení na základě jednotlivých operací.

Požadavky na podepisování a nasazení

Všechny balíčky imagí nasazené do zařízení Azure Sphere musí být podepsané. Sada Azure Sphere SDK a balíčky příkazů azsphere image-package pro testování pomocí podpisového klíče sady SDK. Zařízení Azure Sphere důvěřují tomuto klíči jenom v případě , že je k dispozici i funkce zařízení appDevelopment .

Balíčky imagí služby zabezpečení Azure Sphere pro produkční prostředí při jejich nahrání do cloudu. Balíčky imagí podepsané produkčním prostředím je možné načíst bokem nebo načíst z cloudu.

Aby se zabránilo instalaci podvodného softwaru, je možné aplikace načíst na zařízení Azure Sphere pouze dvěma způsoby:

  • Zkušební načtení, které lze použít jak pro vývoj softwaru, tak pro testování a pro údržbu zařízení v terénu. Zkušební načtení pro vývoj a testování softwaru vyžaduje schopnost zařízení appDevelopment. Zkušební načtení pro údržbu polí vyžaduje schopnost zařízení fieldServicing a balíčky imagí podepsaných v produkčním prostředí. Visual Studio i Visual Studio Code načítá aplikace bokem během vývoje a ladění; Ruční načtení můžete provést také pomocí Azure Sphere CLI.

  • Aktualizace cloudu, kterou může provádět pouze služba zabezpečení Azure Sphere. K vytváření a správě cloudových nasazení použijte Azure Sphere CLI.

Partnerské aplikace

Aplikace, které spolupracují, se dají považovat za partnerské aplikace a pak je možné je samostatně načíst bokem. Když načtete aplikaci, která má partnera, zůstane partnerová aplikace na zařízení Azure Sphere, pokud už je nasazená. Každá aplikace deklaruje seznam svých partnerů v konfiguraci projektu.

Pokud chcete do konfigurace projektu CMake přidat partnery, zadejte ID komponenty partnerské aplikace v poli PartnerComponents v části konfigurace launch.vs.json nebo souboru .vscode/launch.json:

"partnerComponents": [ "25025d2c-66da-4448-bae1-ac26fcdd3627" ]

Aplikace vysoké úrovně a aplikace RTApps, které spolu komunikují, musí být identifikovány jako partneři. Azure Sphere nepodporuje komunikaci mezi páry aplikací vysoké úrovně nebo párů RTApps.