Přeskočit na hlavní obsah

Detektor Vánoc

Úvod

Ježíšek je ultratajná osoba, ale s IoT ho můžeš načapat přímo při rozdávání dárků. 🎄 Pomůže ti k tomu PIR Module: detektor pohybu

S tímhle projektem se naučíš detekovat pohyb ve vzdáleném pokoji. Díky tomu si můžeš ověřit, jestli po českých domácnostech chodí Santa, Ježíšek, Děda Mráz nebo někdo úplně jiný. 😲

Pokud máš Starter Set, budeš k němu potřebovat ještě PIR Module. Kompletní výbavu najdeš v sadě Motion Set.

Připrav si krabičku

  1. Sestav svůj Set. Na Core Module potřebuješ firmware bcf-radio-motion-detector.

    Záložka Firmware v Playgroundu s vybraným firmwarem twr-radio-motion-detector k nahrání

  2. Při správně nainstalovaném firmware uvidíš v Playgroundu na záložce Devices Alias jako motion-detector.

Záložka Devices v Playgroundu se spárovaným zařízením pod aliasem motion-detector:0

Nastav si Node-RED

  1. Programování odstartuj v Node-RED. Nejdřív v Playgroundu klikni na záložku Functions.
  2. Na volnou plochu si přetáhni světle fialový node (bublinu) s názvem MQTT. Najdeš ho v sekci Input.
Uzel mqtt in zvýrazněný v paletě a uzel mqtt umístěný na ploše
  1. Node rozklikni dvojklikem. V řádku Topic určíš klíčovou hodnotu. Teď to bude počítadlo pohybů, které jsou zaznamenány:
node/motion-detector:0/pir/-/event-count
MQTT uzel na ploše s tématem event-count PIR čidla motion-detectoru

Potvrď pomocí tlačítka Done.

  1. Za tenhle node postav node Switch ze sekce Function. Díky němu zařízení pozná, že je detektor zapnutý a může hlásit veškerý pohyb.
  2. Uvnitř nodu vyplň řádek Property jako flow. detectorActive a podmínku uvnitř pole uprav na is true (mrkej na obrázek). Náš tip: Přečti si o téhle funkci víc.
Dialog Edit switch node kontrolující vlastnost flow.detectorActive s podmínkou is true

Potvrď tlačítkem Done.

  1. Teď přijde node Change ze stejné sekce Function.
Change node zvýrazněný v paletě, uzel set msg.payload je umístěný za uzlem switch
  1. V něm nastavíš zprávu, která se ti ukáže, jakmile dorazí ten vousáč s dárkama (případně miminko). 🎅 👼 Takže třeba: Jezisek je v obyvaku. Náš tip: Pokud si chceš nastavit i upozornění do mobilu, nepoužívej čárky ani háčky, Blynk to nemá rád.
Dialog Edit change node s pravidlem nastavujícím flow.detectorActive na msg.payload

Potvrď tlačítkem Done.

  1. Nad tímhle flow načni další, díky kterému budeš moct detektor zapínat a vypínat. Bude se skládat ze dvou nodů. První je node Switch ze sekce Dashboard.
Uzel switch z palety dashboard zvýrazněný a umístěný nad flow detektoru
  1. Uvnitř tohohle nodu uprav Label na Stav detektoru. Takhle bude označený tvůj projekt v Dashboardu.
Dialog Edit switch node s Label Stav detektoru a hodnotami true a false

Potvrď tlačítkem Done.

  1. Za něj postav node Change ze sekce Dashboard. Jojo, ten, co už máš o kousek níž. 👍
Change node zvýrazněný v paletě, uzel set msg.payload je umístěný za přepínačem Stav detektoru
  1. Uvnitř nastav v poli Rules funkci, se kterou zařízení pozná, jestli je tlačítko vypnuté, nebo zapnuté: flow. detectorActive (viz obrázek). Pozor na překlepy!
Dialog Edit change node pro flow přepínače se zvýrazněným pravidlem Set flow.detectorActive na msg.payload

Potvrď tlačítkem Done.

  1. Teď všechny nody pospojuj podle obrázku, ale ještě nemačkej tlačítko Deploy. Chybí nám poslední node, který přidáme za chviličku. S ním nastavíš upozornění do mobilu. 🤳 propojeni nodu

Připrav Blynk IoT pro upozornění

Detekce dorazí na tvůj smartphone přes appku Blynk IoT, kam zachycený pohyb přiletí jako push notifikace. A to je fakt super. 😎

  1. Pokud ještě žádný nemáš, založ si účet v Blynk IoT. V tomhle návodu najdeš, jak si nastavit účet, šablonu zařízení (device template) a zařízení (device) — budeš potřebovat všechny tři. Můžeš taky využít šablonu z některého předchozího projektu.

  2. V Blynk IoT se push notifikace nepřidává na obrazovku telefonu jako widget — posílá se jako Event definovaný na tvé šabloně. V detailu šablony otevři záložku Events a přidej nový event (třeba ho pojmenuj motion a dej mu zprávu, kterou chceš dostávat, například Jezisek je v obyvaku). Pak pro tenhle event zapni Notifications, aby ti ho Blynk doručil na telefon. Návod tě nastavením šablony provede.

  3. Stáhni si do telefonu appku Blynk IoT z App Store nebo Google Play a přihlas se stejným účtem. Ujisti se, že má appka povolená upozornění, aby se zpráva mohla zobrazit. 📱

Propoj mobil s krabičkou

  1. Vrať se k počítači. Na plochu Node-RED postav poslední node celého projektu — node ze sekce Blynk IoT, který umí spustit tvůj event (node log event). Patří hned za flow se switchem (mrkni na obrázek). 👀

    Uzel notify pro Blynk zvýrazněný na ploše, umístěný na konec flow detektoru

  2. Rozklikni node dvojklikem. Vpravo uvidíš malou tužtičku. Klikni na ni a otevře se nové okno. Do pole Url zadej blynk.cloud a do polí Auth Token a Template ID zkopíruj hodnoty z detailu zařízení ve webové appce Blynk na počítači. Potvrď tlačítkem Add.

  3. Nastav node tak, aby spouštěl Event, který jsi vytvořil (kód eventu, např. motion). Právě tohle promění zachycený pohyb v push notifikaci. Potvrď tlačítkem Done.

  4. Nakonec tenhle zelený node propoj s předchozím flow, aby detektor ➡️ spustil Blynk IoT event ➡️ který dorazí na tvůj mobil. Pak zmáčkni červené tlačítko Deploy. 🚨

A... akce!

  1. Je čas špehovat toho dárečkového krále. V záložce Dashboard v Playgroundu zapni svůj detektor. 🕵️
Hotové flow s přepínačem Stav detektoru a řetězcem PIR eventu končícím uzlem notify
  1. PIR Module vycítí i sebemenší pohyb a zpráva o cizí přítomnosti ti přijde do mobilu raz dva. Ježíšek nemá šanci! Honem se běž podívat a načapej ho

  2. Poznámka na okraj: Ježíška si po načapání udobři, aby ti doma vůbec nějaké dárky nechal. 😜