Internet of things (IoT) úspěšně překonal svou hype fázi a nyní se postupně dostáváme do situace, kdy to začíná být k něčemu dobré a je na čase začít to brát vážně. Proto jsem pro vás připravil workshop, který se tohoto tématu týká.

Stručně: Workshop se bude konat dne 20. 6. 2024 v Praze; pořádá ho počítačová škola Gopas. Jeho cena je 4990 Kč a objednat si ho můžete na webu Gopasu.

Komu je workshop určen

Cílová skupina jsou .NET programátoři, kteří se chtějí naučit programovat mikrokontrolery a propojit je se svými "velkými" aplikacemi v .NETu. Tutoriálů ve stylu "jak začít s Arduinem" je plný Internet, ale pokročilejší témata chybí. Navíc ve firemní praxi obvykle nestačí naprogramovat nějakou malou krabičku s procesorem, ale je ji třeba začlenit do většího systému, aby spolupracovala s existujícím softwarem a podobně.

Budu předpokládat, že máte základní znalosti programování v .NETu, že umíte napsat běžnou webovou nebo konzolovou aplikaci. Naopak se od vás neočekávají žádné předchozí znalosti programování mikrokontrolerů, elektroniky, pájení a drátování. Pokud je máte, nebudou vám překážet, ale mít je nemusíte.

Budete potřebovat jenom vlastní notebook s možností instalovat software (zejména Visual Studio Code a pluginy do něj). Všechno ostatní dostanete v ceně kurzu.

Co se naučíte?

V první řadě vám ukážu základy obecného programování mikrokontrolerů. Nejprve vám ukážu použití vizuálního nástroje M5Flow, který sice působí trochu jako hračka pro děti, ale pro řadu scénářů je překvapivě dobře použitelný. Hlavně budeme ale používat PlatformIO. To je takové lepší Arduino IDE. To můžete použít taky, ale pokládám ho za dost omezené a pro již znalé programátory ne zcela pohodlné. Mnou představovaná platforma ESP32 se dá programovat i mnoha různými způsoby, pomocí jazyka Python, Lua, Rust a dokonce i v .NETu pomocí .NET NanoFrameworku, ale o tom možná někdy příště.

Pak se podíváme na to, jak propojit mikrokontroler s PC nebo serverovou aplikací:

V důsledku se naučíte, jak propojit svět běžných (nejenom) webových aplikací se světem IoT a mikrokontrolerů. Můžete tak zařídit, že stisknutím tlačítka na webu se něco stane ve fyzickém světě, třeba se odemknou dveře. Nebo naopak, pokud se něco stane ve fyzickém světě, dozví se o tom váš server a může na to reagovat. Můžete tak malá a levná zařízení používat jako smysly a svaly a .NET jako mozek.

Jaké zařízení budeme používat

V ceně workshopu dostanete M5Stack Core S3 a ENVIII senzor. To obsahuje procesor (lépe řečeno SoC, system on chip) ESP32-S3.

M5Stack Core S3 a ENVIII senzor
M5Stack Core S3 a ENVIII senzor

ESP32 je řada čipů od společnosti Espressif, které jsou velmi populární jak pro hobby vývoj tak pro profesionální návrh zařízení. Existuje k nim výborná dokumentace a podpora pro řadu programovacích jazyků. Varianta ESP32-S3 je v současnosti nejvýkonnější.

M5Stack Core S3 je vývojový kit, který obsahuje řadu vstupních a výstupních zařízení a je součástí modulárního systému, kde můžete jednoduše propojit různé komponenty bez nutnosti něco pájet nebo laborovat se součástkami na breadboardu.

M5Stack Core S3 + DIN Base
M5Stack Core S3 + DIN Base - pohled ze všech stran

Tento vývojový kit představuje dobrý základ k tomu, abyste se mohli naučit programovat mikrokontrolery a nebyli omezováni tím, že vám něco chybí. Je na IoT svět relativně drahý (na RpiShopu stojí 1404 Kč + 156 Kč bez DPH), ale koncová zařízení jsou výrazně levnější (hotové vývojové desky lze koupit za ceny v řádech desetikorun). U kitu platíte za pohodlnost a za možnost vyvíjet software bez nutnosti řešit hardware.

Kdy a kde se bude workshop konat

Pokud byste se workshopu rádi zúčastnili, ale v tomto termínu nemůžete, nezoufejte. Napište o svém zájmu mně nebo Gopasu. Pokud bude zájem, vyhlásíme další termín nebo najdeme nějaké jiné řešení.