Přeskočit na hlavní obsah

Vylepšené tlačítko pro rodiče

Úvod​

Máte už hotovou základní verzi tlačítka, kterým vás máma zavolá k večeři? Gratulujeme. 👍 S tímto vylepšením posunete projekt dál: zpráva se bude měnit podle denní doby a navíc na ni můžete odpovědět.

V tomto projektu se naučíte nastavit různé zprávy pro různou denní dobu, odeslat speciální notifikaci dlouhým podržením tlačítka a naprogramovat jednoduchou odpověď. 👌

Základní verzi projektu najdete tady: Vyrobte si IoT tlačítko, kterým vás máma zavolá k večeři.

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

Připravte si Node-RED​

  1. Sadu Start sestavte a spárujte. Do modulu Core Module budete potřebovat opět starý známý firmware twr-radio-push-button.
Záložka Devices v Playgroundu se spárovaným zařízením pod aliasem push-button:0

Nastavte si notifikaci​

  1. Flow pro notifikaci nastavte podobně jako u základní verze projektu.

Na plochu umístěte uzel mqtt in ze sekce network, který má v poli Topic počítání stisknutí. Vedle něj umístěte uzel write ze sekce Blynk IoT a nastavte ho stejně jako v základní verzi: stejné připojení (Url, Auth Token, Template ID) i stejný virtuální pin. Notifikaci do mobilu pak pošle automatizace, kterou už v Blynku máte.

❗ Uzel Change zatím vynechte, hned se dozvíte proč.

Zatím to vypadá takto:

Uzel MQTT event-count a uzel notify pro Blynk umístěné na ploše, zatím nepropojené
  1. Mezi oba uzly tentokrát vložte jiný uzel, do kterého zkopírujete JavaScript. Najdete ho jako uzel function ve stejnojmenné sekci.
Uzel Function zvýrazněný v paletě a umístěný mezi uzly MQTT a notify
  1. Do tohoto uzlu vložíte kód, kterým ovládnete čas. ⏳ Nastavíte v něm, od kolika do kolika hodin vám má chodit zpráva o snídani 🍳, obědě 🍗 a večeři 🍕. Chytrý JavaScript, že?

Následující kód zkopírujte v nastavení uzlu na záložku On Message. Když se na kód podíváte, uvidíte, že některé části jsou barevně zvýrazněné. V nich nastavíte čas jídla a vlastní zprávu. Barevné části kódu si upravte podle sebe, jen pamatujte, že háčky a čárky fungovat nebudou.

var date = new Date();
var hour = date.getHours();

if(hour >= 8 && hour < 11)
{
msg.payload = "Pojd na snidani, ospalce";
return msg;
}
else if(hour >= 11 && hour < 17)
{
msg.payload = "Obidek na tebe uz ceka";
return msg;
}
else if(hour >= 17 && hour < 21)
{
msg.payload = "Podava se vrchol dne, vecere";
return msg;
}
Dialog Edit function node s JavaScriptem hlídajícím čas jídel na záložce On Message
  1. Ve stejném okně uzel ještě pojmenujte v řádku Name, třeba Nastavení času a zprávy.
Dialog Edit function node s pojmenováním uzlu ve zvýrazněném poli Name

Potvrďte tlačítkem Done.

Nastavte dlouhé stisknutí tlačítka​

  1. A jedeme dál. Teď nastavte, co tlačítko udělá, když ho rodiče dlouho podrží. I to se dá ovládat. 👌

Na plochu umístěte další uzel mqtt in ze sekce network.

  1. Nastavte v něm ale jiný Topic, díky kterému tlačítko zareaguje právě na dlouhé stisknutí.
node/push-button:0/push-button/-/hold-count
Dialog Edit mqtt in node se zvýrazněným polem Topic s tématem hold-count tlačítka
  1. Za něj umístěte uzel change, který už znáte ze základní verze. Nastavte v něm vlastní zprávu, která se odešle, když rodiče tlačítko dlouho podrží. Hodí se k zavolání kvůli čemukoli jinému než jídlu 🙂, třeba: Pojd dolu, lenochu!
Dialog Edit change node nastavující msg.payload na zprávu Pojd dolu, lenochu!
  1. Za tento uzel přidejte ještě jeden, ve kterém zprávu odkliknete. Zpráva vám navíc vyskočí nejen v mobilu, ale i na počítači.

Je to uzel notification v sekci dashboard.

Uzel notification pojmenovaný show notification umístěný za uzlem set msg.payload ve flow držení tlačítka
  1. V uzlu vyberte v řádku Layout možnost OK / Cancel Dialog a potvrďte tlačítkem Done.
Dialog Edit notification node s Layout nastaveným na OK / Cancel Dialog
  1. Všechno propojte podle obrázku: oba flow vedou do uzlu write a do uzlu notification. Pak stiskněte Deploy.
Oba flow tlačítka propojené s uzly notify a show dialog, se zvýrazněným tlačítkem Deploy

Akce!​

  1. Stejně jako minule svěřte vylepšenou krabičku mámě a tátovi.
  2. Vysvětlete jim, že krátkým stisknutím vás zavolají k jídlu…

Notifikace z tlačítka v aplikaci Blynk IoT

  1. …a pokud vás chtějí zavolat kvůli čemukoli jinému, musí tlačítko podržet déle. 👇

Notifikace z tlačítka v aplikaci Blynk IoT

Aspoň vás nezklame, když místo jídla dostanete na talíř rodinnou poradu. Fuj, jiné menu, prosím!