

> Sketchnote vytvořil [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -203,7 +203,7 @@ Jako druhý krok 'Hello World' spustíte aplikaci CounterFit a připojíte k ní
Aplikace se spustí a otevře ve vašem webovém prohlížeči:


Bude označena jako *Disconnected* a LED v pravém horním rohu bude vypnutá.
@ -224,7 +224,7 @@ Jako druhý krok 'Hello World' spustíte aplikaci CounterFit a připojíte k ní
1. V tomto novém terminálu spusťte soubor `app.py` jako dříve. Stav CounterFit se změní na **Connected** a LED se rozsvítí.


> 💁 Tento kód najdete ve složce [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device).


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -38,7 +38,7 @@ IoT aplikace se skládá ze dvou hlavních částí: *Internetu* a *zařízení*
Tato zařízení interagují s fyzickým světem buď pomocí senzorů, které sbírají data z okolí, nebo pomocí výstupů či akčních členů, které provádějí fyzické změny. Typickým příkladem je chytrý termostat – zařízení, které má teplotní senzor, prostředek pro nastavení požadované teploty, jako je otočný knoflík nebo dotyková obrazovka, a připojení k topnému nebo chladicímu systému, který lze zapnout, když je detekovaná teplota mimo požadovaný rozsah. Teplotní senzor zjistí, že je v místnosti příliš chladno, a akční člen zapne topení.


Existuje obrovská škála různých zařízení, která mohou fungovat jako IoT zařízení, od specializovaného hardwaru, který snímá jednu věc, až po univerzální zařízení, dokonce i váš chytrý telefon! Chytrý telefon může pomocí senzorů detekovat okolní svět a pomocí akčních členů s ním interagovat – například pomocí GPS senzoru zjistit vaši polohu a pomocí reproduktoru vám poskytnout navigační pokyny k cíli.
@ -54,7 +54,7 @@ Zařízení se také nemusí vždy připojovat přímo k internetu přes WiFi ne
V případě chytrého termostatu by se termostat připojil k domácí WiFi a následně ke cloudové službě. Odesílal by data o teplotě do této služby, kde by byla uložena do databáze, což by umožnilo majiteli domu kontrolovat aktuální a historické teploty pomocí aplikace na telefonu. Jiná služba v cloudu by věděla, jakou teplotu majitel domu požaduje, a posílala by zprávy zpět do IoT zařízení přes cloudovou službu, aby řídila topný systém.


Ještě chytřejší verze by mohla využívat AI v cloudu s daty z dalších senzorů připojených k jiným IoT zařízením, jako jsou senzory obsazenosti, které detekují, které místnosti jsou využívány, stejně jako data o počasí nebo váš kalendář, aby inteligentně nastavovala teplotu. Například by mohla vypnout topení, pokud zjistí z vašeho kalendáře, že jste na dovolené, nebo vypnout topení v jednotlivých místnostech podle toho, které místnosti používáte, a postupně se učit z dat, aby byla stále přesnější.
@ -94,7 +94,7 @@ Rychlost hodin je měřena v [Hertzích (Hz)](https://wikipedia.org/wiki/Hertz),
> 💁 CPU vykonávají programy pomocí [cyklu načtení-dekódování-vykonání](https://wikipedia.org/wiki/Instruction_cycle). Každý tik hodin CPU načte další instrukci z paměti, dekóduje ji a poté ji vykoná, například pomocí aritmeticko-logické jednotky (ALU) k sečtení dvou čísel. Některé instrukce trvají více tiků, takže další cyklus začne po dokončení předchozí instrukce.


Mikrokontroléry mají mnohem nižší rychlosti hodin než stolní nebo přenosné počítače, nebo dokonce většina chytrých telefonů. Například Wio Terminal má CPU, který běží na 120 MHz, tedy 120 000 000 cyklů za sekundu.
@ -182,7 +182,7 @@ Desky Arduino se programují v jazycích C nebo C++. Použití C/C++ umožňuje,
Do funkce `setup` byste napsali svůj inicializační kód, například připojení k WiFi a cloudovým službám nebo inicializaci pinů pro vstup a výstup. Do funkce `loop` byste pak napsali zpracovatelský kód, například čtení ze senzoru a odesílání hodnoty do cloudu. Obvykle byste do každé smyčky přidali zpoždění, například pokud chcete, aby se data ze senzoru odesílala každých 10 sekund, přidali byste na konci smyčky zpoždění 10 sekund, aby mikrokontrolér mohl spát, šetřit energii, a poté spustit smyčku znovu, když je potřeba.


✅ Tato architektura programu je známá jako *event loop* nebo *message loop*. Mnoho aplikací ji používá na pozadí a je standardem pro většinu desktopových aplikací, které běží na OS jako Windows, macOS nebo Linux. Funkce `loop` naslouchá zprávám z komponent uživatelského rozhraní, jako jsou tlačítka, nebo zařízení, jako je klávesnice, a na ně reaguje. Více si můžete přečíst v tomto [článku o event loop](https://wikipedia.org/wiki/Event_loop).
# Interakce s fyzickým světem pomocí senzorů a akčních členů


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -92,7 +92,7 @@ Digitální senzory, stejně jako analogové senzory, detekují svět kolem sebe
Nejjednodušším digitálním senzorem je tlačítko nebo spínač. Jedná se o senzor se dvěma stavy, zapnuto nebo vypnuto.


Piny na IoT zařízeních, jako jsou GPIO piny, mohou tento signál přímo měřit jako 0 nebo 1. Pokud je napětí odeslané stejné jako napětí vrácené, hodnota je 1, jinak je hodnota 0. Není potřeba signál převádět, může být pouze 1 nebo 0.
@ -125,7 +125,7 @@ Mezi běžné akční členy patří:
Postupujte podle příslušného návodu níže a přidejte akční člen do svého IoT zařízení, který bude ovládán senzorem, abyste vytvořili IoT noční světlo. Bude shromažďovat úrovně světla ze světelného senzoru a používat akční člen ve formě LED diody k vyzařování světla, když je detekovaná úroveň světla příliš nízká.


* [Jednodeskový počítač - Raspberry Pi](pi-actuator.md)
@ -140,7 +140,7 @@ Stejně jako senzory, akční členy mohou být buď analogové, nebo digitáln
Analogové akční členy přijímají analogový signál a převádějí jej na nějakou formu interakce, kde se interakce mění na základě dodaného napětí.
Jedním z příkladů je stmívatelné světlo, například to, které můžete mít doma. Množství dodaného napětí určuje, jak jasně svítí.


Stejně jako u senzorů, skutečné IoT zařízení pracuje s digitálními signály, nikoli analogovými. To znamená, že k odeslání analogového signálu potřebuje IoT zařízení převodník z digitálního na analogový signál (DAC), buď přímo na IoT zařízení, nebo na připojovací desce. Ten převede 0 a 1 z IoT zařízení na analogové napětí, které může aktuátor využít.
@ -187,7 +187,7 @@ Digitální aktuátory, stejně jako digitální senzory, mají buď dva stavy o
Jednoduchým digitálním aktuátorem je LED dioda. Když zařízení pošle digitální signál 1, odešle se vysoké napětí, které LED diodu rozsvítí. Když se pošle digitální signál 0, napětí klesne na 0V a LED dioda se vypne.


✅ Jaké další jednoduché dvoustavové aktuátory vás napadají? Jedním příkladem je solenoid, což je elektromagnet, který lze aktivovat k provádění úkonů, jako je pohyb závory dveří při zamykání/odemykání.
1. Vyberte svou oblíbenou LED diodu a vložte její nožičky do dvou otvorů na modulu LED.
@ -40,7 +40,7 @@ Připojte LED.
1. S vypnutým Raspberry Pi připojte druhý konec Grove kabelu k digitální zásuvce označené **D5** na Grove Base hat připojeném k Pi. Tato zásuvka je druhá zleva v řadě zásuvek vedle GPIO pinů.


1. Zasuňte jeden konec Grove kabelu do konektoru na modulu světelného senzoru. Kabel lze zasunout pouze jedním způsobem.
1. S vypnutým Raspberry Pi připojte druhý konec Grove kabelu do analogového konektoru označeného **A0** na Grove Base hat připojeném k Pi. Tento konektor je druhý zprava v řadě konektorů vedle GPIO pinů.




> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -47,7 +47,7 @@ MQTT je nejpopulárnější komunikační protokol pro IoT zařízení a je pokr
MQTT má jednoho brokeru a více klientů. Všichni klienti se připojují k brokeru, který směruje zprávy relevantním klientům. Zprávy jsou směrovány pomocí pojmenovaných témat, místo aby byly odesílány přímo jednotlivým klientům. Klient může publikovat do tématu a všichni klienti, kteří se k tomuto tématu přihlásí, obdrží zprávu.


✅ Udělejte si průzkum. Pokud máte mnoho IoT zařízení, jak zajistíte, že váš MQTT broker zvládne všechny zprávy?
@ -69,7 +69,7 @@ Namísto řešení složitostí nastavení MQTT brokeru jako součást tohoto ú
> 💁 Tento testovací broker je veřejný a není zabezpečený. Kdokoliv může poslouchat, co publikujete, takže by neměl být používán s daty, která je třeba uchovat v soukromí.


Postupujte podle relevantního kroku níže pro připojení vašeho zařízení k MQTT brokeru:
@ -350,7 +350,7 @@ Pro stroje byste možná chtěli data uchovat, zejména pokud se používají k
Návrháři IoT zařízení by také měli zvážit, zda lze IoT zařízení používat během výpadku internetu nebo ztráty signálu způsobené lokalitou. Chytrý termostat by měl být schopen provádět některá omezená rozhodnutí o řízení vytápění, pokud nemůže odesílat telemetrii do cloudu kvůli výpadku.
[](https://twitter.com/internetofshit/status/1315736960082808832)
[](https://twitter.com/internetofshit/status/1315736960082808832)
Aby MQTT zvládlo ztrátu připojení, musí být zařízení a serverový kód zodpovědné za zajištění doručení zpráv, pokud je to potřeba, například vyžadováním, aby na všechny odeslané zprávy byly odpovězeno dalšími zprávami na odpovědním tématu. Pokud ne, jsou ručně zařazeny do fronty k pozdějšímu přehrání.
@ -358,7 +358,7 @@ Aby MQTT zvládlo ztrátu připojení, musí být zařízení a serverový kód
Příkazy jsou zprávy odeslané z cloudu do zařízení, které mu nařizují něco udělat. Většinou to zahrnuje nějaký výstup přes akční člen, ale může to být i instrukce pro samotné zařízení, například restartovat nebo shromáždit další telemetrii a vrátit ji jako odpověď na příkaz.


Termostat by mohl přijmout příkaz z cloudu k zapnutí topení. Na základě telemetrických dat ze všech senzorů cloudová služba rozhodla, že topení by mělo být zapnuto, a tak odešle příslušný příkaz.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -102,7 +102,7 @@ Postup, jak to udělat ručně, je následující:
Například, pokud je nejvyšší teplota za den 25 °C a nejnižší 12 °C:


@ -33,7 +33,7 @@ Jakmile máte teplotní data, můžete použít Jupyter Notebook v tomto repozit
Jupyter se spustí a otevře notebook ve vašem prohlížeči. Projděte si instrukce v notebooku, vizualizujte naměřené teploty a vypočítejte růstové stupně (GDD).
1. Zasuňte jeden konec kabelu Grove do konektoru na senzoru vlhkosti a teploty. Kabel lze zasunout pouze jedním směrem.
1. S vypnutým Raspberry Pi připojte druhý konec kabelu Grove do digitálního konektoru označeného **D5** na Grove Base hat připojeném k Pi. Tento konektor je druhý zleva v řadě konektorů vedle GPIO pinů.


@ -13,7 +13,7 @@ I²C má sběrnici složenou ze 2 hlavních vodičů spolu s 2 napájecími vodi
| VCC | Voltage common collector | Napájení pro zařízení. Je připojeno k vodičům SDA a SCL, aby jim poskytovalo napájení přes pull-up rezistor, který vypíná signál, když žádné zařízení není řadičem. |
| GND | Ground | Poskytuje společnou zem pro elektrický obvod. |


Pro přenos dat jedno zařízení vydá startovací podmínku, aby ukázalo, že je připraveno posílat data. Poté se stane řadičem. Řadič následně pošle adresu zařízení, se kterým chce komunikovat, spolu s informací, zda chce data číst nebo zapisovat. Po přenosu dat řadič pošle stopovací podmínku, aby naznačil, že skončil. Poté se jiné zařízení může stát řadičem a posílat nebo přijímat data.
@ -20,7 +20,7 @@ Tyto kroky budete muset opakovat několikrát, pokaždé s různou vlhkostí pů
Gravimetrická vlhkost půdy se vypočítá jako:


* W
- hmotnost mokré půdy
@ -29,7 +29,7 @@ Gravimetrická vlhkost půdy se vypočítá jako:
Například, máte vzorek půdy, který váží 212 g mokrý a 197 g suchý.
@ -18,13 +18,13 @@ Senzor vlhkosti půdy Grove lze připojit k Raspberry Pi.
Připojte senzor vlhkosti půdy.


1. Zasuňte jeden konec kabelu Grove do konektoru na senzoru vlhkosti půdy. Kabel lze zasunout pouze jedním směrem.
1. S vypnutým Raspberry Pi připojte druhý konec kabelu Grove do analogového konektoru označeného **A0** na Grove Base Hat připojeném k Raspberry Pi. Tento konektor je druhý zprava v řadě konektorů vedle GPIO pinů.


1. Zasuňte senzor vlhkosti půdy do půdy. Senzor má "nejvyšší poziční čáru" - bílou čáru přes senzor. Zasuňte senzor až k této čáře, ale ne dál.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -32,7 +32,7 @@ IoT zařízení používají nízké napětí. Zatímco to stačí pro senzory a
Řešením je mít čerpadlo připojené k externímu zdroji napájení a použít aktuátor k zapnutí čerpadla, podobně jako byste zapnuli světlo. K zapnutí vypínače stačí malá množství energie (ve formě energie vašeho těla), což připojí světlo k síťovému napájení běžícímu na 110V/240V.
> 🎓 [Síťová elektřina](https://wikipedia.org/wiki/Mains_electricity) označuje elektřinu dodávanou do domácností a podniků prostřednictvím národní infrastruktury v mnoha částech světa.
@ -72,7 +72,7 @@ Když se páka pohybuje, obvykle slyšíte, jak se dotkne elektromagnetu s dobř
Elektromagnet nepotřebuje mnoho energie k aktivaci a přitažení páky, může být ovládán pomocí 3,3V nebo 5V výstupu z IoT vývojové desky. Výstupní obvod může přenášet mnohem více energie, v závislosti na relé, včetně síťového napětí nebo dokonce vyšších úrovní výkonu pro průmyslové použití. Tímto způsobem může IoT vývojová deska ovládat zavlažovací systém, od malého čerpadla pro jednu rostlinu až po masivní průmyslový systém pro celé komerční farmy.


Obrázek výše ukazuje relé Grove. Ovládací obvod se připojuje k IoT zařízení a zapíná nebo vypíná relé pomocí 3,3V nebo 5V. Výstupní obvod má dva terminály, jeden může být napájení nebo uzemnění. Výstupní obvod může zvládnout až 250V při 10A, což je dost pro řadu zařízení napájených ze sítě. Můžete získat relé, která zvládnou ještě vyšší úrovně výkonu.
1. Zasuňte jeden konec Grove kabelu do konektoru na relé. Kabel lze zasunout pouze jedním způsobem.
1. S vypnutým Raspberry Pi připojte druhý konec Grove kabelu do digitálního konektoru označeného **D5** na Grove Base Hat připojeném k Pi. Tento konektor je druhý zleva v řadě konektorů vedle GPIO pinů. Senzor vlhkosti půdy ponechte připojený ke konektoru **A0**.


1. Zasuňte senzor vlhkosti půdy do půdy, pokud tam již není z předchozí lekce.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -46,8 +46,8 @@ To mohlo být velmi drahé, vyžadovalo širokou škálu kvalifikovaných zaměs
Cloud je často žertovně označován jako "počítač někoho jiného". Původní myšlenka byla jednoduchá - místo nákupu počítačů si pronajmete počítač někoho jiného. Někdo jiný, poskytovatel cloudových služeb, by spravoval obrovská datová centra. Byl by zodpovědný za nákup a instalaci hardwaru, správu napájení a chlazení, síťovou infrastrukturu, zabezpečení budovy, aktualizace hardwaru a softwaru, vše. Jako zákazník byste si pronajali počítače, které potřebujete, pronajímali více, když poptávka stoupá, a snižovali počet pronajatých počítačů, když poptávka klesá. Tato cloudová datová centra jsou po celém světě.

Tato datová centra mohou mít rozlohu několika čtverečních kilometrů. Obrázky výše byly pořízeny před několika lety v Microsoft cloudovém datovém centru a ukazují počáteční velikost spolu s plánovanou expanzí. Oblast vyčištěná pro expanzi má přes 5 čtverečních kilometrů.
@ -108,11 +108,11 @@ IoT služby v cloudu tyto problémy řeší. Jsou spravovány velkými poskytova
IoT zařízení se připojují ke cloudové službě buď pomocí SDK zařízení (knihovny, která poskytuje kód pro práci s funkcemi služby), nebo přímo prostřednictvím komunikačního protokolu, jako je MQTT nebo HTTP. SDK zařízení je obvykle nejjednodušší cesta, protože se postará o vše, například o to, jaké témata publikovat nebo odebírat, a jak řešit zabezpečení.


Vaše zařízení pak komunikuje s ostatními částmi vaší aplikace prostřednictvím této služby - podobně jako jste posílali telemetrii a přijímali příkazy přes MQTT. To se obvykle děje pomocí SDK služby nebo podobné knihovny. Zprávy přicházejí z vašeho zařízení do služby, kde je ostatní komponenty vaší aplikace mohou číst, a zprávy mohou být posílány zpět na vaše zařízení.


Tyto služby implementují zabezpečení tím, že znají všechna zařízení, která se mohou připojit a posílat data, buď tím, že jsou zařízení předem registrována u služby, nebo tím, že zařízení mají tajné klíče nebo certifikáty, které mohou použít k registraci u služby při prvním připojení. Neznámá zařízení se nemohou připojit, pokud se o to pokusí, služba připojení odmítne a ignoruje zprávy, které posílají.
@ -124,7 +124,7 @@ Ostatní komponenty vaší aplikace se mohou připojit k IoT službě a zjistit
Nyní, když máte předplatné Azure, můžete se přihlásit k IoT službě. IoT služba od Microsoftu se nazývá Azure IoT Hub.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -28,7 +28,7 @@ V této lekci se zaměříme na:
Serverless, nebo serverless computing, zahrnuje vytváření malých bloků kódu, které se spouštějí v cloudu v reakci na různé typy událostí. Když k události dojde, váš kód se spustí a předají se mu data o této události. Tyto události mohou pocházet z různých zdrojů, včetně webových požadavků, zpráv vložených do fronty, změn dat v databázi nebo zpráv odeslaných IoT zařízeními do IoT služby.


> 💁 Pokud jste někdy používali databázové triggery, můžete si to představit jako něco podobného – kód se spouští na základě události, například vložení řádku.
@ -54,7 +54,7 @@ Pro IoT vývojáře je serverless model ideální. Můžete napsat funkci, kter
Serverless služba od Microsoftu se nazývá Azure Functions.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -52,11 +52,11 @@ Toto jsou scénáře z reálného světa, které se dějí neustále. Některé
Když se zařízení připojuje k IoT službě, používá ID k identifikaci. Problém je, že toto ID může být zkopírováno – hacker by mohl nastavit škodlivé zařízení, které používá stejné ID jako skutečné zařízení, ale posílá falešná data.


Řešením je převést data, která jsou odesílána, do zašifrovaného formátu pomocí hodnoty známé pouze zařízení a cloudu. Tento proces se nazývá *šifrování* a hodnota použitá k šifrování dat se nazývá *šifrovací klíč*.


Cloudová služba pak může data převést zpět do čitelného formátu pomocí procesu nazývaného *dešifrování*, buď pomocí stejného šifrovacího klíče, nebo *dešifrovacího klíče*. Pokud zašifrovanou zprávu nelze dešifrovat klíčem, zařízení bylo hacknuto a zpráva je odmítnuta.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -63,13 +63,13 @@ Země je koule – trojrozměrný kruh. Z tohoto důvodu jsou body definovány r
> 💁 Nikdo přesně neví, proč jsou kruhy rozděleny na 360 stupňů. [Stránka o stupních (úhlech) na Wikipedii](https://wikipedia.org/wiki/Degree_(angle)) pokrývá některé možné důvody.


Zeměpisná šířka se měří pomocí čar, které obkružují Zemi a běží paralelně s rovníkem, rozdělují severní a jižní polokouli na 90° každou. Rovník je na 0°, severní pól je na 90°, také známý jako 90° severní šířky, a jižní pól je na -90°, nebo 90° jižní šířky.
Zeměpisná délka se měří jako počet stupňů na východ a západ. Nulový poledník, označovaný jako *Prime Meridian*, byl v roce 1884 definován jako čára od severního k jižnímu pólu, která prochází [Královskou observatoří v Greenwichi, Anglie](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich).


> 🎓 Poledník je imaginární přímka, která vede od severního pólu k jižnímu pólu a tvoří půlkruh.
@ -100,7 +100,7 @@ Souřadnice bodu se vždy uvádějí jako `zeměpisná šířka, zeměpisná dé
* Zeměpisnou šířku 47.6423109 (47.6423109 stupňů severně od rovníku)
* Zeměpisnou délku -122.1390293 (122.1390293 stupňů západně od Prime Meridian).


## Globální polohové systémy (GPS)
@ -112,7 +112,7 @@ GPS systémy fungují tak, že mají řadu satelitů, které vysílají signál
> 💁 GPS senzory potřebují antény k detekci rádiových vln. Antény zabudované do nákladních aut a aut s vestavěným GPS jsou umístěny tak, aby měly dobrý signál, obvykle na čelním skle nebo střeše. Pokud používáte samostatný GPS systém, například chytrý telefon nebo IoT zařízení, musíte zajistit, aby anténa zabudovaná do GPS systému nebo telefonu měla jasný výhled na oblohu, například byla namontována na čelním skle.


GPS satelity obíhají Zemi, nejsou na pevném bodě nad senzorem, takže data o poloze zahrnují nadmořskou výšku nad hladinou moře i zeměpisnou šířku a délku.
1. Zasuňte jeden konec Grove kabelu do konektoru na GPS senzoru. Kabel lze zasunout pouze jedním směrem.
1. S vypnutým Raspberry Pi připojte druhý konec Grove kabelu do konektoru UART označeného **UART** na Grove Base hat připojeném k Pi. Tento konektor se nachází ve střední řadě na straně blíže k slotu na SD kartu, na opačné straně od USB portů a ethernetového konektoru.


1. Umístěte GPS senzor tak, aby připojená anténa měla viditelnost na oblohu - ideálně vedle otevřeného okna nebo venku. Je snazší získat jasnější signál, pokud anténě nic nepřekáží.
* Nastavte **Source** na `Lat/Lon` a zadejte konkrétní zeměpisnou šířku, délku a počet satelitů použitých k získání GPS fixu. Tato hodnota bude odeslána pouze jednou, takže zaškrtněte políčko **Repeat**, aby se data opakovala každou sekundu.


* Nastavte **Source** na `NMEA` a přidejte některé NMEA věty do textového pole. Všechny tyto hodnoty budou odeslány, s prodlevou 1 sekundy před každou novou větou GGA (fixace polohy).


Můžete použít nástroj jako [nmeagen.org](https://www.nmeagen.org) k vytvoření těchto vět nakreslením na mapě. Tyto hodnoty budou odeslány pouze jednou, takže zaškrtněte políčko **Repeat**, aby se data opakovala jednu sekundu poté, co byla všechna odeslána.
* Nastavte **Source** na GPX soubor a nahrajte GPX soubor s trasovými lokacemi. GPX soubory můžete stáhnout z řady populárních mapovacích a turistických webů, jako je [AllTrails](https://www.alltrails.com/). Tyto soubory obsahují více GPS lokací jako trasu a GPS senzor vrátí každou novou lokaci v intervalech 1 sekundy.


Tyto hodnoty budou odeslány pouze jednou, takže zaškrtněte políčko **Repeat**, aby se data opakovala jednu sekundu poté, co byla všechna odeslána.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -75,7 +75,7 @@ NoSQL databáze se nazývají NoSQL, protože nemají stejnou pevnou strukturu j
> 💁 Navzdory svému názvu některé NoSQL databáze umožňují používat SQL k dotazování na data.


NoSQL databáze nemají předem definované schéma, které by omezovalo způsob ukládání dat. Můžete do nich vkládat jakákoli nestrukturovaná data, obvykle ve formátu JSON. Tyto dokumenty mohou být organizovány do složek, podobně jako soubory na vašem počítači. Každý dokument může mít jiné pole než ostatní dokumenty - například pokud byste ukládali IoT data z vašich zemědělských vozidel, některá mohou mít pole pro data z akcelerometru a rychlosti, jiná mohou mít pole pro teplotu v přívěsu. Pokud byste přidali nový typ nákladního vozu, například s vestavěnými váhami pro sledování hmotnosti přepravovaného zboží, vaše IoT zařízení by mohlo přidat toto nové pole a mohlo by být uloženo bez jakýchkoli změn v databázi.
@ -89,7 +89,7 @@ V této lekci budete používat NoSQL úložiště pro ukládání IoT dat.
V minulé lekci jste zachytili GPS data z GPS senzoru připojeného k vašemu IoT zařízení. Aby bylo možné tato IoT data uložit v cloudu, je potřeba je odeslat do IoT služby. Opět budete používat Azure IoT Hub, stejnou IoT cloudovou službu, kterou jste použili v předchozím projektu.


### Úkol - odesílání GPS dat do IoT Hubu
@ -171,7 +171,7 @@ Studená data jsou ukládána v datových skladech - databázích navržených p
Jakmile data proudí do vašeho IoT Hubu, můžete napsat serverless kód, který bude naslouchat událostem publikovaným na Event-Hub kompatibilním endpointu. Toto je teplá cesta - tato data budou uložena a použita v další lekci pro reportování cesty.


### Úkol - zpracování GPS událostí pomocí serverless kódu
@ -193,7 +193,7 @@ Jakmile data proudí do vašeho IoT Hubu, můžete napsat serverless kód, kter
Účty Azure Storage jsou univerzální službou úložiště, která umožňuje ukládat data různými způsoby. Data můžete ukládat jako blob, do front, do tabulek nebo jako soubory, a to vše současně.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -64,11 +64,11 @@ Jednoduchý příklad - v projektu farmy jste zachytili údaje o vlhkosti půdy.
Pro člověka může být pochopení těchto dat obtížné. Je to jen stěna čísel bez jakéhokoli významu. Jako první krok k vizualizaci těchto dat je možné je vykreslit na čárovém grafu:


Tento graf lze dále vylepšit přidáním čáry, která označuje, kdy byl automatický zavlažovací systém zapnut při hodnotě vlhkosti půdy 450:


Tento graf velmi rychle ukazuje nejen úroveň vlhkosti půdy, ale také body, kdy byl zavlažovací systém zapnut.
@ -84,7 +84,7 @@ Při práci s GPS daty může být nejjasnější vizualizací vykreslení dat n
Práce s mapami je zajímavé cvičení a existuje mnoho možností, jako jsou Bing Maps, Leaflet, Open Street Maps a Google Maps. V této lekci se naučíte o [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) a jak mohou zobrazovat vaše GPS data.
Azure Maps je "sbírka geospace služeb a SDK, které využívají aktuální mapová data k poskytování geografického kontextu webovým a mobilním aplikacím." Vývojáři mají k dispozici nástroje pro vytváření krásných, interaktivních map, které mohou například poskytovat doporučené trasy, informace o dopravních incidentech, navigaci uvnitř budov, vyhledávací funkce, informace o nadmořské výšce, povětrnostní služby a další.
@ -185,7 +185,7 @@ Nyní můžete přejít k dalšímu kroku, kterým je zobrazení mapy na webové
Pokud otevřete svůj soubor `index.html` v webovém prohlížeči, měli byste vidět načtenou mapu zaměřenou na oblast Seattlu.


✅ Experimentujte s parametry zoomu a centra pro změnu zobrazení mapy. Můžete přidat různé souřadnice odpovídající zeměpisné šířce a délce vašich dat pro přemístění mapy.
@ -319,7 +319,7 @@ Pokud provedete požadavek na své úložiště, abyste získali data, můžete
1. Načtěte HTML stránku ve svém prohlížeči. Načte mapu, poté načte všechna GPS data z úložiště a vykreslí je na mapě.


> 💁 Tento kód najdete ve složce [code](../../../../../3-transport/lessons/3-visualize-location-data/code).


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -35,7 +35,7 @@ V této lekci se zaměříme na:
Geofence je virtuální obvod pro geografickou oblast v reálném světě. Geofences mohou být kruhy definované jako bod a poloměr (například kruh o průměru 100 m kolem budovy) nebo polygon pokrývající oblast, jako je školní zóna, hranice města nebo univerzitní či kancelářský kampus.


> 💁 Možná jste již používali geofences, aniž byste o tom věděli. Pokud jste nastavili připomínku pomocí aplikace iOS Reminders nebo Google Keep na základě polohy, použili jste geofence. Tyto aplikace nastaví geofence na základě zadané polohy a upozorní vás, když váš telefon vstoupí do geofence.
@ -212,7 +212,7 @@ Je důležité znát vzdálenost k okraji geofence a kombinovat ji s dalšími i
Například si představte GPS záznamy ukazující, že vozidlo jelo po silnici, která končí vedle geofence. Pokud jediná GPS hodnota není přesná a umístí vozidlo uvnitř geofence, přestože tam není žádný přístup pro vozidla, může být ignorována.


Na obrázku je geofence pokrývající část kampusu Microsoftu. Červená čára ukazuje trasu nákladního vozu jedoucího po dálnici 520, s kruhy označujícími GPS záznamy. Většina záznamů je přesná a odpovídá trase po dálnici 520, ale jeden nepřesný záznam se nachází uvnitř geofence. Tento záznam nemůže být správný – neexistují žádné silnice, po kterých by se nákladní vůz mohl náhle odchýlit z dálnice 520 na kampus a poté se vrátit zpět na dálnici 520. Kód, který kontroluje tuto geofence, bude muset vzít v úvahu předchozí záznamy, než začne jednat na základě výsledků testu geofence.
✅ Jaké další údaje byste potřebovali zkontrolovat, abyste zjistili, zda lze GPS záznam považovat za správný?
@ -284,7 +284,7 @@ Jak si pamatujete z předchozích lekcí, IoT Hub umožňuje přehrávat událos
Odpověď je, že to nemůže! Místo toho můžete definovat více samostatných připojení pro čtení událostí, a každé z nich může spravovat přehrávání nepřečtených zpráv. Tyto se nazývají *consumer groups*. Když se připojíte k endpointu, můžete specifikovat, ke které consumer group se chcete připojit. Každá komponenta vaší aplikace se připojí k jiné consumer group.


Teoreticky se může ke každé consumer group připojit až 5 aplikací, a všechny obdrží zprávy, když dorazí. Nejlepší praxí je mít pouze jednu aplikaci přistupující ke každé consumer group, aby se zabránilo duplicitnímu zpracování zpráv a zajistilo, že při restartování budou všechny zařazené zprávy správně zpracovány. Například pokud spustíte svou Functions aplikaci lokálně i v cloudu, obě budou zpracovávat zprávy, což povede k duplicitním blobům uloženým v úložišti.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -38,7 +38,7 @@ Ne všechny plodiny dozrávají rovnoměrně. Například rajčata mohou mít na
Rozmach automatizované sklizně přesunul třídění plodin ze sklizně do továren. Potraviny se pohybovaly na dlouhých dopravníkových pásech, kde týmy lidí vybíraly plodiny, které neodpovídaly požadovaným kvalitativním standardům. Sklizeň byla díky strojům levnější, ale stále zde byly náklady na ruční třídění potravin.


Další evolucí bylo použití strojů k třídění, buď zabudovaných do sklízecích strojů, nebo v zpracovatelských závodech. První generace těchto strojů používala optické senzory k detekci barev, ovládající akční členy, které zelená rajčata odhazovaly do odpadního koše pomocí pák nebo proudů vzduchu, zatímco červená rajčata pokračovala na síti dopravníkových pásů.
@ -62,7 +62,7 @@ Například můžete modelu poskytnout miliony obrázků nezralých banánů jak
> 🎓 Výsledky modelů ML se nazývají *predikce*.


Modely ML neposkytují binární odpověď, místo toho poskytují pravděpodobnosti. Například model může dostat obrázek banánu a předpovědět `zralý` s 99,7 % a `nezralý` s 0,3 %. Váš kód poté vybere nejlepší predikci a rozhodne, že banán je zralý.
@ -90,7 +90,7 @@ Existuje široká škála nástrojů, které vám s tím mohou pomoci, včetně
Custom Vision je cloudový nástroj pro trénink klasifikátorů obrázků. Umožňuje vám trénovat klasifikátor pomocí pouze malého počtu obrázků. Obrázky můžete nahrávat prostřednictvím webového portálu, webového API nebo SDK, přičemž každému obrázku přiřadíte *tag*, který představuje klasifikaci daného obrázku. Poté model vytrénujete a otestujete, jak dobře funguje. Jakmile jste s modelem spokojeni, můžete publikovat jeho verze, které lze přistupovat prostřednictvím webového API nebo SDK.
> 💁 Model Custom Vision můžete trénovat s pouhými 5 obrázky na klasifikaci, ale více je lepší. Lepších výsledků dosáhnete s alespoň 30 obrázky.
@ -146,7 +146,7 @@ Pro použití Custom Vision musíte nejprve vytvořit dva zdroje kognitivních s
Při vytváření projektu se ujistěte, že používáte zdroj `fruit-quality-detector-training`, který jste vytvořili dříve. Použijte typ projektu *Classification*, typ klasifikace *Multiclass* a doménu *Food*.


✅ Věnujte nějaký čas prozkoumání uživatelského rozhraní Custom Vision pro váš klasifikátor obrázků.
@ -164,7 +164,7 @@ Klasifikátory obrázků pracují s velmi nízkým rozlišením. Například Cus
* Použijte 2 zralé banány, vyfoťte každý z nich z několika různých úhlů, pořiďte alespoň 7 obrázků (5 pro trénink, 2 pro testování), ale ideálně více.


* Opakujte stejný proces s 2 nezralými banány.
@ -174,7 +174,7 @@ Klasifikátory obrázků pracují s velmi nízkým rozlišením. Například Cus
1. Postupujte podle [sekce nahrání a označení obrázků v rychlém startu pro vytvoření klasifikátoru na Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) a nahrajte své trénovací obrázky. Označte zralé ovoce jako `ripe` a nezralé ovoce jako `unripe`.


1. Postupujte podle [sekce trénování klasifikátoru v rychlém startu pro vytvoření klasifikátoru na Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier) a natrénujte klasifikátor obrázků na svých nahraných obrázcích.
@ -192,7 +192,7 @@ Jakmile je váš klasifikátor natrénován, můžete jej otestovat tím, že mu
1. Postupujte podle [dokumentace testování modelu na Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model) a otestujte svůj klasifikátor obrázků. Použijte testovací obrázky, které jste vytvořili dříve, nikoli žádné z obrázků, které jste použili pro trénování.


1. Vyzkoušejte všechny testovací obrázky, které máte k dispozici, a sledujte pravděpodobnosti.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -26,7 +26,7 @@ V této lekci se zaměříme na:
Kamerové senzory, jak název napovídá, jsou kamery, které můžete připojit k vašemu IoT zařízení. Mohou pořizovat statické obrázky nebo zachytávat streamované video. Některé vracejí surová obrazová data, jiné komprimují obrazová data do souborů, jako je JPEG nebo PNG. Obvykle jsou kamery, které fungují s IoT zařízeními, mnohem menší a mají nižší rozlišení, než na jaké jste zvyklí, ale můžete získat kamery s vysokým rozlišením, které se vyrovnají špičkovým telefonům. Můžete si pořídit různé vyměnitelné objektivy, sestavy s více kamerami, infračervené termální kamery nebo UV kamery.


Většina kamerových senzorů používá obrazové senzory, kde každý pixel je fotodioda. Objektiv zaostřuje obraz na obrazový senzor a tisíce nebo miliony fotodiod detekují světlo dopadající na každou z nich a zaznamenávají to jako obrazová data.
@ -74,7 +74,7 @@ Iterace se publikují z portálu Custom Vision.
1. Klikněte na tlačítko **Publikovat** pro danou iteraci.
1. V dialogu *Publikovat model* nastavte *Predikční zdroj* na zdroj `fruit-quality-detector-prediction`, který jste vytvořili v minulé lekci. Název ponechte jako `Iteration2` a klikněte na tlačítko **Publikovat**.
@ -88,7 +88,7 @@ Iterace se publikují z portálu Custom Vision.
Také si zkopírujte hodnotu *Prediction-Key*. Toto je bezpečnostní klíč, který musíte předat při volání modelu. Pouze aplikace, které předají tento klíč, mají povolení používat model, všechny ostatní aplikace jsou odmítnuty.


✅ Když je publikována nová iterace, bude mít jiný název. Jak si myslíte, že byste změnili iteraci, kterou IoT zařízení používá?
@ -109,7 +109,7 @@ Může se stát, že výsledky, které získáte při použití kamery připojen
Abyste dosáhli nejlepších výsledků u klasifikátoru obrázků, chcete model trénovat na obrázcích, které jsou co nejpodobnější obrázkům používaným pro predikce. Pokud jste například použili kameru telefonu k zachycení obrázků pro trénování, kvalita obrázku, ostrost a barvy budou odlišné od kamery připojené k IoT zařízení.


Na obrázku výše byl obrázek banánu vlevo pořízen pomocí kamery Raspberry Pi, zatímco obrázek vpravo byl pořízen stejného banánu na stejném místě pomocí iPhonu. Je zde znatelný rozdíl v kvalitě – obrázek z iPhonu je ostřejší, s jasnějšími barvami a větším kontrastem.
@ -24,17 +24,17 @@ Kamera se k Raspberry Pi připojuje pomocí plochého kabelu.
Animaci, jak otevřít klip a vložit kabel, najdete v [dokumentaci Raspberry Pi Getting Started with the Camera module](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2).


1. Odstraňte Grove Base Hat z Raspberry Pi.
1. Provlékněte plochý kabel otvorem pro kameru v Grove Base Hat. Ujistěte se, že modrá strana kabelu směřuje k analogovým portům označeným **A0**, **A1** atd.


1. Zasuňte plochý kabel do kamerového portu na Raspberry Pi. Opět vytáhněte černý plastový klip nahoru, vložte kabel a poté klip zatlačte zpět. Modrá strana kabelu by měla směřovat k USB a ethernetovým portům.


1. Nasaďte zpět Grove Base Hat.
@ -101,7 +101,7 @@ Naprogramujte zařízení.
Řádek `camera.rotation = 0` nastavuje rotaci obrázku. Plochý kabel vychází ze spodní části kamery, ale pokud je vaše kamera otočena, aby lépe mířila na objekt, který chcete klasifikovat, můžete tento řádek změnit na počet stupňů rotace.


Například pokud zavěsíte plochý kabel nad něco tak, že je nahoře kamery, nastavte rotaci na 180:
@ -84,7 +84,7 @@ Služba Custom Vision má Python SDK, které můžete použít ke klasifikaci ob
Budete schopni vidět obrázek, který byl pořízen, a tyto hodnoty na záložce **Predictions** v Custom Vision.


> 💁 Tento kód najdete ve složce [code-classify/pi](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi) nebo [code-classify/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/virtual-iot-device).
1. Nakonfigurujte obrázek, který kamera v CounterFit zachytí. Můžete buď nastavit *Source* na *File*, poté nahrát obrázkový soubor, nebo nastavit *Source* na *WebCam*, a obrázky budou zachyceny z vaší webové kamery. Ujistěte se, že po výběru obrázku nebo webové kamery stisknete tlačítko **Set**.


1. Obrázek bude zachycen a uložen jako `image.jpg` v aktuální složce. Tento soubor uvidíte v průzkumníku VS Code. Vyberte soubor pro zobrazení obrázku. Pokud je potřeba rotace, upravte řádek `camera.rotation = 0` podle potřeby a pořiďte další snímek.
1. Piny na spodní straně ArduCam musí být připojeny k GPIO pinům na Wio Terminalu. Aby bylo snazší najít správné piny, připevněte kolem pinů nálepku GPIO pinů, která je součástí Wio Terminalu:
@ -35,7 +35,7 @@ Připojte kameru.
| SDA | 3 (I2C1_SDA) | I2C Serial Data |
| SCL | 5 (I2C1_SCL) | I2C Serial Clock |


Připojení GND a VCC poskytuje napájení 5V pro ArduCam. Kamera běží na 5V, na rozdíl od Grove senzorů, které běží na 3V. Toto napájení pochází přímo z USB-C připojení, které napájí zařízení.
@ -456,7 +456,7 @@ Wio Terminal podporuje pouze microSD karty o velikosti až 16GB. Pokud máte vě
1. Vypněte microSD kartu a vysuňte ji mírným zatlačením a uvolněním, a karta vyskočí. Možná budete potřebovat tenký nástroj, abyste to udělali. Připojte microSD kartu k vašemu počítači, abyste si mohli prohlédnout obrázky.


💁 Může trvat několik snímků, než se vyvážení bílé kamery samo upraví. Všimnete si toho podle barvy zachycených snímků, první několik může vypadat barevně nesprávně. Vždy to můžete obejít změnou kódu tak, aby zachytil několik snímků, které jsou ignorovány ve funkci `setup`.
@ -208,7 +208,7 @@ Certifikáty obsahují veřejné klíče a není nutné je uchovávat v tajnosti
Budete schopni vidět obrázek, který byl pořízen, a tyto hodnoty na záložce **Predictions** ve službě Custom Vision.


> 💁 Tento kód najdete ve složce [code-classify/wio-terminal](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/wio-terminal).


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -33,11 +33,11 @@ V této lekci se zaměříme na:
Edge computing zahrnuje použití počítačů, které zpracovávají data IoT co nejblíže místu, kde jsou data generována. Místo zpracování v cloudu se přesouvá na okraj cloudu - do vaší interní sítě.


V dosavadních lekcích jste měli zařízení, která shromažďovala data a odesílala je do cloudu k analýze, kde běžely serverless funkce nebo AI modely.


Edge computing zahrnuje přesun některých cloudových služeb z cloudu na počítače běžící ve stejné síti jako IoT zařízení, přičemž komunikace s cloudem probíhá pouze v případě potřeby. Například můžete spouštět AI modely na edge zařízeních pro analýzu zralosti ovoce a do cloudu odesílat pouze analytická data, jako je počet zralých kusů ovoce oproti nezralým.
@ -85,7 +85,7 @@ Pro IoT systémy budete často chtít kombinaci cloudového a edge computingu, v
Azure IoT Edge je služba, která vám může pomoci přesunout pracovní zátěže z cloudu na okraj. Nastavíte zařízení jako edge zařízení a z cloudu můžete na toto edge zařízení nasadit kód. To vám umožňuje kombinovat schopnosti cloudu a okraje.
@ -99,7 +99,7 @@ IoT Edge je součástí IoT Hubu, takže můžete spravovat edge zařízení pom
IoT Edge spouští kód z *kontejnerů* - samostatných aplikací, které běží izolovaně od ostatních aplikací na vašem počítači. Když spustíte kontejner, chová se jako samostatný počítač běžící uvnitř vašeho počítače, se svým vlastním softwarem, službami a aplikacemi. Většinou kontejnery nemohou přistupovat k ničemu na vašem počítači, pokud se nerozhodnete sdílet například složku s kontejnerem. Kontejner pak zpřístupňuje služby prostřednictvím otevřeného portu, ke kterému se můžete připojit nebo jej zpřístupnit vaší síti.


Například můžete mít kontejner s webovou stránkou běžící na portu 80, což je výchozí HTTP port, a můžete jej zpřístupnit z vašeho počítače také na portu 80.
@ -195,11 +195,11 @@ Jakmile je model natrénován, je třeba jej exportovat jako kontejner.
## Příprava kontejneru pro nasazení


Jakmile stáhnete svůj model, je třeba jej sestavit do kontejneru a poté nahrát do registru kontejnerů – online úložiště, kde můžete kontejnery uchovávat. IoT Edge poté může stáhnout kontejner z registru a nasadit jej na vaše zařízení.
Registr kontejnerů, který budete používat v této lekci, je Azure Container Registry. Tato služba není zdarma, takže abyste ušetřili peníze, ujistěte se, že [vyčistíte svůj projekt](../../../clean-up.md), jakmile skončíte.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -39,7 +39,7 @@ IoT aplikace lze popsat jako *věci* (zařízení), které odesílají data, je
Výše uvedený diagram ukazuje některé komponenty a služby, které byly dosud v těchto lekcích pokryty, a jak se propojují v referenční IoT architektuře.
@ -89,7 +89,7 @@ Musíte vytvořit systém, kde bude ovoce detekováno při příjezdu na dopravn
### Prototypování vaší aplikace


Výše uvedený diagram ukazuje referenční architekturu pro tento prototyp aplikace.
@ -124,7 +124,7 @@ Projděte si příslušného průvodce, jak použít proximity senzor k detekci
Prototyp detektoru ovoce má více komponent, které spolu komunikují.


* Proximity senzor měří vzdálenost k ovoci a odesílá ji do IoT Hubu.
* Příkaz k ovládání kamery přichází z IoT Hubu do zařízení s kamerou.
@ -20,7 +20,7 @@ Senzor Grove Time of Flight lze připojit k Raspberry Pi.
Připojte senzor Time of Flight.


1. Zasuňte jeden konec Grove kabelu do konektoru na senzoru Time of Flight. Kabel lze zasunout pouze jedním způsobem.
@ -20,7 +20,7 @@ Grove senzor Time of Flight lze připojit k Wio Terminalu.
Připojte senzor Time of Flight.


1. Zasuňte jeden konec Grove kabelu do konektoru na senzoru Time of Flight. Kabel lze zasunout pouze jedním způsobem.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -36,7 +36,7 @@ Detekce objektů zahrnuje rozpoznávání objektů na obrázcích pomocí AI. Na
Klasifikace obrázků se zaměřuje na klasifikaci celého obrázku – jaké jsou pravděpodobnosti, že celý obrázek odpovídá každému štítku. Získáte zpět pravděpodobnosti pro každý štítek použitý při trénování modelu.


V příkladu výše jsou dva obrázky klasifikovány pomocí modelu trénovaného na klasifikaci kelímků kešu ořechů nebo plechovek rajčatového protlaku. První obrázek je kelímek kešu ořechů a má dva výsledky z klasifikátoru obrázků:
@ -60,7 +60,7 @@ Když jej pak použijete k předpovědi obrázků, místo seznamu štítků a pr
> 🎓 *Ohraničující rámečky* jsou rámečky kolem objektu.


Obrázek výše obsahuje jak kelímek kešu ořechů, tak tři plechovky rajčatového protlaku. Detektor objektů detekoval kešu ořechy, vrací ohraničující rámeček, který obsahuje kešu ořechy, s procentní pravděpodobností, že ohraničující rámeček obsahuje objekt, v tomto případě 97.6%. Detektor objektů také detekoval tři plechovky rajčatového protlaku a poskytuje tři samostatné ohraničující rámečky, jeden pro každou detekovanou plechovku, a každá má procentní pravděpodobnost, že ohraničující rámeček obsahuje plechovku rajčatového protlaku.
@ -111,7 +111,7 @@ Detektor objektů můžete trénovat pomocí Custom Vision, podobně jako jste t
Při vytváření projektu se ujistěte, že používáte trénovací prostředek `stock-detector-training`, který jste vytvořili dříve. Použijte typ projektu *Detekce objektů* a doménu *Produkty na regálech*.


✅ Doména produktů na regálech je specificky zaměřena na detekci zásob na regálech v obchodech. Přečtěte si více o různých doménách v [dokumentaci Výběr domény na Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/select-domain?WT.mc_id=academic-17441-jabenn#object-detection)
@ -133,11 +133,11 @@ K trénování modelu budete potřebovat sadu obrázků obsahujících objekty,
1. Postupujte podle [sekce Nahrání a označení obrázků v rychlém startu Vytvoření detektoru objektů na Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/get-started-build-detector?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) pro nahrání vašich trénovacích obrázků. Vytvořte relevantní štítky podle typů objektů, které chcete detekovat.


Když kreslíte ohraničující rámečky pro objekty, udržujte je těsně kolem objektu. Může to chvíli trvat, než označíte všechny obrázky, ale nástroj detekuje, co považuje za ohraničující rámečky, což proces urychlí.
> 💁 Pokud máte více než 15 obrázků pro každý objekt, můžete trénovat po 15 a poté použít funkci **Navržené štítky**. Tato funkce použije trénovaný model k detekci objektů na neoznačených obrázcích. Poté můžete potvrdit detekované objekty nebo odmítnout a znovu nakreslit ohraničující rámečky. To může ušetřit *hodně* času.
@ -155,7 +155,7 @@ Jakmile je váš detektor objektů natrénován, můžete jej otestovat tím, ž
1. Použijte tlačítko **Rychlý test** k nahrání testovacích obrázků a ověření, že objekty jsou detekovány. Použijte testovací obrázky, které jste vytvořili dříve, ne žádné z obrázků, které jste použili pro trénování.


1. Vyzkoušejte všechny testovací obrázky, které máte k dispozici, a pozorujte pravděpodobnosti.
1. V dialogu *Publish Model* nastavte *Prediction resource* na zdroj `stock-detector-prediction`, který jste vytvořili v předchozí lekci. Název ponechte jako `Iteration2` a klikněte na tlačítko **Publish**.
@ -76,7 +76,7 @@ Iterace se publikují z portálu Custom Vision.
Také si zkopírujte hodnotu *Prediction-Key*. Jedná se o bezpečnostní klíč, který musíte předat při volání modelu. Pouze aplikace, které tento klíč předají, mohou model používat, ostatní aplikace budou odmítnuty.


✅ Když je publikována nová iterace, bude mít jiný název. Jak myslíte, že byste změnili iteraci, kterou IoT zařízení používá?
@ -95,7 +95,7 @@ Při použití detektoru objektů získáte nejen detekované objekty s jejich
Výsledky predikce na kartě **Predictions** v Custom Vision mají ohraničující rámečky nakreslené na obrázku, který byl odeslán k predikci.


Na obrázku výše byly detekovány 4 plechovky rajčatového protlaku. Ve výsledcích je na každý detekovaný objekt v obrázku překryt červený čtverec, který označuje ohraničující rámeček.
@ -103,7 +103,7 @@ Na obrázku výše byly detekovány 4 plechovky rajčatového protlaku. Ve výsl
Ohraničující rámečky jsou definovány 4 hodnotami - horní, levá, výška a šířka. Tyto hodnoty jsou na škále 0-1, což představuje pozice jako procento velikosti obrázku. Počátek (pozice 0,0) je v levém horním rohu obrázku, takže horní hodnota je vzdálenost od horního okraje a spodní část ohraničujícího rámečku je horní hodnota plus výška.


Výše uvedený obrázek má šířku 600 pixelů a výšku 800 pixelů. Ohraničující rámeček začíná 320 pixelů dolů, což dává horní souřadnici 0,4 (800 x 0,4 = 320). Zleva začíná ohraničující rámeček 240 pixelů, což dává levou souřadnici 0,4 (600 x 0,4 = 240). Výška ohraničujícího rámečku je 240 pixelů, což dává hodnotu výšky 0,3 (800 x 0,3 = 240). Šířka ohraničujícího rámečku je 120 pixelů, což dává hodnotu šířky 0,2 (600 x 0,2 = 120).
@ -118,7 +118,7 @@ Použití procentuálních hodnot od 0 do 1 znamená, že bez ohledu na to, na j
Můžete použít ohraničující rámečky v kombinaci s pravděpodobnostmi k vyhodnocení, jak přesná je detekce. Například detektor objektů může detekovat více objektů, které se překrývají, například detekovat jednu plechovku uvnitř druhé. Váš kód by mohl zkontrolovat ohraničující rámečky, pochopit, že to není možné, a ignorovat jakékoli objekty, které se významně překrývají s jinými objekty.


V příkladu výše jeden ohraničující rámeček označuje předpokládanou plechovku rajčatového protlaku s pravděpodobností 78,3 %. Druhý ohraničující rámeček je o něco menší a je uvnitř prvního rámečku s pravděpodobností 64,3 %. Váš kód může zkontrolovat ohraničující rámečky, zjistit, že se zcela překrývají, a ignorovat nižší pravděpodobnost, protože není možné, aby jedna plechovka byla uvnitř druhé.
@ -67,7 +67,7 @@ Kód, který jste použili pro klasifikaci obrázků, je velmi podobný kódu pr
Budete schopni vidět obrázek, který byl pořízen, a tyto hodnoty na záložce **Predictions** v Custom Vision.


> 💁 Tento kód najdete ve složce [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) nebo [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device).
@ -95,7 +95,7 @@ Kód, který jste použili pro klasifikaci obrázků, je velmi podobný kódu pr
Budete moci vidět obrázek, který byl pořízen, a tyto hodnoty na kartě **Predictions** v Custom Vision.


> 💁 Tento kód najdete ve složce [code-detect/wio-terminal](../../../../../5-retail/lessons/2-check-stock-device/code-detect/wio-terminal).


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -51,7 +51,7 @@ Mikrofony existují v různých typech:
Dynamické mikrofony nepotřebují k práci napájení, elektrický signál je vytvářen výhradně mikrofonem.


* Páskové – Páskové mikrofony jsou podobné dynamickým mikrofonům, ale místo membrány mají kovovou pásku. Tato páska se pohybuje v magnetickém poli a generuje elektrický proud. Stejně jako dynamické mikrofony, páskové mikrofony nepotřebují napájení.
@ -59,11 +59,11 @@ Mikrofony existují v různých typech:
* Kondenzátorové – Kondenzátorové mikrofony mají tenkou kovovou membránu a pevnou kovovou zadní desku. Elektrický proud je aplikován na obě tyto části a jak membrána vibruje, statický náboj mezi deskami se mění a generuje signál. Kondenzátorové mikrofony potřebují napájení – nazývané *Phantom power*.


* MEMS – Mikroelektromechanické systémy mikrofonů, nebo MEMS, jsou mikrofony na čipu. Mají tlakově citlivou membránu vyrytou na křemíkovém čipu a fungují podobně jako kondenzátorové mikrofony. Tyto mikrofony mohou být velmi malé a integrované do obvodů.


Na obrázku výše je čip označený **LEFT**, což je MEMS mikrofon s malou membránou o šířce méně než milimetr.
@ -159,7 +159,7 @@ Aby se předešlo složitosti trénování a používání modelu pro probouzej
## Převod řeči na text


Stejně jako u klasifikace obrázků v dřívějším projektu existují předem vytvořené AI služby, které mohou převést řeč jako zvukový soubor na text. Jednou z těchto služeb je Speech Service, součást Cognitive Services, předem vytvořených AI služeb, které můžete použít ve svých aplikacích.
1. Zasuňte jeden konec Grove kabelu do konektoru na modulu tlačítka. Kabel lze zasunout pouze jedním způsobem.
1. S vypnutým Raspberry Pi připojte druhý konec Grove kabelu do digitálního konektoru označeného **D5** na základní desce Grove připojené k Pi. Tento konektor je druhý zleva v řadě konektorů vedle GPIO pinů.


@ -34,7 +34,7 @@ Mikrofon a reproduktory je třeba připojit a nakonfigurovat.
1. Pokud používáte ReSpeaker 2-Mics Pi HAT, můžete odstranit Grove základní hat a nasadit místo něj ReSpeaker hat.


Později v této lekci budete potřebovat Grove tlačítko, ale jedno je již zabudováno v tomto hatu, takže Grove základní hat není potřeba.
@ -10,7 +10,7 @@ Vestavěný mikrofon zachycuje analogový signál, který je převeden na digit
✅ Přečtěte si více o DMA na [stránce o přímém přístupu do paměti na Wikipedii](https://wikipedia.org/wiki/Direct_memory_access).


DMAC může zachytit zvuk z ADC v pevných intervalech, například 16 000krát za sekundu pro zvuk o frekvenci 16 kHz. Tato zachycená data může zapsat do předem alokovaného paměťového bufferu, a když je tento buffer plný, zpřístupní je vašemu kódu ke zpracování. Použití této paměti může zpozdit zachycení zvuku, ale můžete nastavit více bufferů. DMAC zapisuje do bufferu 1, a když je plný, upozorní váš kód, aby zpracoval buffer 1, zatímco DMAC zapisuje do bufferu 2. Když je buffer 2 plný, upozorní váš kód a vrátí se k zápisu do bufferu 1. Tímto způsobem, pokud zpracujete každý buffer za kratší dobu, než je potřeba k naplnění jednoho, neztratíte žádná data.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -46,7 +46,7 @@ Modely pro porozumění jazyku jsou AI modely, které jsou trénovány na extrak
Modely pro porozumění jazyku můžete vytvářet pomocí LUIS, služby pro porozumění jazyku od Microsoftu, která je součástí Cognitive Services.
@ -169,7 +169,7 @@ Pokyny pro použití portálu LUIS najdete v [dokumentaci Quickstart: Build your
1. Jakmile zadáte každý příklad, LUIS začne detekovat entity a podtrhne a označí ty, které najde.


# Nastavte časovač a poskytněte hlasovou zpětnou vazbu


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
@ -74,7 +74,7 @@ Existuje řada AI služeb, které lze použít z vašich aplikací k překladu
### Cognitive services Speech service


Služba Speech, kterou jste používali v předchozích lekcích, má schopnosti překladu pro rozpoznávání řeči. Když rozpoznáváte řeč, můžete požádat nejen o text řeči ve stejném jazyce, ale také v jiných jazycích.
@ -82,7 +82,7 @@ Služba Speech, kterou jste používali v předchozích lekcích, má schopnosti
### Cognitive services Translator service


Služba Translator je specializovaná překladová služba, která dokáže překládat text z jednoho jazyka do jednoho nebo více cílových jazyků. Kromě překladu podporuje širokou škálu dalších funkcí, včetně maskování vulgarismů. Umožňuje také poskytnout konkrétní překlad pro určité slovo nebo větu, aby pracovala s termíny, které nechcete překládat, nebo měla specifický známý překlad.
@ -25,7 +25,7 @@ REST API služby pro řeč nepodporuje přímé překlady, místo toho můžete
>
> Například pokud trénujete LUIS v angličtině, ale chcete použít francouzštinu jako uživatelský jazyk, můžete věty jako "nastav časovač na 2 minuty a 27 sekund" přeložit z angličtiny do francouzštiny pomocí Bing Translate, a poté použít tlačítko **Poslechnout překlad** k vyslovení překladu do mikrofonu.
>
> 
> 
1. Přidejte klíč API překladatelské služby pod `speech_api_key`:
@ -37,7 +37,7 @@ Služba pro rozpoznávání řeči dokáže nejen převést řeč na text ve ste
>
> Například pokud trénujete LUIS v angličtině, ale chcete použít francouzštinu jako uživatelský jazyk, můžete věty jako „nastav časovač na 2 minuty a 27 sekund“ přeložit z angličtiny do francouzštiny pomocí Bing Translate, a poté použít tlačítko **Poslechnout překlad** k vyslovení překladu do mikrofonu.
>
> 
> 
1. Nahraďte deklarace `recognizer_config` a `recognizer` následujícím:
@ -105,7 +105,7 @@ REST API služby pro řeč nepodporuje přímé překlady, místo toho můžete
>
> Například pokud trénujete LUIS v angličtině, ale chcete použít francouzštinu jako jazyk uživatele, můžete přeložit věty jako "set a 2 minute and 27 second timer" z angličtiny do francouzštiny pomocí Bing Translate, poté použít tlačítko **Listen translation** k přehrání překladu do mikrofonu.
>
> 
> 
1. Přidejte API klíč a umístění překladače pod `SPEECH_LOCATION`:
Pokud narazíte na problémy nebo máte jakékoli otázky ohledně vytváření AI aplikací. Připojte se ke komunitě spolužáků a zkušených vývojářů, kde probíhají diskuze o MCP. Je to podporující komunita, kde jsou otázky vítány a znalosti volně sdíleny.
Pokud se zaseknete nebo máte jakékoli otázky ohledně tvorby AI aplikací, přidejte se k ostatním studentům a zkušeným vývojářům v diskusích o MCP. Je to podpůrná komunita, kde jsou otázky vítány a znalosti se sdílí svobodně.
> Tento repozitář obsahuje více než 50 jazykových překladů, což výrazně zvětšuje velikost stažení. Pro klonování bez překladů použijte sparse checkout:
> **Dáváte přednost klonování lokálně?**
>
> Tento repozitář obsahuje překlady do více než 50 jazyků, což výrazně zvyšuje velikost stahování. Pro klonování bez překladů použijte sparse checkout:
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> To vám poskytne vše potřebné k dokončení kurzu s mnohem rychlejším stažením.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
# IoT pro začátečníky - Výukový program
# IoT pro začátečníky - učební plán
Azure Cloud Advocates v Microsoftu s potěšením představují 12týdenní a 24-lekční výukový program zaměřený na základy IoT. Každá lekce obsahuje před a po lekce kvízy, psané instrukce k dokončení lekce, řešení, úkol a další. Naše projektově orientovaná pedagogika vám umožní učit se během tvorby projektů, což je ověřený způsob, jak si nové dovednosti lépe osvojit.
Obhájci cloudu Azure ve společnosti Microsoft s potěšením nabízejí 12týdenní učební plán s 24 lekcemi o základech IoT. Každá lekce obsahuje kvízy před a po lekci, psané instrukce pro dokončení lekce, řešení, úkol a další. Naše pedagogika založená na projektech vám umožní učit se při tvorbě, což je osvědčený způsob, jak si nové dovednosti opravdu osvojit.
Projekty pokrývají cestu jídla od farmy až na stůl. Zahrnují zemědělství, logistiku, výrobu, maloobchod a spotřebitele - všechna oblíbená průmyslová odvětví pro IoT zařízení.
Projekty pokrývají cestu potravin od farmy až na stůl. Zahrnují zemědělství, logistiku, výrobu, maloobchod a spotřebitele – to vše jsou populární oblasti průmyslu pro IoT zařízení.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro zvětšení.
> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Klikněte na obrázek pro větší verzi.
**Srdečné díky našim autorům [Jen Fox](https://github.com/jenfoxbot), [Jen Looper](https://github.com/jlooper), [Jim Bennett](https://github.com/jimbobbennett) a naší sketchnote umělkyni [Nitya Narasimhan](https://github.com/nitya).**
**Srdceplné díky našim autorům [Jen Fox](https://github.com/jenfoxbot), [Jen Looper](https://github.com/jlooper), [Jim Bennett](https://github.com/jimbobbennett) a našem ilustrátorovi sketchnot [Nitya Narasimhan](https://github.com/nitya).**
**Také děkujeme našemu týmu [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-17441-jabenn), kteří tento kurz recenzovali a překládali - [Aditya Garg](https://github.com/AdityaGarg00), [Anurag Sharma](https://github.com/Anurag-0-1-A), [Arpita Das](https://github.com/Arpiiitaaa), [Aryan Jain](https://www.linkedin.com/in/aryan-jain-47a4a1145/), [Bhavesh Suneja](https://github.com/EliteWarrior315), [Faith Hunja](https://faithhunja.github.io/), [Lateefah Bello](https://www.linkedin.com/in/lateefah-bello/), [Manvi Jha](https://github.com/Severus-Matthew), [Mireille Tan](https://www.linkedin.com/in/mireille-tan-a4834819a/), [Mohammad Iftekher (Iftu) Ebne Jalal](https://github.com/Iftu119), [Mohammad Zulfikar](https://github.com/mohzulfikar), [Priyanshu Srivastav](https://www.linkedin.com/in/priyanshu-srivastav-b067241ba), [Thanmai Gowducheruvu](https://github.com/innovation-platform) a [Zina Kamel](https://www.linkedin.com/in/zina-kamel/).**
**Také děkujeme našemu týmu [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-17441-jabenn), kteří tento učební plán revidovali a překládali – [Aditya Garg](https://github.com/AdityaGarg00), [Anurag Sharma](https://github.com/Anurag-0-1-A), [Arpita Das](https://github.com/Arpiiitaaa), [Aryan Jain](https://www.linkedin.com/in/aryan-jain-47a4a1145/), [Bhavesh Suneja](https://github.com/EliteWarrior315), [Faith Hunja](https://faithhunja.github.io/), [Lateefah Bello](https://www.linkedin.com/in/lateefah-bello/), [Manvi Jha](https://github.com/Severus-Matthew), [Mireille Tan](https://www.linkedin.com/in/mireille-tan-a4834819a/), [Mohammad Iftekher (Iftu) Ebne Jalal](https://github.com/Iftu119), [Mohammad Zulfikar](https://github.com/mohzulfikar), [Priyanshu Srivastav](https://www.linkedin.com/in/priyanshu-srivastav-b067241ba), [Thanmai Gowducheruvu](https://github.com/innovation-platform) a [Zina Kamel](https://www.linkedin.com/in/zina-kamel/).**
> 🎥 Klikněte na obrázek nahoře pro video o projektu!
> 🎥 Klikněte na obrázek výše pro video o projektu!
> **Učitelé**, máme zde [několik doporučení](for-teachers.md) jak tento kurz používat. Pokud chcete vytvořit vlastní lekce, najdete zde také [šablonu lekce](lesson-template/README.md).
> **Učitelé**, přidali jsme [několik návrhů](for-teachers.md) jak tento učební plán využívat. Pokud byste chtěli tvořit vlastní lekce, poskytli jsme také [šablonu lekce](lesson-template/README.md).
> **Studenti** ([https://aka.ms/student-page](https://aka.ms/student-page)), abyste mohli tento kurz využívat sami, forkněte celý repozitář a dokončujte úkoly sami, začínaje přednáškovým kvízem, poté si přečtěte přednášku a dokončte ostatní aktivity. Snažte se projekty tvořit na základě pochopení lekcí, nikoli pouze kopírováním kódu řešení, který je však k dispozici ve složkách /solutions v jednotlivých projektech. Další možností je vytvořit studijní skupinu s přáteli a obsah probírat společně. Pro další studium doporučujeme [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn).
> **Študenti** [students](https://aka.ms/student-page), abyste mohli tento učební plán používat sami, forknete celý repozitář a doplňujete úkoly sami, začínajíce kvízem před lekcí, pak čtením lekce a dokončením aktivit. Snažte se projekty tvořit pochopením lekcí místo pouhého kopírování řešení; tato řešení jsou však k dispozici v adresáři /solutions v každé lekci zaměřené na projekt. Další možností je založit studijní skupinu s přáteli a projít obsah společně. Pro další studium doporučujeme [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn).
Pro video přehled tohoto kurzu se podívejte na toto video:
> 🎥 Klikněte na obrázek nahoře pro video o projektu!
> 🎥 Klikněte na obrázek výše pro video o projektu!
## Pedagogika
Vybrali jsme dva pedagogické principy při tvorbě tohoto kurzu: zajistit, aby byl projektově orientovaný a aby obsahoval časté kvízy. Na konci této série studenti vytvoří systém pro monitorování a zalévání rostlin, sledovač vozidel, chytrou továrnu pro sledování a kontrolu potravin a hlasem ovládaný kuchyňský časovač, a naučí se základům Internetu věcí včetně psaní kódu zařízení, připojení ke cloudu, analýzy telemetrie a provozu AI na okraji sítě.
Při tvorbě tohoto učebního plánu jsme zvolili dva pedagogické principy: zajistit, aby byl založený na projektech, a aby obsahoval časté kvízy. Na konci této série studenti vyrobí systém pro sledování a zalévání rostlin, sledovač vozidel, chytrou továrnu pro sledování a kontrolu potravin a časovač na vaření ovládaný hlasem, a naučí se základy Internetu věcí včetně psaní kódu pro zařízení, připojení k cloudu, analýzy telemetrie a provoz AI na okraji sítě.
Zajištěním, že obsah odpovídá projektům, se proces stává pro studenty atraktivnější a zvyšuje se zapamatování konceptů.
Díky propojení obsahu s projekty je proces pro studenty zajímavější a zvyšuje retenci znalostí.
Navíc nízkorizikový kvíz před hodinou nastavuje záměr studenta na učení daného tématu, zatímco druhý kvíz po hodině zajišťuje další zapamatování. Tento kurz byl navržen tak, aby byl flexibilní a zábavný, lze jej absolvovat celý nebo jen částečně. Projekty začínají malé a postupně se během 12týdenního cyklu stávají složitějšími.
Navíc nízko-náročný kvíz před lekcí nastavuje studentovu pozornost na téma, zatímco druhý kvíz po lekci zaručuje lepší zapamatování. Tento učební plán je navržen tak, aby byl flexibilní a zábavný a lze ho absolvovat celý nebo po částech. Projekty začínají malé a postupně se během 12 týdnů komplikují.
Každý projekt je založen na reálném hardwaru dostupném studentům a amatérům. Každý projekt zkoumá konkrétní obor projektu a poskytuje relevantní základní znalosti. Pro úspěšného vývojáře je důležité rozumět oblasti, ve které řeší problémy; poskytnutím těchto znalostí umožňujeme studentům zamyslet se nad svými IoT řešeními a učením v kontextu reálných problémů, které by mohli jako vývojáři IoT řešit. Studenti pochopí „proč“ svých řešení a získají ocenění pro koncového uživatele.
Každý projekt je založen na reálném hardwaru dostupném studentům a nadšencům. Každý projekt přináší relevantní znalosti z dané oblasti. Pro úspěšného vývojáře je užitečné pochopit oblast, ve které řeší problémy, a poskytnutí těchto znalostí studentům umožňuje přemýšlet o svých IoT řešeních a zkušenostech v kontextu reálných problémů, které mohou být vyžadovány od IoT vývojáře. Studenti tak chápou "proč" řešení, která tvoří, a získávají ocenění pro koncového uživatele.
## Hardware
Máme dvě možnosti IoT hardwaru pro použití na projektech v závislosti na osobních preferencích, znalostech programovacích jazyků nebo preferencích, cílech učení a dostupnosti. Pro ty, kteří nemají přístup k hardwaru nebo chtějí získat více znalostí před nákupem, jsme také připravili verzi „virtuálního hardwaru“. Více informací a „nákupní seznam“ najdete na [stránce s hardwarem](./hardware.md), včetně odkazů na nákup kompletních sad od našich přátel ze Seeed Studio.
Máme na výběr dvě možnosti IoT hardwaru pro projekty v závislosti na osobních preferencích, znalostech programovacích jazyků, cílech učení a dostupnosti. Poskytli jsme také verzi „virtuálního hardwaru“ pro ty, kteří nemají přístup k hardwaru nebo se chtějí dozvědět více před koupí. Více si můžete přečíst a najít „nákupní seznam“ na [stránce hardware](./hardware.md), včetně odkazů na nákup kompletních sad od našich přátel ze Seeed Studio.
> 💁 Najděte náš [Kodex chování](CODE_OF_CONDUCT.md), [Příspěvky](CONTRIBUTING.md) a [Pokyny pro překlad](TRANSLATIONS.md). Vítáme vaši konstruktivní zpětnou vazbu!
> 💁 Najděte náš [Kodex chování](CODE_OF_CONDUCT.md), [Příspěvky](CONTRIBUTING.md) a [Překlady](TRANSLATIONS.md) zásady. Těšíme se na vaše konstruktivní připomínky!
>
> 🔧 Máte problémy? Podívejte se na náš [Průvodce řešením problémů](TROUBLESHOOTING.md) pro řešení běžných potíží.
## Každá lekce zahrnuje:
## Každá lekce obsahuje:
- sketchnote
- volitelné doplňkové video
- předběžný kvíz před lekcí
- psaná lekce
- u lekcí založených na projektu krok za krokem návody, jak projekt postavit
- kontroly znalostí
- rozehřívací kvíz před lekcí
- písemnou lekci
- u lekcí založených na projektech krok za krokem návody, jak projekt postavit
- kontrolní otázky na znalosti
- výzvu
- doplňkové čtení
- doplňující čtení
- úkol
- [kvíz po lekci](https://ff-quizzes.netlify.app/en/)
> **Poznámka o kvízech**: Všechny kvízy jsou obsaženy ve složce quiz-app, celkem 48 kvízů po třech otázkách. Jsou propojené z lekcí, ale aplikaci kvízů lze spustit lokálně nebo nasadit na Azure; postupujte podle instrukcí ve složce `quiz-app`. Postupně jsou lokalizovány.
> **Poznámka k kvízům**: Všechny kvízy jsou umístěny ve složce quiz-app, celkem je jich 48, každý se třemi otázkami. Odkazy na ně jsou v lekcích, ale aplikaci kvízu lze spustit lokálně nebo ji nasadit na Azure; následujte pokyny ve složce `quiz-app`. Kvízy se postupně lokalizují.
## Lekce
| | Název projektu | Probírané koncepty | Cíle učení | Propojená lekce |
| 01 | [Začínáme](./1-getting-started/README.md) | Úvod do IoT | Naučte se základní principy IoT a základní stavební kameny řešení IoT jako jsou senzory a cloudové služby, zatímco nastavujete své první IoT zařízení | [Úvod do IoT](./1-getting-started/lessons/1-introduction-to-iot/README.md) |
| 02 | [Začínáme](./1-getting-started/README.md) | Hlouběji do IoT | Naučte se více o součástech IoT systému, stejně jako o mikrokontrolérech a jednodeskových počítačích | [Hlouběji do IoT](./1-getting-started/lessons/2-deeper-dive/README.md) |
| 03 | [Začínáme](./1-getting-started/README.md) | Interakce s fyzickým světem pomocí senzorů a akčních členů | Naučte se o senzorech pro sběr dat z fyzického světa a akčních členech pro odesílání zpětné vazby, zatímco stavíte noční světlo | [Interakce s fyzickým světem pomocí senzorů a akčních členů](./1-getting-started/lessons/3-sensors-and-actuators/README.md) |
| 04 | [Začínáme](./1-getting-started/README.md) | Připojte své zařízení k internetu | Naučte se, jak připojit IoT zařízení k internetu pro odesílání a přijímání zpráv připojením své noční lampy k MQTT brokeru | [Připojte své zařízení k internetu](./1-getting-started/lessons/4-connect-internet/README.md) |
| 05 | [Farmářství](./2-farm/README.md) | Předpověď růstu rostlin | Naučte se předpovídat růst rostlin pomocí teplotních dat zaznamenaných IoT zařízením | [Předpověď růstu rostlin](./2-farm/lessons/1-predict-plant-growth/README.md) |
| 06 | [Farmářství](./2-farm/README.md) | Detekce vlhkosti půdy | Naučte se detekovat vlhkost půdy a kalibrovat senzor vlhkosti půdy | [Detekce vlhkosti půdy](./2-farm/lessons/2-detect-soil-moisture/README.md) |
| 07 | [Farmářství](./2-farm/README.md) | Automatické zavlažování rostlin | Naučte se automatizovat a časovat zavlažování pomocí relé a MQTT | [Automatické zavlažování rostlin](./2-farm/lessons/3-automated-plant-watering/README.md) |
| 08 | [Farmářství](./2-farm/README.md) | Přejděte s rostlinou do cloudu | Naučte se o cloudu a cloudově hostovaných IoT službách a jak připojit rostlinu k některé z nich namísto veřejného MQTT brokeru | [Přejděte s rostlinou do cloudu](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) |
| 09 | [Farmářství](./2-farm/README.md) | Přeneste logiku své aplikace do cloudu | Naučte se, jak napsat aplikační logiku v cloudu, která reaguje na IoT zprávy | [Přeneste logiku své aplikace do cloudu](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) |
| 10 | [Farmářství](./2-farm/README.md) | Zabezpečte svou rostlinu | Naučte se o bezpečnosti IoT a jak zabezpečit svou rostlinu pomocí klíčů a certifikátů | [Zabezpečte svou rostlinu](./2-farm/lessons/6-keep-your-plant-secure/README.md) |
| | Název projektu | Učené koncepty | Výukové cíle | Odkaz na lekci |
| 01 | [Začínáme](./1-getting-started/README.md) | Úvod do IoT | Naučte se základní principy IoT a základní stavební kameny řešení IoT, jako jsou senzory a cloudové služby, zatímco nastavujete své první IoT zařízení | [Úvod do IoT](./1-getting-started/lessons/1-introduction-to-iot/README.md) |
| 02 | [Začínáme](./1-getting-started/README.md) | Hlouběji do IoT | Naučte se více o složkách IoT systému, mikrokontrolérech a jednodeskových počítačích | [Hlouběji do IoT](./1-getting-started/lessons/2-deeper-dive/README.md) |
| 03 | [Začínáme](./1-getting-started/README.md) | Interakce s fyzickým světem pomocí senzorů a aktuátorů | Naučte se o senzorech pro sběr dat z fyzického světa a o aktuátorech pro zpětnou vazbu, zatímco stavíte noční světlo | [Interakce s fyzickým světem pomocí senzorů a aktuátorů](./1-getting-started/lessons/3-sensors-and-actuators/README.md) |
| 04 | [Začínáme](./1-getting-started/README.md) | Připojte své zařízení k internetu | Naučte se, jak připojit IoT zařízení k internetu pro odesílání a příjem zpráv připojením nočníhosvětla k MQTT brokeru | [Připojte své zařízení k internetu](./1-getting-started/lessons/4-connect-internet/README.md) |
| 05 | [Farmářství](./2-farm/README.md) | Predikce růstu rostlin | Naučte se předpovídat růst rostlin pomocí teplotních dat zachycených IoT zařízením | [Predikce růstu rostlin](./2-farm/lessons/1-predict-plant-growth/README.md) |
| 06 | [Farmářství](./2-farm/README.md) | Detekce vlhkosti půdy | Naučte se detekovat vlhkost půdy a kalibrovat senzor vlhkosti půdy | [Detekce vlhkosti půdy](./2-farm/lessons/2-detect-soil-moisture/README.md) |
| 07 | [Farmářství](./2-farm/README.md) | Automatické zavlažování rostlin | Naučte se automatizovat a časovat zavlažování pomocí relé a MQTT | [Automatické zavlažování rostlin](./2-farm/lessons/3-automated-plant-watering/README.md) |
| 08 | [Farmářství](./2-farm/README.md) | Migrace rostlin do cloudu | Naučte se o cloudu a cloudových IoT službách a jak připojit svou rostlinu k jedné z nich namísto veřejného MQTT brokeru | [Migrace rostlin do cloudu](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) |
| 09 | [Farmářství](./2-farm/README.md) | Migrace aplikační logiky do cloudu | Naučte se, jak psát aplikační logiku v cloudu, která reaguje na IoT zprávy | [Migrace aplikační logiky do cloudu](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) |
| 10 | [Farmářství](./2-farm/README.md) | Zabezpečte svou rostlinu | Naučte se o zabezpečení v IoT a jak zabezpečit svou rostlinu pomocí klíčů a certifikátů | [Zabezpečte svou rostlinu](./2-farm/lessons/6-keep-your-plant-secure/README.md) |
| 11 | [Doprava](./3-transport/README.md) | Sledování polohy | Naučte se o GPS sledování polohy IoT zařízení | [Sledování polohy](./3-transport/lessons/1-location-tracking/README.md) |
| 12 | [Doprava](./3-transport/README.md) | Ukládání dat o poloze | Naučte se ukládat IoT data pro pozdější vizualizaci nebo analýzu | [Ukládání dat o poloze](./3-transport/lessons/2-store-location-data/README.md) |
| 13 | [Doprava](./3-transport/README.md) | Vizualizace dat o poloze | Naučte se o vizualizaci dat o poloze na mapě a jak mapy zobrazují skutečný trojrozměrný svět ve dvou dimenzích | [Vizualizace dat o poloze](./3-transport/lessons/3-visualize-location-data/README.md) |
| 14 | [Doprava](./3-transport/README.md) | Geoploty | Naučte se o geoplotech a jak je používat k upozornění, když jsou vozidla v dodavatelském řetězci blízko svého cíle | [Geoploty](./3-transport/lessons/4-geofences/README.md) |
| 15 | [Výroba](./4-manufacturing/README.md) | Trénujte detektor kvality ovoce | Naučte se trénovat klasifikátor obrázků v cloudu pro detekci kvality ovoce | [Trénujte detektor kvality ovoce](./4-manufacturing/lessons/1-train-fruit-detector/README.md) |
| 16 | [Výroba](./4-manufacturing/README.md) | Zkontrolujte kvalitu ovoce z IoT zařízení | Naučte se využívat detektor kvality ovoce z IoT zařízení | [Zkontrolujte kvalitu ovoce z IoT zařízení](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) |
| 17 | [Výroba](./4-manufacturing/README.md) | Spusťte detektor ovoce na okraji | Naučte se, jak spustit detektor ovoce na IoT zařízení na okraji | [Spusťte detektor ovoce na okraji](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md) |
| 18 | [Výroba](./4-manufacturing/README.md) | Spusťte detekci kvality ovoce ze senzoru | Naučte se spustit detekci kvality ovoce ze senzoru | [Spusťte detekci kvality ovoce ze senzoru](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) |
| 19 | [Maloobchod](./5-retail/README.md) | Trénujte detektor zásob | Naučte se používat detekci objektů k trénování detektoru zásob pro počítání zásob v obchodě | [Trénujte detektor zásob](./5-retail/lessons/1-train-stock-detector/README.md) |
| 20 | [Maloobchod](./5-retail/README.md) | Zkontrolujte zásoby z IoT zařízení | Naučte se kontrolovat zásoby z IoT zařízení s využitím modelu detekce objektů | [Zkontrolujte zásoby z IoT zařízení](./5-retail/lessons/2-check-stock-device/README.md) |
| 21 | [Spotřebitel](./6-consumer/README.md) | Rozpoznání řeči s IoT zařízením | Naučte se rozpoznávat řeč z IoT zařízení pro stavbu chytrého časovače | [Rozpoznání řeči s IoT zařízením](./6-consumer/lessons/1-speech-recognition/README.md) |
| 22 | [Spotřebitel](./6-consumer/README.md) | Porozumění jazyku | Naučte se porozumět větám vysloveným k IoT zařízení | [Porozumění jazyku](./6-consumer/lessons/2-language-understanding/README.md) |
| 23 | [Spotřebitel](./6-consumer/README.md) | Nastavte časovač a poskytujte hlasovou zpětnou vazbu | Naučte se nastavit časovač na IoT zařízení a dávat hlasovou zpětnou vazbu o nastavení časovače a jeho ukončení | [Nastavte časovač a poskytujte hlasovou zpětnou vazbu](./6-consumer/lessons/3-spoken-feedback/README.md) |
| 24 | [Spotřebitel](./6-consumer/README.md) | Podpora více jazyků | Naučte se podporovat více jazyků, jak v řeči, tak ve zpětných reakcích vašeho chytrého časovače | [Podpora více jazyků](./6-consumer/lessons/4-multiple-language-support/README.md) |
| 12 | [Doprava](./3-transport/README.md) | Ukládání dat o poloze | Naučte se, jak ukládat IoT data pro pozdější vizualizaci nebo analýzu | [Ukládání dat o poloze](./3-transport/lessons/2-store-location-data/README.md) |
| 13 | [Doprava](./3-transport/README.md) | Vizualizace dat o poloze | Naučte se o vizualizaci dat o poloze na mapě a jak mapy reprezentují skutečný 3D svět ve 2D | [Vizualizace dat o poloze](./3-transport/lessons/3-visualize-location-data/README.md) |
| 14 | [Doprava](./3-transport/README.md) | Geozóny | Naučte se o geozónách a jak mohou být použity k upozornění, když jsou vozidla v dodavatelském řetězci blízko svého cíle | [Geozóny](./3-transport/lessons/4-geofences/README.md) |
| 15 | [Výroba](./4-manufacturing/README.md) | Trénink detektoru kvality ovoce | Naučte se, jak vytrénovat klasifikátor obrázků v cloudu pro detekci kvality ovoce | [Trénink detektoru kvality ovoce](./4-manufacturing/lessons/1-train-fruit-detector/README.md) |
| 16 | [Výroba](./4-manufacturing/README.md) | Kontrola kvality ovoce z IoT zařízení | Naučte se používat detektor kvality ovoce z IoT zařízení | [Kontrola kvality ovoce z IoT zařízení](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) |
| 17 | [Výroba](./4-manufacturing/README.md) | Spuštění detektoru ovoce na okraji | Naučte se, jak spustit detektor ovoce na IoT zařízení na okraji | [Spuštění detektoru ovoce na okraji](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md) |
| 18 | [Výroba](./4-manufacturing/README.md) | Spuštění detekce kvality ovoce ze senzoru | Naučte se spouštět detekci kvality ovoce ze senzoru | [Spuštění detekce kvality ovoce ze senzoru](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) |
| 19 | [Maloobchod](./5-retail/README.md) | Trénink detektoru zásob | Naučte se používat detekci objektů k tréninku detektoru zásob pro počítání zásob v prodejně | [Trénink detektoru zásob](./5-retail/lessons/1-train-stock-detector/README.md) |
| 20 | [Maloobchod](./5-retail/README.md) | Kontrola zásob z IoT zařízení | Naučte se kontrolovat zásoby z IoT zařízení pomocí modelu detekce objektů | [Kontrola zásob z IoT zařízení](./5-retail/lessons/2-check-stock-device/README.md) |
| 21 | [Spotřebitel](./6-consumer/README.md) | Rozpoznávání řeči pomocí IoT zařízení | Naučte se rozpoznávat řeč z IoT zařízení k vytvoření chytrého časovače | [Rozpoznávání řeči pomocí IoT zařízení](./6-consumer/lessons/1-speech-recognition/README.md) |
| 22 | [Spotřebitel](./6-consumer/README.md) | Porozumění jazyku | Naučte se rozumět větám vysloveným k IoT zařízení | [Porozumění jazyku](./6-consumer/lessons/2-language-understanding/README.md) |
| 23 | [Spotřebitel](./6-consumer/README.md) | Nastavení časovače a poskytování hlasové zpětné vazby | Naučte se nastavit časovač na IoT zařízení a poskytnout hlasovou zpětnou vazbu, kdy je časovač nastaven a kdy skončí | [Nastavení časovače a poskytování hlasové zpětné vazby](./6-consumer/lessons/3-spoken-feedback/README.md) |
| 24 | [Spotřebitel](./6-consumer/README.md) | Podpora více jazyků | Naučte se podporovat více jazyků, jak při mluvení k zařízení, tak při odpovědích z vašeho chytrého časovače | [Podpora více jazyků](./6-consumer/lessons/4-multiple-language-support/README.md) |
## Offline přístup
Tuto dokumentaci si můžete spustit offline pomocí [Docsify](https://docsify.js.org/#/). Vytvořte fork tohoto repozitáře, [nainstalujte Docsify](https://docsify.js.org/#/quickstart) na svůj lokální počítač, a pak v kořenové složce repozitáře zadejte `docsify serve`. Web bude dostupný na portu 3000 na vašem localhostu: `localhost:3000`.
Tuto dokumentaci můžete spustit offline pomocí [Docsify](https://docsify.js.org/#/). Vytvořte fork tohoto repozitáře, [nainstalujte Docsify](https://docsify.js.org/#/quickstart) na svém počítači a pak v kořenové složce tohoto repozitáře zadejte příkaz `docsify serve`. Webové stránky poběží na portu 3000 na vaší lokální adrese: `localhost:3000`.
## Kvíz
Díky komunitě za hostování interaktivního kvízu, který testuje vaše znalosti ke každé kapitole. Otestujte si své znalosti [zde](https://ff-quizzes.netlify.app/en/)
Díky komunitě za hostování interaktivního kvízu, který testuje vaše znalosti v každé kapitole. Znalosti si můžete ověřit [zde](https://ff-quizzes.netlify.app/en/).
### PDF
Můžete si vygenerovat PDF tohoto obsahu pro offline přístup, pokud je to potřeba. K tomu si zajistěte, že máte [npm nainstalovaný](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) a spusťte následující příkazy v kořenové složce tohoto repozitáře:
Pokud potřebujete, můžete si vytvořit PDF této obsahu pro offline přístup. Abyste to mohli udělat, ujistěte se, že máte [nainstalovaný npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) a spusťte následující příkazy v kořenové složce tohoto repozitáře:
```sh
npm i
@ -154,60 +164,59 @@ npm run convert
### Prezentace
Pro některé lekce existují prezentační sady ve složce [slides](../../slides).
Některé lekce mají k dispozici prezentace ve složce [slides](../../slides).
## Další kurzy
## Další Kurikula
Náš tým vytváří i další kurikula! Podívejte se na:
Náš tým vytváří i jiné kurzy! Mrkněte na:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[](https://aka.ms/langchain4j-for-beginners)
[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[](https://aka.ms/langchain4j-for-beginners)
[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agenti
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
### Azure / Edge / MCP / Agents
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Séria Generativní AI
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
### Série Generativní AI
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
### Základní Vzdělávání
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
### Základní vzdělávání
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Série Copilot
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
Všechny odkazy na zdroje použitých obrázků v tomto kurikulu najdete v sekci [Odkazy](./attributions.md).
Všechna uznání za obrázky použité v tomto kurikulu najdete tam, kde je to potřeba, v [Uznání](./attributions.md).
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Prohlášení o omezení odpovědnosti**:
Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). I když usilujeme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro zásadní informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za žádná nedorozumění či nesprávné výklady vzniklé použitím tohoto překladu.
**Prohlášení o vyloučení odpovědnosti**:
Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). Přestože usilujeme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro kritické informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za jakékoliv nedorozumění nebo chybné interpretace vyplývající z použití tohoto překladu.
@ -26,7 +26,7 @@ Seeed Studios velmi laskavě zpřístupnili veškerý hardware jako snadno zakou
**[IoT pro začátečníky se Seeed a Microsoft - Raspberry Pi 4 Starter Kit](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)**
[](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)
[](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)


> Sketchnote készítette: [Nitya Narasimhan](https://github.com/nitya). Kattints a képre a nagyobb verzióért.
@ -203,7 +203,7 @@ Második 'Hello World' lépésként futtatni fogod a CounterFit alkalmazást, é
Az alkalmazás elindul, és megnyílik a webböngésződben:


*Disconnected* állapotban lesz, a jobb felső sarokban lévő LED ki lesz kapcsolva.
@ -224,7 +224,7 @@ Második 'Hello World' lépésként futtatni fogod a CounterFit alkalmazást, é
1. Ebben az új terminálban futtasd az `app.py` fájlt, ahogy korábban. A CounterFit állapota **Connected**-re változik, és a LED világítani fog.


> 💁 Ezt a kódot megtalálod a [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device) mappában.
> Vázlatrajz: [Nitya Narasimhan](https://github.com/nitya). Kattints a képre a nagyobb verzióért.
@ -38,7 +38,7 @@ Az IoT **Dolog** része egy olyan eszközt jelent, amely képes kölcsönhatásb
Ezek az eszközök érzékelők segítségével adatokat gyűjtenek a környezetükből, vagy kimeneteket és működtetőket vezérelnek, hogy fizikai változásokat idézzenek elő. Egy tipikus példa erre az okos termosztát - egy olyan eszköz, amely hőmérséklet-érzékelővel rendelkezik, egy kívánt hőmérséklet beállítására szolgáló eszközzel, például egy tárcsával vagy érintőképernyővel, valamint egy fűtési vagy hűtési rendszerhez való csatlakozással, amely bekapcsol, ha a mért hőmérséklet kívül esik a kívánt tartományon. A hőmérséklet-érzékelő érzékeli, hogy a szoba túl hideg, és egy működtető bekapcsolja a fűtést.


Számos különböző dolog működhet IoT eszközként, az egyetlen dolgot érzékelő dedikált hardvertől a többcélú eszközökig, például az okostelefonodig! Egy okostelefon érzékelőkkel képes érzékelni a környezetét, és működtetőkkel képes kölcsönhatásba lépni a világgal - például GPS-érzékelőt használva meghatározhatja a helyzetedet, és hangszórót használva navigációs utasításokat adhat egy célállomásra.
@ -54,7 +54,7 @@ Az eszközök nem mindig csatlakoznak közvetlenül az Internethez WiFi-n vagy v
Az okos termosztát példájánál maradva, a termosztát otthoni WiFi-n keresztül csatlakozna egy felhőszolgáltatáshoz. Ez a felhőszolgáltatás fogadná a hőmérsékleti adatokat, amelyeket egy adatbázisba írna, lehetővé téve a háztulajdonos számára, hogy egy telefonos alkalmazáson keresztül ellenőrizze az aktuális és korábbi hőmérsékleteket. Egy másik szolgáltatás a felhőben tudná, hogy a háztulajdonos milyen hőmérsékletet szeretne, és üzeneteket küldene vissza az IoT eszköznek a felhőszolgáltatáson keresztül, hogy a fűtési rendszert be- vagy kikapcsolja.


Egy még okosabb verzió mesterséges intelligenciát használhatna a felhőben, más IoT eszközökhöz csatlakozó érzékelők, például jelenlétérzékelők adataival, valamint időjárási adatokkal és akár a naptáraddal együtt, hogy intelligens módon állítsa be a hőmérsékletet. Például kikapcsolhatná a fűtést, ha a naptárad szerint nyaralni mész, vagy szobánként kapcsolhatná ki a fűtést attól függően, hogy melyik szobákat használod, az adatokból tanulva egyre pontosabbá válva az idő múlásával.
@ -94,7 +94,7 @@ Minél gyorsabb az óra ciklusa, annál több utasítást lehet másodpercenkén
> 💁 A CPU-k a programokat a [fetch-decode-execute ciklus](https://wikipedia.org/wiki/Instruction_cycle) segítségével hajtják végre. Minden óra ketyegésnél a CPU lekéri a következő utasítást a memóriából, dekódolja, majd végrehajtja, például egy aritmetikai logikai egység (ALU) segítségével két számot ad össze. Néhány végrehajtás több ketyegést is igénybe vehet, így a következő ciklus a következő ketyegésnél fut le, miután az utasítás befejeződött.


A mikrokontrollerek órajele sokkal alacsonyabb, mint az asztali vagy laptop számítógépeké, vagy akár a legtöbb okostelefoné. Például a Wio Terminal CPU-ja 120MHz-en, azaz 120 000 000 ciklus másodpercenként működik.
@ -164,7 +164,7 @@ Az Arduino lapokat C vagy C++ nyelven programozzák. A C/C++ használata lehető
A `setup` funkcióban írná meg az inicializáló kódját, például a WiFi-hez és felhőszolgáltatásokhoz való csatlakozást, vagy a bemeneti és kimeneti tűk inicializálását. A `loop` funkcióban pedig a feldolgozó kódot, például egy szenzorból való olvasást és az érték felhőbe küldését. Általában késleltetést adna a ciklus végéhez, például ha csak 10 másodpercenként szeretne szenzoradatokat küldeni, akkor 10 másodperces késleltetést adna a ciklus végéhez, hogy a mikrokontroller aludjon, energiát takarítson meg, majd 10 másodperc múlva újra futtassa a ciklust.


✅ Ezt a programarchitektúrát *eseményciklusnak* vagy *üzenetciklusnak* nevezik. Sok alkalmazás használja ezt a háttérben, és ez a szabvány a legtöbb asztali alkalmazás esetében, amelyek olyan operációs rendszereken futnak, mint a Windows, macOS vagy Linux. A `loop` figyeli az üzeneteket a felhasználói felület komponenseitől, például gomboktól, vagy eszközöktől, mint a billentyűzet, és reagál rájuk. Erről többet olvashat ebben a [cikkben az eseményciklusról](https://wikipedia.org/wiki/Event_loop).
> Vázlatrajz: [Nitya Narasimhan](https://github.com/nitya). Kattints a képre a nagyobb verzióért.
@ -92,7 +92,7 @@ A digitális érzékelők, az analóg érzékelőkhöz hasonlóan, az elektromos
A legegyszerűbb digitális érzékelő egy gomb vagy kapcsoló. Ez egy olyan érzékelő, amelynek két állapota van: be vagy ki.


Az IoT eszközök, például a GPIO tüskék, közvetlenül mérhetik ezt a jelet 0-ként vagy 1-ként. Ha a küldött feszültség megegyezik a visszaküldött feszültséggel, az olvasott érték 1, különben az olvasott érték 0. Nincs szükség a jel átalakítására, az csak 1 vagy 0 lehet.
@ -122,7 +122,7 @@ Néhány gyakori működtető:
✅ Kutass egy kicsit! Milyen működtetők vannak a telefonodban?
## Működt


Akárcsak az érzékelők esetében, a tényleges IoT eszköz digitális jelekkel működik, nem analóg jelekkel. Ez azt jelenti, hogy analóg jel küldéséhez az IoT eszköznek szüksége van egy digitális-analóg átalakítóra (DAC), amely lehet közvetlenül az IoT eszközön vagy egy csatlakozópanelen. Ez átalakítja az IoT eszköz 0 és 1 értékeit olyan analóg feszültséggé, amelyet az aktuátor használni tud.
@ -169,7 +169,7 @@ A digitális aktuátorok, akárcsak a digitális érzékelők, vagy két állapo
Egy egyszerű digitális aktuátor például egy LED. Amikor az eszköz digitális 1 jelet küld, magas feszültséget küld, amely bekapcsolja a LED-et. Amikor digitális 0 jelet küld, a feszültség 0V-ra csökken, és a LED kikapcsol.


✅ Milyen más egyszerű, kétállapotú aktuátorokat tudsz elképzelni? Egy példa lehet egy szolenoid, amely egy elektromágnes, amely aktiválható például egy ajtózár reteszének mozgatására, az ajtó nyitására/zárására.
@ -26,7 +26,7 @@ A Grove LED egy modul formájában érkezik, amely több LED-et tartalmaz, így
Csatlakoztasd a LED-et.


1. Válaszd ki a kedvenc LED-edet, és helyezd be a lábait a LED modul két lyukába.
@ -40,7 +40,7 @@ Csatlakoztasd a LED-et.
1. Kapcsold ki a Raspberry Pi-t, és csatlakoztasd a Grove kábel másik végét a Grove Base hat-on lévő **D5** jelzésű digitális aljzathoz, amely a Pi-hez van csatlakoztatva. Ez az aljzat a második balról, a GPIO csatlakozók melletti aljzatsoron.


@ -16,13 +16,13 @@ A Grove fényérzékelőt, amelyet a fény szintjeinek érzékelésére használ
Csatlakoztasd a fényérzékelőt.


1. Helyezd be a Grove kábel egyik végét a fényérzékelő modul aljzatába. Csak egy irányban illeszkedik.
1. Kapcsold ki a Raspberry Pi-t, majd csatlakoztasd a Grove kábel másik végét a Grove Base hat analóg aljzatába, amelyet **A0** jelöléssel látsz. Ez az aljzat a második a jobb oldalon, a GPIO pin-ek melletti aljzatsoron.


@ -36,11 +36,11 @@ Add hozzá a LED-et a CounterFit alkalmazáshoz.
1. Válaszd ki az **Add** gombot, hogy létrehozd a LED-et az 5-ös lábon.


A LED létrejön, és megjelenik a működtetők listájában.


Miután a LED létrejött, megváltoztathatod a színét a *Color* színválasztóval. A szín kiválasztása után nyomd meg a **Set** gombot a szín megváltoztatásához.
A fényérzékelő létrejön, és megjelenik az érzékelők listájában.


> Vázlatrajz: [Nitya Narasimhan](https://github.com/nitya). Kattintson a képre a nagyobb verzióért.
@ -47,7 +47,7 @@ Az [MQTT](http://mqtt.org) egy könnyű, nyílt szabványú üzenetküldési pro
Az MQTT egyetlen közvetítőt és több klienst használ. Minden kliens csatlakozik a közvetítőhöz, amely az üzeneteket a megfelelő kliensekhez irányítja. Az üzeneteket elnevezett témák segítségével irányítják, nem pedig közvetlenül egy adott klienshez küldik. Egy kliens publikálhat egy témára, és bármelyik kliens, amely feliratkozott erre a témára, megkapja az üzenetet.


✅ Kutasson egy kicsit! Ha sok IoT-eszköze van, hogyan biztosíthatja, hogy az MQTT közvetítője képes legyen kezelni az összes üzenetet?
@ -69,7 +69,7 @@ Ahelyett, hogy az MQTT közvetítő beállításának bonyolultságával foglalk
> 💁 Ez a teszt közvetítő nyilvános és nem biztonságos. Bárki hallgathatja, amit publikál, ezért nem szabad olyan adatokkal használni, amelyeket titokban kell tartani.


Kövesse az alábbi lépéseket, hogy csatlakoztassa eszközét az MQTT közvetítőhöz:
@ -336,7 +336,7 @@ Gépek esetében érdemes lehet megtartani az adatokat, különösen, ha azokat
Az IoT eszköz tervezőinek azt is figyelembe kell venniük, hogy az eszköz használható-e internetkimaradás vagy helyszíni jelvesztés esetén. Egy okos termosztátnak képesnek kell lennie arra, hogy korlátozott döntéseket hozzon a fűtés vezérlésére, ha nem tud telemetriát küldeni a felhőbe egy kimaradás miatt.
[](https://twitter.com/internetofshit/status/1315736960082808832)
[](https://twitter.com/internetofshit/status/1315736960082808832)
Az MQTT kezeléséhez kapcsolatvesztés esetén az eszköz- és szerverkódnak felelősséget kell vállalnia az üzenetek kézbesítésének biztosításáért, ha szükséges, például azáltal, hogy megköveteli, hogy minden elküldött üzenetre válasz érkezzen egy válasz témán, és ha nem, akkor manuálisan sorba állítják őket későbbi újrajátszásra.
@ -344,7 +344,7 @@ Az MQTT kezeléséhez kapcsolatvesztés esetén az eszköz- és szerverkódnak f
A parancsok olyan üzenetek, amelyeket a felhő küld egy eszköznek, hogy utasítsa valamilyen művelet végrehajtására. Ez legtöbbször valamilyen kimenet generálását jelenti egy aktuátor segítségével, de lehet az eszközre vonatkozó utasítás is, például újraindítás vagy további telemetria gyűjtése és válaszként való visszaküldése.


Egy termosztát például parancsot kaphat a felhőtől a fűtés bekapcsolására. Az összes érzékelő telemetriai adatai alapján a felhőszolgáltatás úgy döntött, hogy a fűtésnek be kell kapcsolnia, ezért elküldi a megfelelő parancsot.
> Sketchnote készítette: [Nitya Narasimhan](https://github.com/nitya). Kattints a képre a nagyobb verzióért.
@ -102,7 +102,7 @@ A lépések ehhez manuálisan:
Például, ha a napi legmagasabb hőmérséklet 25°C, a legalacsonyabb pedig 12°C:


@ -33,7 +33,7 @@ Miután megvannak a hőmérsékleti adatok, használhatod a Jupyter Notebookot e
A Jupyter elindul, és megnyitja a notebookot a böngésződben. Kövesd a notebookban található utasításokat, hogy vizualizáld a mért hőmérsékleteket, és kiszámítsd a növekedési foknapokat (GDD).
@ -16,13 +16,13 @@ A Grove hőmérséklet-érzékelő csatlakoztatható a Raspberry Pi-hoz.
Csatlakoztasd a hőmérséklet-érzékelőt.


1. Illeszd be a Grove kábel egyik végét a páratartalom- és hőmérséklet-érzékelő aljzatába. Csak egyféleképpen illeszkedik.
1. Kapcsold ki a Raspberry Pi-t, majd csatlakoztasd a Grove kábel másik végét a Grove Base hat-on található **D5** jelzésű digitális aljzathoz, amely a Pi-hoz van csatlakoztatva. Ez az aljzat a második balról, a GPIO tüskék melletti aljzatsoron.


@ -18,7 +18,7 @@ A Grove hőmérséklet-érzékelő csatlakoztatható a Wio Terminal digitális p
Csatlakoztasd a hőmérséklet-érzékelőt.


1. Illeszd be a Grove kábel egyik végét a páratartalom- és hőmérséklet-érzékelő aljzatába. Csak egyféleképpen illeszkedik.
@ -18,13 +18,13 @@ A Grove talajnedvesség-érzékelő csatlakoztatható a Raspberry Pi-hez.
Csatlakoztasd a talajnedvesség-érzékelőt.


1. Dugj be egy Grove kábelt az érzékelő csatlakozójába. Csak egy irányban illeszkedik.
1. Kapcsold ki a Raspberry Pi-t, majd csatlakoztasd a Grove kábel másik végét a Grove Base Hat analóg csatlakozójába, amely **A0** jelöléssel van ellátva. Ez a csatlakozó a GPIO csatlakozók melletti sorban, jobbról a második.


1. Helyezd az érzékelőt a talajba. Az érzékelőn van egy "legmagasabb pozíció vonal" - egy fehér vonal. Helyezd az érzékelőt a vonalig, de ne azon túl.
A talajnedvesség-érzékelő létrejön, és megjelenik az érzékelők listájában.


@ -18,7 +18,7 @@ A Grove talajnedvesség-érzékelő a Wio Terminal konfigurálható analóg/digi
Csatlakoztasd a talajnedvesség-érzékelőt.


1. Illeszd be a Grove kábel egyik végét a talajnedvesség-érzékelő aljzatába. Csak egyféleképpen illeszthető be.
> Vázlatrajz: [Nitya Narasimhan](https://github.com/nitya). Kattints a képre a nagyobb verzióért.
@ -32,7 +32,7 @@ Az IoT eszközök alacsony feszültséget használnak. Ez elegendő az érzékel
A megoldás az, hogy a pumpát egy külső áramforráshoz csatlakoztatjuk, és egy aktuátort használunk a pumpa bekapcsolására, hasonlóan ahhoz, ahogy egy lámpát kapcsolnánk fel. Csak egy kis energia (például a tested energiája) szükséges ahhoz, hogy az ujjaddal felkapcsolj egy kapcsolót, amely összeköti a lámpát a 110V/240V-os hálózati árammal.


> 🎓 A [hálózati áram](https://wikipedia.org/wiki/Mains_electricity) az otthonokba és vállalkozásokba nemzeti infrastruktúrán keresztül szállított elektromosságot jelenti a világ számos részén.
@ -72,7 +72,7 @@ Amikor a kar mozog, általában hallhatod, ahogy az elektromágnessel érintkezi
Az elektromágnesnek nincs szüksége sok energiára ahhoz, hogy aktiválódjon és meghúzza a kart, vezérelhető a 3,3V vagy 5V kimenettel egy IoT fejlesztői készletről. A kimeneti áramkör sokkal nagyobb teljesítményt képes szállítani, a relétől függően, beleértve a hálózati feszültséget vagy akár ipari használatra szánt magasabb teljesítményszinteket is. Így egy IoT fejlesztői készlet vezérelhet egy öntözőrendszert, egyetlen növényhez használt kis pumpától kezdve egészen egy teljes kereskedelmi farm ipari rendszeréig.


A fenti képen egy Grove relé látható. A vezérlő áramkör egy IoT eszközhöz csatlakozik, és 3,3V vagy 5V segítségével kapcsolja be vagy ki a relét. A kimeneti áramkör két terminállal rendelkezik, bármelyik lehet áramforrás vagy földelés. A kimeneti áramkör akár 250V-ot és 10A-t is képes kezelni, ami elegendő számos hálózati árammal működő eszközhöz. Léteznek még nagyobb teljesítményű relék is.
@ -18,13 +18,13 @@ A Grove relé csatlakoztatható a Raspberry Pi-hez.
Csatlakoztasd a relét.


1. Dugj be egy Grove kábelt a relé aljzatába. Csak egyféleképpen illeszkedik.
1. Kapcsold ki a Raspberry Pi-t, majd csatlakoztasd a Grove kábel másik végét a **D5** jelzésű digitális aljzathoz a Pi-hez csatlakoztatott Grove Base Hat-on. Ez az aljzat a második balról, a GPIO csatlakozók melletti aljzatsoron. Hagyd a talajnedvesség-érzékelőt az **A0** aljzathoz csatlakoztatva.


1. Helyezd a talajnedvesség-érzékelőt a talajba, ha az előző leckéből még nem tetted meg.


> Sketchnote készítette: [Nitya Narasimhan](https://github.com/nitya). Kattints a képre a nagyobb verzióért.
@ -46,8 +46,8 @@ Ez nagyon drága lehetett, széles körű szakértelmet igényelt, és lassú vo
A felhőt gyakran viccesen "valaki más számítógépének" nevezik. Az alapötlet egyszerű volt - a számítógépek vásárlása helyett bérelj valaki más számítógépét. Valaki más, egy felhőszolgáltató, hatalmas adatközpontokat üzemeltetne. Ők felelnének a hardver vásárlásáért és telepítéséért, az áramellátásért és hűtésért, a hálózatért, az épület biztonságáért, a hardver és szoftver frissítésekért, mindenért. Ügyfélként bérelhetnéd a szükséges számítógépeket, bérelhetnél többet, amikor a kereslet megugrik, majd csökkenthetnéd a bérlést, ha a kereslet visszaesik. Ezek az adatközpontok világszerte megtalálhatók.




Ezek az adatközpontok akár több négyzetkilométeresek is lehetnek. A fenti képek néhány évvel ezelőtt készültek egy Microsoft felhő adatközpontban, és az eredeti méretet, valamint a tervezett bővítést mutatják. A bővítéshez előkészített terület több mint 5 négyzetkilométer.
@ -108,11 +108,11 @@ A felhő IoT szolgáltatások megoldják ezeket a problémákat. Ezeket nagy fel
Az IoT eszközök egy felhőszolgáltatáshoz csatlakoznak, vagy egy eszköz SDK (egy könyvtár, amely kódot biztosít a szolgáltatás funkcióinak használatához), vagy közvetlenül egy kommunikációs protokoll, például MQTT vagy HTTP segítségével. Az eszköz SDK általában a legegyszerűbb út, mivel mindent kezel, például tudja, milyen témákra kell publikálni vagy feliratkozni, és hogyan kell kezelni a biztonságot.


Az eszközöd ezután az alkalmazásod más részeivel kommunikál ezen a szolgáltatáson keresztül - hasonlóan ahhoz, ahogy telemetriát küldtél és parancsokat fogadtál az MQTT-n keresztül. Ez általában egy szolgáltatás SDK vagy egy hasonló könyvtár segítségével történik. Az üzenetek az eszközödről a szolgáltatáshoz érkeznek, ahol az alkalmazásod más komponensei elolvashatják őket, majd üzeneteket küldhetnek vissza az eszközödre.


Ezek a szolgáltatások biztonságot valósítanak meg azáltal, hogy ismerik az összes eszközt, amely csatlakozhat és adatokat küldhet, akár úgy, hogy az eszközöket előzetesen regisztrálják a szolgáltatásban, akár úgy, hogy az eszközök titkos kulcsokat vagy tanúsítványokat kapnak, amelyeket az első csatlakozáskor használhatnak a szolgáltatásba való reg
💁 Az IoT-szolgáltatások további képességeket is megvalósítanak, és a felhőszolgáltatók további szolgáltatásokat és alkalmazásokat kínálnak, amelyek csatlakoztathatók a szolgáltatáshoz. Például, ha az összes eszköz által küldött telemetriai üzeneteket egy adatbázisban szeretné tárolni, általában csak néhány kattintás szükséges a felhőszolgáltató konfigurációs eszközében, hogy a szolgáltatást csatlakoztassa az adatbázishoz, és az adatokat oda továbbítsa.
@ -120,7 +120,7 @@ Ezek a szolgáltatások biztonságot valósítanak meg azáltal, hogy ismerik az
Most, hogy van Azure-előfizetésed, regisztrálhatsz egy IoT szolgáltatásra. A Microsoft IoT szolgáltatása az Azure IoT Hub.
> Vázlatrajz: [Nitya Narasimhan](https://github.com/nitya). Kattints a képre a nagyobb verzióért.
@ -28,7 +28,7 @@ Ebben a leckében a következőket tárgyaljuk:
A szerver nélküli, vagy szerver nélküli számítástechnika kis kódrészletek létrehozását jelenti, amelyek a felhőben futnak különböző események hatására. Amikor az esemény bekövetkezik, a kódod lefut, és megkapja az esemény adatait. Ezek az események sokféle forrásból származhatnak, például webes kérésekből, sorba helyezett üzenetekből, adatbázisban történt változásokból vagy IoT eszközök által küldött üzenetekből.


> 💁 Ha már használtál adatbázis-triggereket, gondolj erre úgy, mint egy hasonló dologra: kódot indít el egy esemény, például egy sor beszúrása.
@ -54,7 +54,7 @@ IoT fejlesztőként a szerver nélküli modell ideális. Írhatsz egy funkciót,
A Microsoft szerver nélküli számítástechnikai szolgáltatása az Azure Functions.
> Vázlatrajz: [Nitya Narasimhan](https://github.com/nitya). Kattints a képre a nagyobb verzióért.
@ -52,11 +52,11 @@ Ezek valós életbeli forgatókönyvek, és gyakran előfordulnak. Néhány pél
Amikor egy eszköz csatlakozik egy IoT szolgáltatáshoz, egy azonosítót használ, hogy azonosítsa magát. A probléma az, hogy ez az azonosító klónozható - egy hacker beállíthat egy rosszindulatú eszközt, amely ugyanazt az azonosítót használja, mint egy valódi eszköz, de hamis adatokat küld.


A megoldás az, hogy az elküldött adatokat egy kódolt formátumba alakítjuk, egy olyan érték segítségével, amelyet csak az eszköz és a felhő ismer. Ezt a folyamatot *titkosításnak* nevezzük, és az adat titkosításához használt értéket *titkosítási kulcsnak* hívjuk.


A felhőszolgáltatás ezután visszaalakítja az adatokat olvasható formátumba, egy *dekódolási kulcs* segítségével. Ha a titkosított üzenetet nem lehet dekódolni a kulccsal, az eszközt feltörték, és az üzenetet elutasítják.


> Sketchnote készítette: [Nitya Narasimhan](https://github.com/nitya). Kattints a képre a nagyobb verzióért.
@ -63,13 +63,13 @@ A Föld egy gömb – egy háromdimenziós kör. Emiatt a pontokat úgy határoz
> 💁 Senki sem tudja pontosan, miért osztják a köröket 360 fokra. A [fok (szög) Wikipedia oldala](https://wikipedia.org/wiki/Degree_(angle)) néhány lehetséges okot ismertet.


A szélességet az Egyenlítővel párhuzamosan futó vonalakkal mérik, amelyek az Északi és Déli féltekét 90°-ra osztják. Az Egyenlítő 0°-nál van, az Északi-sark 90°, más néven 90° Észak, a Déli-sark pedig -90°, vagy 90° Dél.
A hosszúságot a kelet-nyugati irányú fokok számával mérik. A hosszúság 0°-os kiindulópontját *Prime Meridian*-nek nevezik, amelyet 1884-ben határoztak meg, hogy az Északi-sarktól a Déli-sarkig húzódó vonal legyen, amely áthalad a [Brit Királyi Obszervatóriumon Greenwichben, Angliában](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich).


> 🎓 A meridián egy képzeletbeli egyenes vonal, amely az Északi-sarktól a Déli-sarkig húzódik, félkört alkotva.
@ -100,7 +100,7 @@ Egy pont koordinátái mindig `szélesség, hosszúság` formában vannak megadv
* Szélessége: 47.6423109 (47.6423109 fokkal északra az Egyenlítőtől)
* Hosszúsága: -122.1390293 (122.1390293 fokkal nyugatra a Prime Meridian-tól).


## Globális Helymeghatározó Rendszerek (GPS)
@ -112,7 +112,7 @@ A GPS rendszerek úgy működnek, hogy több műhold jelet küld a műholdak akt
> 💁 A GPS érzékelőknek antennára van szükségük a rádióhullámok érzékeléséhez. A teherautókba és autókba beépített GPS antennák úgy vannak elhelyezve, hogy jó jelet kapjanak, általában a szélvédőn vagy a tetőn. Ha külön GPS rendszert használsz, például okostelefont vagy IoT eszközt, akkor biztosítanod kell, hogy a GPS rendszerbe vagy telefonba beépített antenna tiszta rálátással rendelkezzen az égboltra, például a szélvédőn legyen elhelyezve.


A GPS műholdak a Föld körül keringenek, nem rögzített ponton az érzékelő felett, így a helyadatok a tengerszint feletti magasságot is tartalmazzák a szélesség és hosszúság mellett.
@ -18,13 +18,13 @@ A Grove GPS szenzort csatlakoztathatod a Raspberry Pi-hez.
Csatlakoztasd a GPS szenzort.


1. Dugj be egy Grove kábelt a GPS szenzor aljzatába. Csak egy irányban illeszkedik.
1. Kapcsold ki a Raspberry Pi-t, majd csatlakoztasd a Grove kábel másik végét a Grove Base hat **UART** jelzésű aljzatába, amely a Pi-hez van csatlakoztatva. Ez az aljzat a középső sorban található, az SD kártya nyílás közelében, a másik oldalon, mint az USB portok és az ethernet aljzat.


1. Helyezd el a GPS szenzort úgy, hogy a csatlakoztatott antennája látható legyen az ég felé - ideális esetben egy nyitott ablak mellett vagy a szabadban. Az antenna akadálytalan elhelyezése segít tisztább jelet kapni.
A GPS-érzékelő létrejön, és megjelenik az érzékelők listájában.


## A GPS-érzékelő programozása
@ -102,17 +102,17 @@ Programozza be a GPS-érzékelő alkalmazást.
* Állítsa a **Source** mezőt `Lat/Lon` értékre, és adjon meg egy konkrét szélességi, hosszúsági fokot, valamint a GPS-jel rögzítéséhez használt műholdak számát. Ez az érték csak egyszer kerül elküldésre, ezért jelölje be a **Repeat** mezőt, hogy az adat minden másodpercben ismétlődjön.
* Állítsa a **Source** mezőt `NMEA` értékre, és adjon hozzá néhány NMEA mondatot a szövegdobozba. Ezek az értékek mind elküldésre kerülnek, 1 másodperces késleltetéssel minden új GGA (pozíció rögzítési) mondat előtt.
Használhat olyan eszközt, mint például a [nmeagen.org](https://www.nmeagen.org), hogy ezeket a mondatokat térképen rajzolva generálja. Ezek az értékek csak egyszer kerülnek elküldésre, ezért jelölje be a **Repeat** mezőt, hogy az adatok egy másodperccel az elküldésük után ismétlődjenek.
* Állítsa a **Source** mezőt GPX fájlra, és töltsön fel egy GPX fájlt nyomvonal helyszínekkel. GPX fájlokat letölthet számos népszerű térképes és túrázós weboldalról, például az [AllTrails](https://www.alltrails.com/) oldalról. Ezek a fájlok több GPS-helyszínt tartalmaznak egy útvonal formájában, és a GPS-érzékelő minden új helyszínt 1 másodperces időközönként ad vissza.
Ezek az értékek csak egyszer kerülnek elküldésre, ezért jelölje be a **Repeat** mezőt, hogy az adatok egy másodperccel az elküldésük után ismétlődjenek.


> Vázlatrajz: [Nitya Narasimhan](https://github.com/nitya). Kattintson a képre a nagyobb verzióért.
@ -75,7 +75,7 @@ A NoSQL adatbázisokat azért nevezik NoSQL-nek, mert nem rendelkeznek az SQL ad
> 💁 A nevük ellenére néhány NoSQL adatbázis lehetővé teszi az SQL használatát az adatok lekérdezésére.


A NoSQL adatbázisoknak nincs előre definiált sémája, amely korlátozná az adatok tárolását, ehelyett bármilyen strukturálatlan adatot beilleszthet, általában JSON dokumentumok formájában. Ezek a dokumentumok mappákba szervezhetők, hasonlóan a számítógépen lévő fájlokhoz. Minden dokumentum különböző mezőkkel rendelkezhet, mint más dokumentumok - például, ha a farmjárművekből származó IoT-adatokat tárolná, néhány dokumentum tartalmazhat gyorsulásmérő és sebességadatokat, mások pedig a pótkocsi hőmérsékletét. Ha új teherautótípust adna hozzá, például olyat, amely beépített mérlegekkel rendelkezik a szállított termékek súlyának nyomon követésére, akkor az IoT-eszköz hozzáadhatná ezt az új mezőt, és azt tárolhatná anélkül, hogy változtatásokat kellene végezni az adatbázison.
@ -89,7 +89,7 @@ Ebben a leckében NoSQL tárolást fog használni IoT-adatok tárolására.
Az előző leckében GPS-adatokat rögzített egy IoT-eszközhöz csatlakoztatott GPS-érzékelőből. Ahhoz, hogy ezeket az IoT-adatokat a felhőben tárolhassa, el kell küldenie őket egy IoT-szolgáltatásba. Ismét az Azure IoT Hubot fogja használni, ugyanazt az IoT-felhőszolgáltatást, amelyet az előző projektben használt.


### Feladat - GPS-adatok küldése egy IoT Hubba
@ -183,7 +183,7 @@ A hideg útvonal adatok adatközpontokban kerülnek tárolásra - olyan adatbáz
Az Azure Storage-fiókok egy általános célú tárolási szolgáltatás, amely különböző módokon képes adatokat tárolni. Tárolhatsz adatokat blobokként, sorokban, táblákban vagy fájlokként, akár egyszerre is.


> Sketchnote készítette: [Nitya Narasimhan](https://github.com/nitya). Kattints a képre a nagyobb verzióért.
@ -64,11 +64,11 @@ Egy egyszerű példát véve - a farm projektnél talajnedvesség adatokat gyűj
Emberként ennek az adatnak a megértése nehéz lehet. Ez egy számokból álló fal, amelynek nincs jelentése. Az adatok vizualizálásának első lépéseként egy vonaldiagramon ábrázolhatjuk őket:


Ez tovább javítható egy vonal hozzáadásával, amely jelzi, hogy az automatikus öntözőrendszer bekapcsolt, amikor a talajnedvesség értéke elérte a 450-et:


Ez a diagram gyorsan megmutatja nemcsak a talajnedvesség szintjeit, hanem azokat a pontokat is, ahol az öntözőrendszer bekapcsolt.
@ -84,7 +84,7 @@ GPS adatokkal dolgozva a legérthetőbb vizualizáció az lehet, ha az adatokat
A térképekkel való munka érdekes feladat, és sokféle térképszolgáltatás közül választhatsz, például Bing Maps, Leaflet, Open Street Maps és Google Maps. Ebben a leckében az [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) szolgáltatást fogod megismerni, és megtanulod, hogyan jelenítheted meg GPS adataidat.
Az Azure Maps "egy gyűjteménye geospaciális szolgáltatásoknak és SDK-knak, amelyek friss térképadatokat használnak, hogy földrajzi kontextust biztosítsanak webes és mobilalkalmazások számára." A fejlesztők eszközöket kapnak gyönyörű, interaktív térképek létrehozásához, amelyek például ajánlott útvonalakat, forgalmi eseményekről szóló információkat, beltéri navigációt, keresési lehetőségeket, magassági adatokat, időjárási szolgáltatásokat és még sok mást kínálnak.
@ -185,7 +185,7 @@ Most megteheted a következő lépést, amely egy térkép megjelenítése egy w
Ha megnyitod az `index.html` fájlt egy webböngészőben, egy térképet kell látnod, amely a Seattle környékére van fókuszálva.


✅ Kísérletezz a zoom és középpont paraméterekkel, hogy megváltoztasd a térkép megjelenítését. Hozzáadhatsz különböző koordinátákat, amelyek megfelelnek az adataid szélességi és hosszúsági értékeinek, hogy újraközéppontozd a térképet.
@ -317,7 +317,7 @@ Ha hívást indítasz a tárhelyedre az adatok lekéréséhez, meglepődve tapas
1. Töltsd be a HTML oldalt a böngésződbe. A térkép betöltődik, majd a GPS-adatok a tárhelyről betöltődnek, és megjelennek a térképen.


> 💁 Ezt a kódot megtalálod a [code](../../../../../3-transport/lessons/3-visualize-location-data/code) mappában.
> Vázlatrajz: [Nitya Narasimhan](https://github.com/nitya). Kattints a képre a nagyobb verzióért.
@ -35,7 +35,7 @@ Ebben a leckében a következőkről lesz szó:
A geokerítés egy virtuális határ egy valós földrajzi régió körül. A geokerítések lehetnek körök, amelyeket egy pont és egy sugár határoz meg (például egy 100 méter széles kör egy épület körül), vagy poligonok, amelyek egy területet fednek le, például egy iskolaövezetet, városhatárt, egyetemi vagy irodai kampuszt.


> 💁 Lehet, hogy már használtál geokerítéseket anélkül, hogy tudtál volna róla. Ha például az iOS emlékeztetők alkalmazásában vagy a Google Keepben helyalapú emlékeztetőt állítottál be, akkor geokerítést használtál. Ezek az alkalmazások a megadott hely alapján geokerítést állítanak fel, és értesítenek, amikor a telefonod belép a geokerítésbe.
@ -282,7 +282,7 @@ Ahogy az előző leckékből emlékezhet, az IoT Hub lehetővé teszi, hogy újr
A válasz az, hogy nem tudja! Ehelyett több különálló kapcsolatot definiálhat az események olvasására, és mindegyik kezelheti az olvasatlan üzenetek újrajátszását. Ezeket *fogyasztói csoportoknak* nevezzük. Amikor csatlakozik az endpointhoz, megadhatja, melyik fogyasztói csoporthoz kíván csatlakozni. Az alkalmazás minden komponense más fogyasztói csoporthoz csatlakozik.


Elméletileg akár 5 alkalmazás is csatlakozhat minden fogyasztói csoporthoz, és mindegyik üzeneteket kap, amikor azok megérkeznek. A legjobb gyakorlat az, hogy minden fogyasztói csoporthoz csak egy alkalmazás férjen hozzá, hogy elkerülje az üzenetek duplikált feldolgozását, és biztosítsa, hogy újraindításkor minden sorban álló üzenet helyesen legyen feldolgozva. Például, ha a Functions alkalmazását helyben indítja el, miközben a felhőben is fut, mindkettő feldolgozná az üzeneteket, ami duplikált blobokat eredményezne a tárhelyfiókban.
> Sketchnote készítette: [Nitya Narasimhan](https://github.com/nitya). Kattints a képre a nagyobb verzióért.
@ -38,7 +38,7 @@ Nem minden termény érik egyenletesen. Például a paradicsom esetében előfor
Az automatizált betakarítás elterjedésével a termény válogatása a betakarítás helyett a gyárakba került. Az élelmiszerek hosszú szállítószalagokon haladtak, ahol emberek csoportjai válogatták ki a nem megfelelő minőségű terményeket. Bár a gépi betakarítás olcsóbbá tette a folyamatot, az élelmiszerek kézi válogatása továbbra is költséges volt.


A következő fejlődési lépés az volt, hogy gépeket használtak a válogatásra, akár a betakarítógépbe építve, akár a feldolgozóüzemekben. Az első generációs gépek optikai érzékelőket használtak a színek felismerésére, és karok vagy levegőfúvókák segítségével a zöld paradicsomokat egy hulladéktartályba lökték, míg a piros paradicsomok zavartalanul folytatták útjukat a szállítószalagokon.
@ -62,7 +62,7 @@ Például adhatsz egy modellnek milliónyi képet éretlen banánokról bemeneti
> 🎓 Az ML modellek eredményeit *előrejelzéseknek* nevezzük.


Az ML modellek nem adnak bináris választ, hanem valószínűségeket. Például egy modell kaphat egy képet egy banánról, és előrejelzést adhat `érett` 99,7%-kal és `éretlen` 0,3%-kal. A kódod ezután kiválasztja a legjobb előrejelzést, és eldönti, hogy a banán érett.
@ -90,7 +90,7 @@ Számos eszköz áll rendelkezésre, amelyek segítenek ebben, beleértve a felh
A Custom Vision egy felhőalapú eszköz képosztályozók betanítására. Lehetővé teszi, hogy egy osztályozót kis számú képpel betaníts. A képeket egy webes portálon, webes API-n vagy SDK-n keresztül töltheted fel, és minden képhez egy *címkét* adhatsz, amely az adott kép osztályozását jelöli. Ezután betaníthatod a modellt, és tesztelheted, hogy mennyire jól teljesít. Ha elégedett vagy a modellel, közzéteheted annak verzióit, amelyeket webes API-n vagy SDK-n keresztül érhetsz el.
> 💁 Egy Custom Vision modellt akár 5 kép osztályonkénti használatával is betaníthatsz, de a több jobb. Legalább 30 képpel jobb eredményeket érhetsz el.
@ -156,7 +156,7 @@ Az osztályozók nagyon alacsony felbontáson futnak. Például a Custom Vision
* Használj 2 érett banánt, és készíts róluk néhány képet különböző szögekből, legalább 7 képet (5 a tanításhoz, 2 a teszteléshez), de ideális esetben többet.


* Ismételd meg ugyanezt a folyamatot 2 éretlen banánnal.
@ -166,7 +166,7 @@ Az osztályozók nagyon alacsony felbontáson futnak. Például a Custom Vision
1. Kövesd a [képek feltöltése és címkézése szakaszt a Microsoft dokumentációjában az osztályozó gyorsindítójában](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images), hogy feltöltsd a tanítóképeidet. Címkézd az érett gyümölcsöt `ripe`-ként, az éretlent pedig `unripe`-ként.


1. Kövesd a [osztályozó betanítása szakaszt a Microsoft dokumentációjában az osztályozó gyorsindítójában](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier), hogy betanítsd az osztályozót a feltöltött képekkel.
@ -184,7 +184,7 @@ Miután az osztályozó betanult, tesztelheted egy új képpel, hogy osztályozz
1. Kövesd a [modell tesztelése szakaszt a Microsoft dokumentációjában](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model), hogy teszteld az osztályozódat. Használd azokat a tesztképeket, amelyeket korábban készítettél, ne azokat, amelyeket a tanításhoz használtál.


1. Próbáld ki az összes tesztképet, amelyhez hozzáférsz, és figyeld meg a valószínűségeket.
# Ellenőrizd a gyümölcs minőségét egy IoT eszközzel


> Vázlat: [Nitya Narasimhan](https://github.com/nitya). Kattints a képre a nagyobb verzióért.
@ -26,7 +26,7 @@ Ebben a leckében a következőket tárgyaljuk:
A kamerás szenzorok, ahogy a nevük is sugallja, olyan kamerák, amelyeket csatlakoztathatsz az IoT eszközödhöz. Ezek képesek állóképeket készíteni vagy folyamatos videót rögzíteni. Néhányuk nyers képadatokat ad vissza, míg mások tömörítik az adatokat egy képformátumba, például JPEG vagy PNG fájlba. Az IoT eszközökkel kompatibilis kamerák általában kisebbek és alacsonyabb felbontásúak, mint amit megszokhattál, de léteznek olyan nagy felbontású kamerák is, amelyek vetekednek a csúcskategóriás telefonokkal. Különféle cserélhető lencséket, többkamerás rendszereket, infravörös hőkamerákat vagy UV kamerákat is beszerezhetsz.


A legtöbb kamerás szenzor képszenzorokat használ, ahol minden pixel egy fotodióda. Egy lencse fókuszálja a képet a képszenzorra, és több ezer vagy millió fotodióda érzékeli a rájuk eső fényt, majd ezt pixeladatként rögzíti.
@ -74,7 +74,7 @@ Az iterációkat a Custom Vision portálon lehet publikálni.
1. A *Modell publikálása* párbeszédablakban állítsd be a *Predikciós erőforrást* a `fruit-quality-detector-prediction` erőforrásra, amelyet az előző leckében hoztál létre. Hagyd meg a nevet `Iteration2`-ként, majd kattints a **Publikálás** gombra.
@ -88,7 +88,7 @@ Az iterációkat a Custom Vision portálon lehet publikálni.
Másold ki a *Predikciós kulcs* értékét is. Ez egy biztonsági kulcs, amelyet meg kell adnod, amikor meghívod a modellt. Csak azok az alkalmazások használhatják a modellt, amelyek megadják ezt a kulcsot, minden más alkalmazás elutasításra kerül.


✅ Amikor egy új iterációt publikálnak, annak más neve lesz. Hogyan gondolod, hogy lehetne megváltoztatni az iterációt, amelyet egy IoT eszköz használ?
@ -109,7 +109,7 @@ Előfordulhat, hogy az IoT eszközhöz csatlakoztatott kamerával készített k
Ahhoz, hogy a képosztályozó a legjobb eredményeket nyújtsa, olyan képekkel kell tanítani a modellt, amelyek a lehető legjobban hasonlítanak a predikciókhoz használt képekre. Ha például a telefonod kamerájával készítettél képeket a tanításhoz, a képminőség, az élesség és a színek eltérhetnek az IoT eszközhöz csatlakoztatott kamera által készített képektől.


A fenti képen a bal oldali banánképet egy Raspberry Pi kamerával készítették, a jobb oldalit pedig ugyanarról a banánról, ugyanazon a helyen egy iPhone-nal. Jól látható a minőségbeli különbség – az iPhone képe élesebb, élénkebb színekkel és nagyobb kontraszttal.
@ -16,7 +16,7 @@ A kamerát egy szalagkábel segítségével lehet csatlakoztatni a Raspberry Pi-
### Feladat - a kamera csatlakoztatása


1. Kapcsolja ki a Pi-t.
@ -24,17 +24,17 @@ A kamerát egy szalagkábel segítségével lehet csatlakoztatni a Raspberry Pi-
Az animáció, amely bemutatja, hogyan kell kinyitni a klipet és behelyezni a kábelt, megtalálható a [Raspberry Pi Getting Started with the Camera module dokumentációban](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2).


1. Távolítsa el a Grove Base Hat-et a Pi-ről.
1. Vezesse át a szalagkábelt a Grove Base Hat kamera nyílásán. Ügyeljen arra, hogy a kábel kék oldala az **A0**, **A1** stb. analóg portok felé nézzen.


1. Helyezze be a szalagkábelt a Pi kamera portjába. Ismét húzza fel a fekete műanyag klipet, helyezze be a kábelt, majd nyomja vissza a klipet. A kábel kék oldala az USB és ethernet portok felé nézzen.


1. Szerelje vissza a Grove Base Hat-et.
@ -101,7 +101,7 @@ Programozza az eszközt.
A `camera.rotation = 0` sor beállítja a kép forgatását. A szalagkábel a kamera aljába csatlakozik, de ha a kamerát elforgatta, hogy könnyebben ráirányítsa a kívánt tárgyra, akkor ezt a sort a forgatás szögének megfelelően módosíthatja.


Például, ha a szalagkábelt úgy helyezi el, hogy a kamera tetején legyen, állítsa a forgatást 180 fokra:
@ -84,7 +84,7 @@ A Custom Vision szolgáltatás rendelkezik egy Python SDK-val, amelyet képek os
Látni fogod a készített képet, és ezeket az értékeket a **Predictions** fülön a Custom Vision-ben.


> 💁 Ezt a kódot megtalálod a [code-classify/pi](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi) vagy [code-classify/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/virtual-iot-device) mappában.
Some files were not shown because too many files have changed in this diff
Show More