Jan Holešínský

Vývojářský blog Jana Holešínského

Podle kategorie

Windows 10 IoT Core a debugging headless aplikací

Jan Holešínský       10.11.2017       .NET, IoT       8375 zobrazení

Ze slova IoT neboli Internet of Things se v poslední době stává “buzzword” a v podstatě každý, kdo pracuje se single-board počítači tvrdí, že používá skvělou novinkou IoT, spousta lidí zapomíná, že embedded počítače jsou dostupné již dlouhou dobu a pouze se v poslední době dostaly více do povědomí. Účelem těchto zařízení je získávání dat, jejich zpracování a následné odeslání ať již lokálně nebo do cloudu. Microsoft disponuje systémem Windows 10 IoT Core, který je nejmenší verzí Windwos 10 a je navržen tak, aby Vám pomohl vytvářet propojení mezi zařízeními všech velikostí a typů.

V případě, že používáte tyto malé počítače, tak většinou předpokládáte, že budou fungovat 24/7 bez jakýchkoliv výpadků a nebude se o ně muset starat. Windows 10 IoT Core umožňuje spouštění dvou hlavních druhů aplikací, tzv headed a headless, což v praxi znamená, že jeden typ má GUI a druhý nikoliv. Pro minimalizování možnosti vzniku chyby je potřeba, aby byly aplikace co nejjednodušší a neměly žádné přebytečné mechanismy, které by mohly vést k jejich pádu.

Výše zmíněné požadavky mluví ve prospěch headless aplikací, ke kterým je možné v případě potřeby grafické vizualizace přidat komunikaci s druhou aplikací, která bude představovat GUI. Jak zprovoznit komunikaci mezi headed a headless aplikacemi se budu věnovat v nějakém dalším příspěvku.

Headless aplikace

Používání headless neboli background aplikací pro WIndows 10 IoT Core je možné po stažení templatu z Visual Studio Gallery nebo přímo ve Visual Studiu jako rozšíření v dialogu Extension and Updates (Tools > Extensions and Updates > Online). Background aplikace podporují jazyky (C++, C#, JavaScript a Visual Basic), já osobně preferuji C#. Po založení nového projektu pomocí template se Vám vytvoří třída StartupTask.cs, který vypadá následovně:

Třída StartupTask

V horní části obrázku si můžete všimnout, že je poskytnuta dokumentace k templatu, kde je detailně popsáno, jak přesně background aplikace funguje.

debugging

V případě, že nechcete pokaždé čekat na nahrání aplikace na zařízení s WIndows 10 IoT Core a násladný pomalý vzdálený debugging budete potřebovat debugging lokální, na vašem počítači. Při pokusu o spuštění headless aplikace na Vás vyskočí upozornění, že vaše aplikace je blokována zásadami skupiny nebo anglicky This program is blocked by group policy. For more information, contact your system administrator. Pro vyřešení tohoto problému je potřeba zapnout embedded mode.

image

Embedded mode

Většinu programátorů napadne zkusit zapnout Embedded mode ve službách (Services) přímo ve Windows. To samozřejmě lze, ale embedded mode se okamžitě zastaví a aplikaci pořád nespustíte jinde než na Windows 10 IoT Core. Pro zprovoznění lokálního debuggingu je nutné vytvořit vlastní provisioning package s použitím Imaging and Configuration Designeru. Microsoft ve své oficiální dokumentaci ukazuje přesný postup, jak balíček vytvořit. V případě, že se Vám nechce instalovat hromadu balastu a vytvářet balíček, tak přidávám odkaz, kde je možné si jej stáhnout a poté stačí pouze dovjklikem spustit a budete moci vaše IoT aplikace pohodlně debugovat i na vašem počítači.

 

hodnocení článku

0       Hodnotit mohou jen registrované uživatelé.

 

Nový příspěvek

 

Příspěvky zaslané pod tento článek se neobjeví hned, ale až po schválení administrátorem.

                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

Příspěvky zaslané pod tento článek se neobjeví hned, ale až po schválení administrátorem.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback