Přeskočit na hlavní obsah

Bezdrátové tlačítko

Tento dokument vás provede projektem Bezdrátového tlačítka. Budete moci komunikovat se svým tlačítkem v prostředí Node-RED a spouštět službu push notifikací IFTTT při jeho stisknutí. Na svůj chytrý telefon obdržíte upozornění formou push notifikace.

Blokové schéma​

Blokové schéma: sada s tlačítkem propojená sub-GHz rádiem přes Radio Dongle s Node-RED, který volá IFTTT webhook

Požadavky​

Nahrání firmwaru​

V tomto postupu použijeme HARDWARIO Playground k nahrání firmwaru do Core Modulu.

Krok 1: Připojte kabel Micro USB k Core Modulu a k počítači​

Krok 2: Nahrání firmwaru​

Spusťte aplikaci HARDWARIO Playground. Na záložce Firmware vyberte a nahrajte firmware bcf-radio-push-button do Core Modulu.

warning

Nahrávání firmwaru do Core Module R1 a R2 Pro rozdíly v nahrávání firmwaru do staršího Core Module 1 a novějšího Core Module 2 si prosím přečtěte srovnání Core Module R1 a R2 v sekci Hardware.

Krok 3: Odpojte kabel Micro USB od Core Modulu a počítače.​

success

V tomto bodě je firmware úspěšně nahrán.

Sestavení hardwaru​

Podívejte se na krátké video s jednoduchou ukázkou krok za krokem:

Krok 1: Začněte s Mini Battery Module​

Krok 2: Připojte Core Module na Mini Battery Module​

Krok 3: Připojte Button Module na Core Module​

Spuštění Playgroundu​

danger

Pokud používáte nový HARDWARIO Playground, použijte záložku Functions místo http://localhost:1880/. Proces párování nyní probíhá na záložce Devices. Pro otestování komunikace použijte záložku Messages.

Krok 1: Otevřete Node-RED ve svém webovém prohlížeči.​

http://localhost:1880/

Krok 2: Měli byste vidět prázdnou pracovní plochu s označením Flow 1​

Krok 3: Vložte následující úryvek do flow (pomocí Menu >> Import) a klikněte na záložku Flow 1​

Flow v Node-RED s inject tlačítky pro příkazy brány: výpis bran, spuštění a zastavení párování uzlů

info

Tento úryvek poskytuje ovládací tlačítka pro příkazy gateway/rádio. Tyto příkazy jsou odesílány přes protokol MQTT.

Krok 4: Nasazení flow pomocí tlačítka Deploy v pravém horním rohu​

Krok 5: Otevřete záložku debug​

Editor Node-RED se zvýrazněnou záložkou debug v pravém panelu

info

V záložce debug budete moci vidět všechny MQTT zprávy.

Krok 6: Klikněte na tlačítko List all gateways. V záložce debug byste měli vidět odpověď podobnou této.​

Záložka debug s odpovědí brány obsahující název firmwaru a ID po kliknutí na List all gateways

success

V tomto bodě máte funkční Node-RED, MQTT, HARDWARIO Radio Dongle a HARDWARIO Gateway.

Párování​

V této části vytvoříme rádiové spojení mezi Radio Dongle a Radio Push Button.

Postupujte podle následujících kroků v Node-RED:

Krok 1: Klikněte na tlačítko Start node pairing​

Flow v Node-RED se zvýrazněným inject tlačítkem Start node pairing

Krok 2: Sestavení​

Vložte baterie do Radio Push Button, čímž odešlete požadavek na spárování (měla by se také rozsvítit červená LED na Core Module přibližně na 2 sekundy).

Krok 3: Klikněte na tlačítko Stop node pairing​

Flow v Node-RED se zvýrazněným inject tlačítkem Stop node pairing

success

V tomto bodě máte navázané rádiové spojení mezi uzlem (Radio Push Button) a bránou (Radio Dongle).

Test komunikace​

Postupujte podle těchto kroků v Node-RED:

Krok 1: Přepněte se na kartu debug vpravo​

Krok 2: Stiskněte tlačítko a měli byste vidět zprávy s počítáním​

Záložka debug se zprávami event-count, jejichž hodnota roste s každým stisknutím tlačítka

success

V tomto bodě máte ověřenou rádiovou komunikaci.

Enclosure​

Volitelně můžete sestavu vložit do vhodného krytu, pokud jej máte k dispozici.

info

Více informací o krytech naleznete v dokumentu Enclosures.

Integration with IFTTT​

V této části vytvoříme Applet ve službě IFTTT. Applet je typ mechanismu pro spouštění událostí.

Krok 1: Otevřete webový prohlížeč a přejděte na stránku IFTTT​

Úvodní stránka IFTTT se zvýrazněným tlačítkem Sign in vpravo nahoře

Krok 2: Přihlaste se do služby IFTTT. Můžete se zaregistrovat nebo přihlásit pomocí svého účtu Google nebo Facebook.​

Horní menu IFTTT se zvýrazněnou položkou My Applets

Krok 3: Přejděte v menu na My Applets a klikněte na tlačítko New Applet​

