Smart Alarm System
o protokole MQTT, MicroPython-e, mikrokontroléri ESP32 a jednom chytrom poplašnom systéme
About
Jednou zo súčastí chytrých domácností býva poplašný systém a na tomto cvičení si jeden vytvoríme. Každé pracovisko bude reprezentovať jednu miestnosť a každá miestnosť bude vybavená senzorom pohybu, svetlom a bzučiakom. Pri narušení domácnosti sa svetlo rozsvieti z každej miestnosti sa rozozvučí zvuk poplachu. Každý senzor a akčný člen bude pripojený k mikrokontroléru a vzájomne budú komunikovať pomocou protokolu MQTT.
Goals
naučiť sa pracovať s protokolom MQTT v jazyku MicroPython
naučiť sa pracovať s digitálnymi vstupmi a výstupmi na mikrokontroléri ESP32 v jazyku MicroPython
Content
Mission Briefing
V prvom kroku sa zoznámite s celkovou architektúrou riešenia ako aj s očakávaným správaním.
Úloha
Navrhnite architektúru poplašného systému.
Úloha
Rozdeľte si zodpovednosti za vývoj jednotlivých súčastí systému.
Rozdeľte si povinnosti v tíme tak, aby každý jeden člen vytváral práve jednu vec v systéme.
The Light Thing
V tomto kroku vytvoríte vec, ktorá bude reprezentovať svetlo.
Úloha
Podľa priloženej schémy pripojte k mikrokontroléru ESP32 LED diódu.
Poznámka
Ak ste sa rozhodli miesto jednej LED diódy zapojiť RGB LED diódu, upravte zapojenie podľa potreby.
Úloha
Implementujte správanie svetla podľa navrhnutého správania na začiatku cvičenia.
Vec bude zaregistrovaná v niekoľkých témach:
iotlab/home/alarm
- po prijatí správyalarm
sa svetlá rozsvietia, poprípade začnú blikať a po prijatí správyidle
svetlá zhasnúiotlab/home/[room]/light
- po prijatí správyon
sa svetlo rozsvieti len v uvedenej miestnosti a po prijatí správyoff
sa vypneiotlab/home/lights
- po prijatí správyon
sa svetlá rozsvietia vo všetkých izbách a po prijatí správyoff
zhasnú
Úloha
Otestujte správanie veci.
Keďže správanie veci závisí od správ prijatých cez MQTT, testovanie
môžete vykonať z príkazového riadku pomocou nástrojov
mosquitto_put
a mosquitto_sub
.
The Buzzer Thing
V tomto kroku vytvoríte vec, ktorá bude reprezentovať bzučiak.
Úloha
Podľa priloženej schémy pripojte k mikrokontroléru bzučiak.
Úloha
Implementujte správanie veci podľa navrhnutého správania na začiatku cvičenia.
Vec bude zaregistrovaná v niekoľkých témach:
iotlab/home/alarm
- po prijatí správyalarm
sa bzučiak rozozvučí a po prijatí správyidle
sa opäť vypneiotlab/home/[room]/buzzer
- po prijatí správyon
sa bzučiak rozozvučí len v uvedenej miestnosti a po prijatí správyoff
stíchneiotlab/home/buzzers
- po prijatí správyon
sa bzučiaky rozozvučia v celej domácnosti a po prijatí správyoff
stíchnu
Úloha
Otestujte správanie veci.
Keďže správanie veci závisí od správ prijatých cez MQTT, testovanie
môžete vykonať z príkazového riadku pomocou nástrojov
mosquitto_put
a mosquitto_sub
.
The Thing with PIR Sensor
V tomto kroku vytvoríte vec, ktorá bude detegovať pohyb.
Úloha
Podľa priloženej schémy pripojte k mikrokontroléru PIR senzor.
Úloha
Implementujte správanie veci podľa navrhnutého správania na začiatku cvičenia.
Vec bude zaregistrovaná v téme iotlab/home/alarm
:
- ak bude systém v stave
idle
, nebude vec posielať žiadne správy, - ak bude systém v stave
armed
a dôjde k detekcii pohybu, vec pošle správualarm
, čím sa systém prepne do tohto stavu, a - ak bude systém v stave
alarm
, nebude vec posielať žiadne správy.
Úloha
Otestujte správanie veci.
Keďže správanie veci závisí od správ prijatých cez MQTT, testovanie
môžete vykonať z príkazového riadku pomocou nástrojov
mosquitto_put
a mosquitto_sub
.
Goodbye
Upozornenie
Pred odchodom z cvičenia nezabudnite:
- rozobrať vaše zapojené veci
- reštartovať minipočítač Raspberry Pi
Additional Tasks
- Vytvorte vec s tlačidlom a RGB alebo dvoma LED diódami, ktorá bude
slúžiť na aktivovanie, resp. deaktivovanie režimu poplašného systému:
- Keď bude systém v pokoji (v stave
IDLE
), bude LED dióda svietiť na zeleno. - Po stlačení tlačidla sa systém aktivuje a farba LED diódy bude
červená (stav
ARMED
). - Po zistení pohybu začne červená LED dióda blikať (stav
ALARM
). - Po stlačení tlačidla v stave
IDLE
aleboALARM
sa systém znova prepne do stavuIDLE
.
- Keď bude systém v pokoji (v stave
Additional Links
Mu Editor: Keyboard Shortcuts - All the features in Mu can be accessed via keyboard shortcuts. Here’s how they work!
ESP32 - informácie o mikrokontroléri ESP32
ESP32 Labs - Hands on labs for esp32 microcontroller as promo for conferences.
Connecting Things - prednáška o prepojení vecí cez internet