Loading...
Loading...
Loading...
Loading...
Loading...
IoT laboratoř není omezena na specifický HW. Studenti mohou pro vlastní řešení použít jakýkoliv HW, omezením je jen finanční náročnost - HW pro prototyp řešení by neměl přesahovat 3 000 Kč.
Pro vzdělávací část IoT laboratoře jsme museli vybrat jeden hardware, na kterém jsme postavili materiály. Vzhledem k široké dostupnosti, jednoduchosti a snadné rozšiřitelnosti jsme vybrali platformu kompatibilní se systémem Arduino - konkrétně mikrokontroler WEMOS D1 MINI LITE, který je levný a splňuje účely základního pochopení jak IoT funguje. Díky spolupráci s ARDUINO-SHOP.CZ lze nyní všechny součástky nakoupit na jednom místě a IoT laboratoř dostala slevu, takže nám to umožní podpořit více týmů. Jedna sada součástek se vejde do 900 Kč.
Design a Better Future
Studenti jsou šikovní a dokážou úžasné věci, pokud je práce baví. Proto jsme nadesignovali program IoT laboratoře (IoT = Internet of Things = internet věcí) jako vzdělávací i praktický zároveň a dali studentům příležitost makat na svém vlastním projektu, který je bude bavit.
IoT laboratoř je o možnostech, kreativitě a schopnosti realizovat své nápady.
IoT laboratoř není jen o internetu věcí a technice, ale stejnou měrou i o schopnostech potřebných k dotažení projektu do úspěšného konce. Proto je část věnována i sestavení týmu, nastavení komunikace, marketingu řešení, prezentacím nebo designování životaschopného řešení.
Nečekejte, že laboratoř je fyzický prostor. Jde spíše o mix hardwaru, vzdělávacích materiálů, workshopů a nadšených lidí, které to baví.
Učíme se hrou. Nepřestáváme si hrát, protože stárneme, ale stárneme, protože si přestáváme hrát.
Z pohledu institucí je program vhodný pro školy, spolky a vzdělávací organizace, které se nevyhýbají technice a podnikavosti. Ideální je mít namixované týmy studentů z různých ročníků, nejlépe si vedou studenti třetího ročníku střední školy a výš. Pokud to škola umožňuje, mohou výstup z IoT laboratoře využít jako maturitní projekt.
Co se očekává od zapojené školy?
Co se očekává od IBM?
Vyučujícího, který to s námi rozjede a povede tým(y) studentů
Podpora ze strany ředitele
Nábor studentů, kteří "chtějí"
Uvolnění studentů na DEN D a MakerFaire veletrh
Financování výukových sad (1 sada HW = cca 900 Kč)
Poskytnutí vzdělávacích materiálů pro výuku
Materiální podpora studentských projektů
Workshop pro vyučující - zaškolení
Workshopy a přednášky během roku
Podpora formou chatu
Certifikát pro úspěšné studenty
1x
1x
1x
1x
1x
1x
1x
1x
1x
2x
1x
1x
3x
5x
1x
IoT laboratoř má dvě části - vzdělávací a projektovou. Části můžou být různě dlouhé, podle vstupních znalostí studentů a rychlosti s jakou se nové věci učí.
Hlavní myšlenkou vzdělávací části je ukázat na jednoduchém příkladu celý koncept IoT - od řídící jednotky (mikrokontroleru), jejího zapojení, lokálnímu naprogramování, až po napojení na cloud a ovládání přes internet. Studenti se seznámí s různými čidly, aktivními prvky i cloudovým prostředím, a sestaví si svůj první jednoduchý projekt.
Druhá, projektová část se odvíjí od potřeb každého týmu. Formou má blíže ke konzultacím a z pohledu materiálů jde především o metodiky používané ve světě startupů. Části však nejsou striktně odděleny, ale prolínají se - formování týmů a definování vlastního projektu probíhá již během prvního pololetí.
Doporučená časová dotace je 2-3 vyučovací hodiny týdně (ideálně v celku).
září: školení vyučujících
říjen: start IoT laboratoře, nábor studentů
říjen - listopad: hrajeme si s internetem věcí
prosinec - leden: příprava na den D
leden: den "D" - prezentace studentských projektových záměrů porotě v IBM (přihláška projektů k nahlédnutí zde: ibm.biz/iotprojekt)
únor - květen: tvoříme vlastní projekty
červen - Maker Faire veletrh studentských projektů
Plán prvního pololetí
Experiment č.1
IoT laboratoře a co je to internet věcí? Seznámení. Co vás baví? Co se chcete naučit? Hopes & Fears cvičení. Co nás čeká. Sledujte nás na facebooku a instagramu :) Vysvětlení pojmu IoT. Demo Watson IoT Quickstart. Příklady z praxe. Architektura řešení. Představení harmonogramu IoT laboratoře a vytvoření účtů (Cloud/Discord).
Experiment č.2
Mikrokontroler - řídící jednotka Seznámení se sadou IoT laboratoře. Vysvětlení pojmů. Prozkoumání mikrokontroleru Wemos D1 mini Lite. Základy IDE k mikrokontroleru Arduino UNO/MEGA/WEMOS. Oživení hardwaru. Jednoduché naprogramování bez znalosti kódu.
Experiment č.3
Programování mikrokontroleru. Programování embedded systémů. Vzorové příklady a jejich úprava. Orientace v kódu a schopnost se z něho učit. Rozšíření programu o další funkcionalitu - např. přidání tlačítka, displeje.
Experiment č.4
Senzory - teplota a vlhkost. Senzory jako periferie pro internet věcí. Lokální práce se senzory. Typy senzorů, výběr senzorů, práce s datasheety. Vyhledávání klíčových informací na internetu. Kontextuální porozumění senzoru včetně komunikace, dat apod.
Experiment č.5
Senzory - vzdálenosti a osvětlení. Senzory jako periferie pro internet věcí. Lokální práce se senzory. Typy senzorů, výběr senzorů, práce s datasheety. Vyhledávání klíčových informací na internetu. Kontextuální porozumění senzoru včetně komunikace, dat apod.
Experiment č.6
Silové prvky - kopneme do vrtule, ať se točí
Lokální práce se silovými prvky. Typy silových prvků (serva, motory), výběr prvků, práce s datasheety. Vyhledávání klíčových informací na internetu. Vymýšlíme využití.
Experiment č.7
IoT: Sestavujeme chladící mechanismus
Využití probraných senzorů k sestavení zařízení, které spustí větrák, když teplota překročí určitou hodnotu. Signalizace pomocí diod nebo ukazatele na bázi serva.
Experiment č.8
Vývoj inovativních produktů
Základy designových přístupů. Design zaměřený na uživatele. Kreativní myšlení. Prototypování.
Experiment č.9
IoT: Cloud a připojení zařízení na internet
Co je to cloud. Jak se v něm orientovat. Připojení mikrokontroleru do cloudu - využití služeb v Cloudu (např. IoT platforma).
Experiment č.10
IoT: NodeRED
Eventové programování v postředí NodeRED. Instalace. Seznámení s prostředím. Tvorba dahsboardu.
Experiment č.11
REST api a noSQL databáze. Co je to REST api a jak přes něj přistupovat k datům. Základy noSQL databází. Jak s nimi pracovat.
Experiment č.12
Základy projektového řízení
Využití "Jungle Game" pro pochopení fungování týmu. Seznámení se základy projektového řízení.
Plán druhého pololetí (projektové části): Druhé pololetí je přizpůsobeno potřebám jednotlivých projektů. K dispozici je využití různých metodik podle stádia projektu. Garant/vyučujíí na škole v této části funguje jako "parťák" studentských týmů a pomáhá je navigovat, překlenout překážky.
funkční prototyp (včetně webového/mobilního rozhraní, využívající cloudové služby)
webová stránka (anebo leták) prezentující řešení
jednoduchá dokumentace projektu (struktura k dipozici zde: https://github.com/iot-laborator/projekty)
krátké video (2-3 min) představující projekt
Z minulých lekcí víme, jak k našemu systému připojit základní prvky uživatelského rozhraní (tlačítka, LED, LCD displej, sériová linka), jak detekovat přiblížení uživatele, měřit úroveň osvětlení. V dnešní lekci náš systém rozšíříme o to, co můžete využít při sestavování vlastní meteostanice, tedy o měření atmosférických veličin. Konkrétně se bude jednat o dvě veličiny – TEPLOTU VZDUCHU a jeho RELATIVNÍ VLHKOST.
Pro měření teploty existuje velká spousta různých analogových i digitálních senzorů. Jednotlivé senzory se liší zejména citlivostí, rozsahy teplot, rozhraním atd.
Obdobně, jako v případě analogových senzorů, existuje i u digitálních senzorů řada rozhraní, přes která se data ze senzorů dají vyčítat. Mezi nejpopulárnější rozhraní patří například rozhraní SPI, I2C a 1-Wire. SPI (Serial Peripheral Interconnect) je synchronní sběrnice využívající čtyři vodiče. Sériový vstup a výstup jsou použity pro přenos dat, jeden vodič je pak použit k vedení hodinového signálu (a tedy k synchronizaci komunikace) a jeden vodič pak slouží k výběru prvku na sběrnici (tedy například konkrétního senzoru). I2C (Inter-Integrated Cicruit) je, obdobně jako SPI, synchronní sběrnice, která ale využívá pouze 2 vodiče. Jeden pro přenos dat a jeden k vedení hodinového signálu.
Poznámka: I2C je ochranná známka patřící firmě NXP Semiconductors. Řada výrobců čipů tento fakt obchází tím, že toto rozhraní pojmenovává jinak, jako například TwoWire Interface nebo SMBus. Nenechte se proto zmást názvem rozhraní a v datasheetu vždy koukejte na konkrétní popis komunikace se senzorem.
1-Wire je komunikační rozhraní založené na podobném principu, jako I2C, nicméně využívá pouze jediný vodič. Toto rozhraní se typicky používá u low-cost senzorů.
Bez ohledu na použité rozhraní se s digitálním senzorem pracuje většinou velmi podobně. Senzory často měří více veličin a ke zjištění přesné hodnoty je mnohdy potřeba vyčíst ze senzoru více údajů (např. kalibrační data). Veškeré informace bývají v senzoru uložené v tzv. registrech. V typickém případě je tedy nejprve nutné specifikovat, se kterým senzorem chceme komunikovat a poté určit, co (tedy jaký registr) chceme ze senzoru vyčíst. V jednodušších případech senzor při vyčítání vrátí všechna data najednou. V případě, že se senzor nachází ve větších vzdálenostech od měřícího systému, je třeba využít průmyslové sběrnice, jako například EIA485.
K měření relativní vlhkosti využijeme senzor DHT11 (také označovaný jako AM2303). Jedná se o kombinovaný digitální senzor relativní vlhkosti a teploty vzduchu využívající 1-Wire rozhraní. Z pouzdra senzoru jsou vyvedeny čtyři kontakty. Napájecí pin (VDD), zemnící pin (GND) a datový pin (DATA) senzoru budeme potřebovat. Jeden z pinů (NULL) nemá žádný účel a můžeme ho tedy ignorovat.
Úkol Projděte datasheet senzoru DHT11. Identifikujte piny senzoru. Jaké hodnoty napájecího napětí lze použít? Jaký rozsah relativní vlhkosti je senzor schopný měřit?
Připojení senzoru k našemu systému je jednoduché. 1-Wire rozhraní vyžaduje pull-up rezistor na datové lince (10 kΩ). Některé senzory mají již rezistor zabodovaný na desce. Lze tedy zapojit senzor třemi způsoby:
Zapojit přes nepájivé pole, kde využiji 10 kΩ rezistor jako pull-up.
Zapojit pomocí pull-up rezistoru zabudovaného na vybraných pinech mikrokontroleru.
Využít senzor, který má již u sebe na desce zabudovaný rezistor.
Pro vyčítání dat ze senzoru přes 1-Wire rozhraní použijeme dostupnou knihovnu DHT (nainstalujte v Arduino IDE přes Spravovat knihovny/Library Manager). Knihovna je určena pro příbuzné senzory DHT11 a DHT22 a rovnou nám dává k dispozici funkci vyčtení teploty a vyčtení vlhkosti.
ÚKOL Zjistěte jak se tyto funkce volají a doplňte je do níže uvedeného kódu. Projděte si celý kód a doplňte ho tam, kde vidíte '???'. Nejlepší varianta, jak zjistit jaké funkce knihovna nabízí, je podívat se přímo do souboru knihovny (DHT.h).
Pin pro DHT senzor je třeba nastavit na vstup - vyčítáme, co nám senzor pošle:
Abychom vyčítali hodnoty senzoru s přesností na desetinná místa, zvolíme proměnnou typu float:
Jaké funkce nabízí knihovna dht.h naleznete, pokud si ji otevřete např. v textovém editoru - nápověda: funkce hledejte pod třídou public
.
Po nahrání do mikrokontroleru by měl program každé 2 sekundy do sériové konzole vypsat aktuální hodnotu naměřené teploty a relativní vlhkosti vzduchu.
Úkol Znovu projděte datasheet senzoru. Proč vyčítáme senzor každé 2 sekundy?
Co jsme zvládli?
umíme zapojit digitální čidlo teploty a vlhkosti
víme o 3 nejpopulárnějších rozhraní pro digitální čidla
umíme si z knihovny vyčíst potřebné funkce
zlepšujeme se v debuggování kódu 😎