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.

The Thing with Light

Ú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ávy alarm sa svetlá rozsvietia, poprípade začnú blikať a po prijatí správy idle svetlá zhasnú
  • iotlab/home/[room]/light - po prijatí správy on sa svetlo rozsvieti len v uvedenej miestnosti a po prijatí správy off sa vypne
  • iotlab/home/lights - po prijatí správy on sa svetlá rozsvietia vo všetkých izbách a po prijatí správy off 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.

The Thing with Buzzer

Ú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ávy alarm sa bzučiak rozozvučí a po prijatí správy idle sa opäť vypne
  • iotlab/home/[room]/buzzer - po prijatí správy on sa bzučiak rozozvučí len v uvedenej miestnosti a po prijatí správy off stíchne
  • iotlab/home/buzzers - po prijatí správy on sa bzučiaky rozozvučia v celej domácnosti a po prijatí správy off 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.

The Thing with PIR Sensor

Ú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ávu alarm, čí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

Additional Tasks

  1. 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 alebo ALARM sa systém znova prepne do stavu IDLE.
  • 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