Přeskočit na hlavní obsah

Detektor otevírání ledničky

Úvod​

Určitě to znáte. V lednici si schováváte poslední kousek dortu z narozeninové oslavy, a když se k němu konečně dostanete… je pryč. A mlsný sourozenec má čokoládu na bradě. Zastavte ho chytrou krabičkou! 🎂

V tomto projektu se naučíte vyrobit detektor otevírání ledničky. 👈

Budete potřebovat jen krabičku s tlačítkem a USB dongle. Vystačíte si tedy se základní Sadou Start od HARDWARIO.

Stáhněte si nový firmware​

  1. Pokud jste to ještě neudělali, sestavte Sadu Start.
  2. Do modulu Core Module nahrajte speciální firmware twr-radio-move-detector-x-axis (najdete ho v Playgroundu mezi ostatními firmwary). Díky němu bude krabička reagovat na pohyb. 👌
  3. Modul Core Module spárujte s USB donglem. Hned po spárování uvidíte, že se jeho Alias změnil na x-axis-detector.
Záložka Devices v Playgroundu se spárovaným Core Module pod aliasem x-axis-detector:0

Rozjeďte to v Node-RED​

  1. V Playgroundu klikněte na záložku Functions, kde je programovací plocha Node-RED.
  2. Začněte jako vždycky: na plochu nejdřív umístěte uzel mqtt in ze sekce network. Dvakrát na něj klikněte a do pole Topic zkopírujte tento řádek, podle kterého krabička pozná pohyb:
node/x-axis-detector:0/accelerometer/-/event-count
Dialog Edit mqtt in node se zvýrazněným polem Topic s tématem event-count akcelerometru

Potvrďte tlačítkem Done.

  1. Teď přidáte kousek JavaScriptu. 🙌 Nejdřív na plochu umístěte uzel function ze stejnojmenné sekce…

  2. …a pak na něj dvakrát klikněte. Na záložku On Message zkopírujte tento kód, který bude počítat, kolikrát se lednice otevřela:

var count = flow.get("count") || 0;
count++;
flow.set("count", count);
msg.payload = count;
return msg;

Uzel ještě pojmenujte v řádku Name, třeba Počítadlo.

Dialog Edit function node s kódem počítadla otevření lednice a vyplněným názvem uzlu

Potvrďte tlačítkem Done.

  1. Vedle něj umístěte poslední uzel, text ze sekce dashboard.

  2. V nastavení uzlu přepište pole Label na text, který se má při počítání zobrazovat, třeba Otevřená lednice.

Dialog Edit text node s polem Label nastaveným na Otevřená lednice

Potvrďte tlačítkem Done.

  1. Všechny tři uzly propojte tak, jak vidíte na obrázku. Nezapomeňte v pravém horním rohu kliknout na staré známé tlačítko Deploy, kterým celý flow spustíte.
Všechny tři uzly propojené od MQTT přes počítadlo k textovému uzlu, se zvýrazněným tlačítkem Deploy

A… akce!​

  1. Teď pastičku zprovozníme. Dejte do lednice dort nebo jinou návnadu. 🍰
  2. Krabičku položte naležato do dvířek lednice.
  3. Když někdo dvířka otevře, krabička vám pošle upozornění na záložku Dashboard.
Dlaždice Otevřená lednice na Dashboardu ukazující 4 otevření lednice
  1. Utíkejte zpacifikovat zlotřilého zloducha! 👮
  2. A pak si vychutnejte sladké vítězství. 💘