Přeskočit na hlavní obsah

Bezdrátový CO₂ monitor

Tento dokument vás provede projektem Rádiového CO₂ monitoru. Budete si moci zobrazit panel s údaji o CO₂, teplotě, vlhkosti, okolním osvětlení a atmosférickém tlaku v prostředí Node-RED a zároveň sledovat data na svém chytrém telefonu pomocí cloudu a mobilní aplikace Blynk.

Blokové schéma

Požadavky

Nahrání firmwaru

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

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

Krok 2: Spusťte HARDWARIO Playground

Na kartě Firmware vyberte a nahrajte firmware bcf-radio-co2-monitor do Core Module.

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 Battery Module

warning

Ujistěte se, že v Battery Module nejsou vloženy žádné baterie.

Krok 2: Připojte CO₂ Module na Battery Module

Krok 3: Připojte Core Module na CO₂ Module

Krok 4: Připojte Temperature Tag do zásuvky na CO₂ Module

Krok 5: Připojte Humidity Tag do zásuvky na CO₂ Module

Krok 6: Připojte Barometer Tag do zásuvky na CO₂ Module

Krok 7: Připojte Cover 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á v 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:

[{"id":"2fc604fc.3b6abc","type":"inject","z":"dfc861b.b2a02a","name":"List all gateways","topic":"gateway/all/info/get","payload":"","payloadType":"str","repeat":"","crontab":"","once":false,"x":560,"y":460,"wires":[["a2c10833.24d5d8"]]},{"id":"1e4502b8.2f63fd","type":"inject","z":"dfc861b.b2a02a","name":"Start node pairing","topic":"gateway/usb-dongle/pairing-mode/start","payload":"","payloadType":"str","repeat":"","crontab":"","once":false,"x":570,"y":580,"wires":[["795ff5a7.8e266c"]]},{"id":"3d844ce2.932864","type":"inject","z":"dfc861b.b2a02a","name":"Stop node pairing","topic":"gateway/usb-dongle/pairing-mode/stop","payload":"","payloadType":"str","repeat":"","crontab":"","once":false,"x":560,"y":640,"wires":[["5967c452.c838bc"]]},{"id":"f202b253.2705b","type":"inject","z":"dfc861b.b2a02a","name":"List paired nodes","topic":"gateway/usb-dongle/nodes/get","payload":"","payloadType":"str","repeat":"","crontab":"","once":false,"x":560,"y":520,"wires":[["f0aca138.0b2c3"]]},{"id":"349f02fd.890f6e","type":"inject","z":"dfc861b.b2a02a","name":"Unpair all nodes","topic":"gateway/usb-dongle/nodes/purge","payload":"","payloadType":"str","repeat":"","crontab":"","once":false,"x":560,"y":700,"wires":[["2f1c5bb6.53d6f4"]]},{"id":"cf61d75d.4ad8f8","type":"mqtt in","z":"dfc861b.b2a02a","name":"","topic":"#","qos":"2","broker":"67b8de4a.029d3","x":530,"y":400,"wires":[["a5cb0658.f5d658"]]},{"id":"a5cb0658.f5d658","type":"debug","z":"dfc861b.b2a02a","name":"","active":true,"console":"false","complete":"false","x":790,"y":400,"wires":[]},{"id":"a2c10833.24d5d8","type":"mqtt out","z":"dfc861b.b2a02a","name":"","topic":"","qos":"","retain":"","broker":"717f7c18.ba0a24","x":770,"y":460,"wires":[]},{"id":"f0aca138.0b2c3","type":"mqtt out","z":"dfc861b.b2a02a","name":"","topic":"","qos":"","retain":"","broker":"717f7c18.ba0a24","x":770,"y":520,"wires":[]},{"id":"795ff5a7.8e266c","type":"mqtt out","z":"dfc861b.b2a02a","name":"","topic":"","qos":"","retain":"","broker":"717f7c18.ba0a24","x":770,"y":580,"wires":[]},{"id":"5967c452.c838bc","type":"mqtt out","z":"dfc861b.b2a02a","name":"","topic":"","qos":"","retain":"","broker":"717f7c18.ba0a24","x":770,"y":640,"wires":[]},{"id":"2f1c5bb6.53d6f4","type":"mqtt out","z":"dfc861b.b2a02a","name":"","topic":"","qos":"","retain":"","broker":"717f7c18.ba0a24","x":770,"y":700,"wires":[]},{"id":"67b8de4a.029d3","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":""},{"id":"717f7c18.ba0a24","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":""}]

It will look like this:


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:


info