Stránka My Applets se zvýrazněným tlačítkem New Applet

Krok 4: Klikněte na +this ve větě if this then that.​

Stránka New Applet se zvýrazněným +this ve větě if this then that

Krok 5: Vyhledejte službu s názvem Webhooks a vyberte ji.​

Krok Choose a service s vyhledaným a zvýrazněným servisem Webhooks

Krok 6: Klikněte na Receive a web request​

Krok Choose trigger se zvýrazněným spouštěčem Receive a web request

Krok 7: Zadejte button do pole Event Name (Název události) a klikněte na Create Trigger (Vytvořit spouštěč).​

Pole spouštěče s vyplněným Event Name button a zvýrazněným tlačítkem Create trigger

Krok 8: Klikněte na +that ve větě if this then that.​

Stránka New Applet se zvýrazněným +that ve větě if this then that

Krok 9: Vyhledejte akční službu s názvem Notifications (Oznámení) a vyberte ji.​

Krok Choose action service s vyhledanou a zvýrazněnou službou Notifications

Krok 10: Klikněte na Send a notification from the IFTTT app (Odeslat oznámení z aplikace IFTTT).​

Krok Choose action se zvýrazněnou akcí Send a notification from the IFTTT app

Krok 11: Upravte pole Notification a vložte text TThe button has been pressed on {{OccurredAt}}, poté klikněte na tlačítko Create action (Vytvořit akci).​

Pole Notification s textem o stisknutém tlačítku a zvýrazněným tlačítkem Create action

Krok 12: Klikněte na tlačítko Finish​

Krok Review and finish se zvýrazněným tlačítkem Finish

Krok 13: Klikněte na tlačítko Webhooks​

Stránka hotového appletu se zvýrazněnou ikonou Webhooks

Krok 14: Klikněte na tlačítko Documentation​

Stránka služby Webhooks se zvýrazněným tlačítkem Documentation

Krok 15: Klikněte do pole event​

Dokumentace Webhooks se zvýrazněným polem event v URL spouštěče

Krok 16: Zadejte název button do pole event a ponechte okno otevřené.​

Dokumentace Webhooks s hodnotou button vyplněnou v poli event v URL spouštěče

Krok 17: Mobilní aplikace​

Nainstalujte si aplikaci IFTTT do svého chytrého telefonu a přihlaste se pomocí stejného účtu, který jste použili k vytvoření appletu. Povolte aplikaci zasílání push notifikací, pokud budete vyzváni.

Krok 18: Klikněte na tlačítko Test It v okně webového prohlížeče.​

Dokumentace Webhooks se zvýrazněným tlačítkem Test It

Krok 19: Během několika sekund byste měli na svém chytrém telefonu obdržet push notifikaci.​

Krok 20: Zkopírujte tuto URL adresu do schránky pro pozdější použití.​

Zvýrazněná URL spouštěče Webhooks ke zkopírování do schránky

success

V tomto bodě máte funkční notifikační Applet ve službě IFTTT.

Propojení IFTTT v Node-RED​

V této části vytvoříme propojení mezi událostí tlačítka na MQTT a HTTP požadavkem na IFTTT, který spustí push notifikaci.

Krok 1: Přepněte se do svého flow v Node-RED​

Krok 2: Vložte následující úryvek do flow (použijte Menu >> Import)​

[{"id":"e507a379.e9d1d","type":"mqtt in","z":"dfc861b.b2a02a","name":"","topic":"node/push-button:0/push-button/-/event-count","qos":"2","broker":"b9592cd0.2b74f","x":660,"y":760,"wires":[["5d4d5593.80242c"]]},{"id":"62133f2.84223c","type":"http request","z":"dfc861b.b2a02a","name":"","method":"POST","ret":"txt","url":"","tls":"","x":1010,"y":760,"wires":[[]]},{"id":"5d4d5593.80242c","type":"change","z":"dfc861b.b2a02a","name":"","rules":[{"t":"delete","p":"payload","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":890,"y":860,"wires":[["62133f2.84223c"]]},{"id":"b9592cd0.2b74f","type":"mqtt-broker","z":"","broker":"127.0.0.1","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""}]

Bude to vypadat takto:

Flow v Node-RED s MQTT uzlem event-count tlačítka napojeným přes delete msg.payload na uzel http request

info

Tento úryvek vytváří spojení mezi MQTT tématem node/push-button:0/push-button/-/event-count a HTTP požadavkem. Před předáním zprávy do HTTP požadavku odstraníme parametr payload, protože by jinak byl použit jako tělo HTTP požadavku.

Krok 3: Klikněte na http request node a upravte IFTTT URL adresu získanou v předchozí části.​

Dialog Edit http request node s vyplněnou IFTTT webhook URL v poli URL

Krok 4: Uložte URL kliknutím na tlačítko Done​

Krok 5: Nasazení flow pomocí tlačítka Deploy v pravém horním rohu.​

success

V tomto bodě byste měli obdržet push notifikaci pokaždé, když stisknete tlačítko.

Související dokumenty​