Vytvoření aplikace vysoké úrovně
Nejjednodušší způsob, jak vytvořit novou aplikaci vysoké úrovně, je začít s prázdnou šablonou z rozšíření Azure Sphere pro Visual Studio Code a upravit konfiguraci projektu pomocí těchto kroků:
Spusťte Visual Studio Code. Vyberte Zobrazit>paletu příkazů a zadejte Azure Sphere: Generate New Project (Azure Sphere: Generate New Project).
V nabídce Šablony zvolte HL Prázdné.
Visual Studio Code pak zobrazí okno Průzkumník souborů. Přejděte do složky, kam chcete umístit prázdnou aplikaci, a zadejte název projektu, například NewHLApp. Visual Studio Code vytvoří složku NewHLApp ve vybraném umístění a vygeneruje soubory sestavení pro prázdnou aplikaci. Měly by se zobrazit zprávy z CMake.
Otevřete soubor CMakeLists.txt a zadejte složku obsahující definice hardwaru, který používáte. Ve výchozím nastavení prázdná aplikace HL neobsahuje žádné definice hardwaru. Ukázkové definice hardwaru najdete v úložišti ukázek Azure Sphere nebo si je můžete vytvořit podle popisu v tématu Definice hardwaru.
Následuje postup přidání ukázkových definic hardwaru pro sadu Seeed Azure Sphere MT3620 Development Kit:
azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DIRECTORY "HardwareDefinitions/mt3620_rdb" TARGET_DEFINITION "sample_appliance.json")
Tento řádek by měl být vložen před poslední příkaz, který začíná
azsphere_target_add_image_package
.
Můžete také vytvořit novou aplikaci na vysoké úrovni z některé z ukázek Azure Sphere na vysoké úrovni:
Pokud jste to ještě neudělali, naklonujte úložiště ukázek . Zkopírujte jednu ze složek aplikací vysoké úrovně a přejmenujte ji pro svůj projekt.
V souboru CMakeLists.txt změňte název projektu na název nové složky. Příklad:
PROJECT(NewHLApp C)
Nejjednodušší způsob, jak vytvořit novou aplikaci vysoké úrovně, je začít s prázdnou šablonou z rozšíření Azure Sphere sady Visual Studio a upravit konfiguraci projektu pomocí těchto kroků:
Spusťte Visual Studio a vyberte Vytvořit nový projekt.
Do vyhledávacího pole s popiskem Hledat šablony zadejte
Azure Sphere
. Z vráceného seznamu vyberte Azure Sphere HLCore Blank a pak vyberte Další.Zadejte název projektu (například NewHLApp), umístění souboru projektu a název řešení (který může být stejný jako název projektu) a pak vyberte Vytvořit. Visual Studio vytvoří složku NewHLpp ve vybraném umístění a vygeneruje soubory sestavení pro prázdnou aplikaci. Měly by se zobrazit zprávy z CMake.
Otevřete soubor CMakeLists.txt a zadejte složku obsahující definice hardwaru, který používáte. Ve výchozím nastavení prázdná aplikace HL neobsahuje žádné definice hardwaru. Ukázkové definice hardwaru najdete v úložišti ukázek Azure Sphere nebo si je můžete vytvořit podle popisu v tématu Definice hardwaru.
Následuje postup přidání ukázkových definic hardwaru pro sadu Seeed Azure Sphere MT3620 Development Kit:
azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DIRECTORY "HardwareDefinitions/mt3620_rdb" TARGET_DEFINITION "sample_appliance.json")
Tento řádek by měl být vložen před poslední příkaz, který začíná
azsphere_target_add_image_package
.
Můžete také vytvořit novou aplikaci na vysoké úrovni z některé z ukázek Azure Sphere na vysoké úrovni:
Pokud jste to ještě neudělali, naklonujte úložiště ukázek . Zkopírujte jednu ze složek aplikací vysoké úrovně a přejmenujte ji pro svůj projekt.
V souboru CMakeLists.txt změňte název projektu na název nové složky. Příklad:
PROJECT(NewHLApp C)
Nejjednodušší způsob, jak vytvořit novou aplikaci na vysoké úrovni, je začít s některou z ukázek Azure Sphere vysoké úrovně:
Pokud jste to ještě neudělali, naklonujte úložiště ukázek . Zkopírujte jednu ze složek aplikací vysoké úrovně a přejmenujte ji pro svůj projekt.
V souboru CMakeLists.txt změňte název projektu na název nové složky. Příklad:
PROJECT(NewHLApp C)
Základní struktura souborů aplikace vysoké úrovně
Bez ohledu na to, jak aplikaci vytvoříte, všechny aplikace Azure Sphere sdílejí následující základní soubory:
- Zdrojový kód aplikace v jednom nebo více souborech. V současné době se podporuje pouze zdrojový kód jazyka C.
- Soubory sestavení CMake CMakeLists.txt je povinný. CMake společně s odlehčeným nástrojem pro sestavení ninja slouží k řízení procesu sestavení aplikace Azure Sphere.
- Soubor manifestu aplikace popisující možnosti dostupné pro aplikaci.
Aplikace vysoké úrovně mají obvykle aspoň tři další soubory:
- Soubor applibs-versions.h pro určení úrovní verzí různých rozhraní API Azure Sphere
- Dva soubory definic hardwaru (upravitelná verze ve formátu JSON a jazyk C obsahují soubor, který je z něj vygenerovaný), které poskytují pohodlný způsob, jak odkazovat na hardwarové komponenty v kódu. S konzistentní sadou souborů definic hardwaru můžete psát zdrojový kód nezávislý na hardwaru a pak vytvářet image aplikací pro konkrétní hardware tak, že jednoduše znovu zacílíte na příslušný definiční soubor hardwaru v souboru CMakeLists.txt.
Napsání kódu
- Napište kód aplikace pomocí ukázek aplikací Azure Sphere vysoké úrovně jako vodítka. Následující témata popisují konkrétní scénáře implementace:
- Použití periferních zařízení v aplikaci vysoké úrovně
- Připojení k webovým službám
- Použití wolfSSL pro připojení TLS
- Správa certifikátů
- Principy využití paměti
- Odložení aktualizací zařízení
- Správa času a používání hodin v reálném čase
- Použití úložiště zařízení
- Komunikace s aplikací podporujícími v reálném čase
- Správa stavu vypnutí
- Nastavení profilů napájení
- Provádění zjišťování služeb
- V souboruCMakeLists.txt:
- Určení revize nástrojů sady Azure Sphere SDK
- Určení cílové sady rozhraní API
- Určení cílového hardwaru
- V souboru app_manifest.json:
- Nastavte
Name
na název projektu. - Přidejte všechny funkce specifické pro aplikaci, které váš kód vyžaduje, například hardwarové prostředky nebo připojení. Pokud aplikace vysoké úrovně komunikuje s aplikací RTApp, přidejte do
AllowedApplicationConnections
funkce ID komponenty aplikace vysoké úrovně.
- Nastavte
Pokud chcete nasadit aplikaci vysoké úrovně společně s partnerskou aplikací podporující v reálném čase, přidejte ID komponenty partnera do pole partnerComponents v části konfigurace souboru launch.vs.json (Visual Studio) nebo .vscode/launch.json (Visual Studio Code):
"partnerComponents": [ "25025d2c-66da-4448-bae1-ac26fcdd3627" ]