V záložce debug uvidíte všechny zprávy MQTT.

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


success

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

Rádiové párování

V této části vytvoříme rádiové spojení mezi Radio Dongle a Radio CO₂ Monitorem.

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

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

Krok 2: Vložte baterie do Radio CO₂ Monitoru, čímž odešlete požadavek na párování (měla by se také rozsvítit červená LED na Core Modulu přibližně na 2 sekundy)

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


success

V tomto bodě máte navázané rádiové spojení mezi node (Radio Motion Detector) a bránou (Radio Dongle).

Test komunikace

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

Krok 1: Přepněte se na záložku debug vpravo

Krok 2: Otestujte zařízení

Začněte dýchat na teplotní senzor na Temperature Tagu, abyste vyvolali změnu teploty a tím spustili rádiový přenos.

Poté byste měli vidět podobné zprávy:


success

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

Integrace s Blynk IoT

Nyní, když je sada sestavená a odesílá data, ukážeme si naměřené hodnoty na telefonu pomocí Blynk IoT (současná platforma Blynk — starý cloud Blynk Legacy byl ukončen). Vytvoříte si účet Blynk, šablonu zařízení s jedním Datastreamem pro každou hodnotu a samotné zařízení, a poté propojíte Node-RED tak, aby do Blynku posílal naměřené hodnoty z MQTT.

Nastavení účtu, šablony, zařízení a datastreamů popisuje kanonický návod: Integrace aplikace HARDWARIO Blynk.

Krok 1: Vytvořte účet, šablonu a zařízení v Blynk IoT

Pokud účet ještě nemáte, vytvořte si ho v aplikaci Blynk IoT, vytvořte šablonu zařízení (device template) a z ní pak zařízení (device). Návod k integraci provede každým krokem a je závazným zdrojem přesných postupů.

Krok 2: Vytvořte jeden Datastream (Virtual Pin) pro každou hodnotu

V detailu šablony otevřete záložku Datastreams a přidejte jeden datastream typu Virtual Pin pro každou naměřenou hodnotu. Pro všechny použijte datový typ Double a nastavte rozumný rozsah a jednotku:

HodnotaVirtual PinTypJednotka
TeplotaV0Double°C
Relativní vlhkostV1Double%
Atmosférický tlakV2DoublehPa
Koncentrace CO₂V3Doubleppm
info

Koncentrace CO₂ má vlastní Virtual Pin (V3). Barometr hlásí tlak v pascalech, proto jej Node-RED před odesláním dělí 1000 — datastream V2 plňte v hPa (≈ 950–1050).

Krok 3: Přidejte v Node-RED uzly Blynk IoT Write

Přidejte další flow (velkým tlačítkem + vedle názvu flow) a sestavte malý řetězec pro každou hodnotu: uzel MQTT in přihlášený k odběru tématu daného senzoru, který napájí zelený uzel Blynk IoT Write (najdete jej v levém menu v sekci Blynk IoT). U atmosférického tlaku vložte mezi MQTT uzel a Write uzel malý function uzel msg.payload = msg.payload / 1000.0, aby hodnota dorazila v hPa.

Použijte tato MQTT témata a Virtual Piny:

MQTT témaVirtual Pin
node/co2-monitor:0/thermometer/0:0/temperatureV0
node/co2-monitor:0/hygrometer/0:4/relative-humidityV1
node/co2-monitor:0/barometer/0:0/pressure (÷ 1000)V2
node/co2-monitor:0/co2-meter/-/concentrationV3

Krok 4: Nakonfigurujte připojení k Blynk IoT

Dvojklikem otevřete Write uzel a kliknutím na tužku přidejte připojení. Do pole Url zadejte blynk.cloud, poté zkopírujte Auth Token a Template ID z detailu zařízení ve webové konzoli Blynk. Potvrďte tlačítkem Add. Zpět v uzlu nastavte Virtual Pin na odpovídající číslo (0, 1, 2 nebo 3 — bez úvodního „V“). Všechny čtyři Write uzly sdílejí stejné připojení. Potvrďte tlačítkem Done, propojte uzly a klikněte na Deploy.

Krok 5: Přidejte v aplikaci widgety Gauge

Stáhněte si aplikaci Blynk IoT z App Store nebo Google Play, přihlaste se a otevřete své zařízení. Pro každý datastream (CO₂, teplota, vlhkost, tlak) přidejte widget Gauge a každý z nich svažte s jeho Virtual Pinem. Po nasazení flow v Node-RED začnou ukazatele zobrazovat živé hodnoty.

Související dokumenty