Obsah:
- Krok 1: Začíname s Node-red
- Krok 2: Rozdelenie údajov na Node-red
- Krok 3: Databáza s Wampserverom
- Krok 4: Databáza
- Krok 5: Uzol červený na Wampserver
- Krok 6: Použitie údajov z Wampserver na Node-red
- Krok 7: Dokončenie
Video: UCL-IIOT-poplašný systém s databázou a červeným uzlom: 7 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
Cieľom tejto zostavy je naučiť sa spájať Arduino s Node-red a databázou, aby ste si mohli zapisovať údaje a tiež ich zbierať na neskoršie použitie.
Pre túto zostavu používam jednoduchý arduino alarmový systém, ktorý vydáva 5 dátových čísel, každé oddelené čiarkou.
Nie je potrebné mať také presné množstvo údajov a programom môže byť čokoľvek.
Dôležitou súčasťou je, že údaje sú oddelené čiarkami, ako je vidieť na tejto snímke obrazovky.
Výstup môže vyzerať napríklad takto: „324, 0, 0, 1, 1“
(hotové programovanie a pokyny na vytvorenie arduina sú prepojené v spodnej časti tohto tutoriálu)
Krok 1: Začíname s Node-red
V tomto návode predpokladáme, že ste už nainštalovali Node-red, ale pre tento projekt sa používa niekoľko ďalších paliet, ktoré potrebujeme, aby fungovali.
Nájdite tlačidlo "Spravovať paletu" a nainštalujte nasledujúce palety.
- uzol-červená-palubná doska
- node-red-node-mysql
- node-red-node-arduino
- node-red-node-serialport
Malo by to ukázať niektoré nové palety na bočnej strane ponuky tlačidiel Uzol-červené.
Krok 2: Rozdelenie údajov na Node-red
Teraz, keď je Node-red pripravený ísť, musíme začať rozdelením našich údajov na samostatné časti.
Preto sme sa ubezpečili, že sú oddelené čiarkami v kóde Arduino.
Najprv začnime položením vstupného uzla Arduino, ktorý sa nachádza na ľavom bočnom paneli.
Musíte sa uistiť, že má správny sériový (môj používa COM4) port a prenosovú rýchlosť (v mojom programe používam prenosovú rýchlosť 9600)
Ak je správne nastavený, malo by to znamenať, že je pripojený.
Ďalej vytvoríme funkčný blok Javascript a spojíme ho za vstupným uzlom Arduina. Tento blok nám umožňuje programovať v Javascripte a tu napíšeme kód, ktorý dokáže rozdeliť naše údaje pre každú čiarku.
V tomto funkčnom bloku som rozdelil svojich 5 údajov pomocou nasledujúceho kódu:
var m1 = {téma: "light1", užitočné zaťaženie: msg.payload.split (",") [0]}; var m2 = {topic: "light2", užitočné zaťaženie: msg.payload.split (",") [1]}; var m3 = {téma: "light3", užitočné zaťaženie: msg.payload.split (",") [2]}; var m4 = {téma: "milis", užitočné zaťaženie: msg.payload.split (",") [3]}; var m5 = {téma: "onoff", užitočné zaťaženie: msg.payload.split (",") [4]}; návratnosť [m1, m2, m3, m4, m5];
(podľa potreby zmeňte kód)
Uistite sa, že uzol je nastavený na 5 výstupov (alebo ekvivalent)
Ako je vidieť na snímke obrazovky, teraz máme 5 výstupov, z ktorých každý prepojíme s uzlom ladenia a uzlom textového panela. Bude to užitočné vtedy, keď to potrebujeme vidieť v používateľskom rozhraní.
Krok 3: Databáza s Wampserverom
Na to, aby naša databáza fungovala, musíte mať nainštalovaný Wampserver. Potom, čo je nainštalovaný a zobrazuje sa ako zelená ikona (po spustení všetkých služieb), by ste mali otvoriť „phpMyAdmin“, ktorý by vás mal dostať na prihlasovaciu obrazovku. Pokiaľ nemáte predtým zmenil, jednoducho zadajte „root“do používateľského mena a prihláste sa.
Stlačte tlačidlo phpmyadmin pod nástrojmi dole na ľavom paneli a otvorí sa ponuka databázy, ktorá vyzerá podobne ako na obrázku vyššie.
Vytvorte novú databázu a pomenujte ju niečím, čo súvisí s vašim projektom, môj sa volá „alarmsystem“(v týchto názvoch sa rozlišujú malé a veľké písmena)
V rámci tejto databázy vytvorte novú tabuľku a pomenujte ju, moja sa volá „alarmdata“.
opýta sa, či chcete použiť „latin1_swedish_ci“, a ponecháme to tak.
Teraz vytvoríte 6 tabuliek (o 1 viac, ako máme údaje)
Prvá tabuľka musí používať údajový typ „dlhý text“
a zvyšok množiny údajov používa „stredný text“
Nezabudnite ich pomenovať. (prvý súbor údajov by mal mať názov „čas“
Krok 4: Databáza
Množina údajov Wampserver by mala vyzerať asi takto.
(ale bez skutočných údajov, pretože sme sa k tomu ešte nedostali)
Krok 5: Uzol červený na Wampserver
Teraz chceme, aby údaje, ktoré odosielame z nášho arduina, smerovali do nášho Wampserveru.
Začnite vytvorením ďalšieho funkčného bloku Javascript a pripojte ho k nášmu vstupnému uzlu arduino.
V tomto bloku skriptov opäť rozdelíme naše údaje, ale vložíme ich tiež do našej databázy.
var data = msg.payload.split (","); var Green1 = údaje [0]; var Green2 = údaje [1]; var Alarm = údaje [2]; var Millis = údaje [3]; var IsActive = údaje [4]; var out = "INSERT INTO alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) VALUES ('"+new Date (). toISOString (). slice (0, 19).replace (' T ',' ')+"', '"+Green1+"', '"+Green2+"', '"+Alarm+"', '"+Millis+"', '"+IsActive+"')"; msg.topic = out; vrátiť správu;
Všimnite si, že zadávam „VLOŽIŤ DO alarmsystem.alarmdata“, toto je názov, ktorý sme dali našej databáze a tabuľke. Uistite sa, že doň napíšete presný názov, ktorý ste svojej databáze dali.
Teraz pripojte blok Javascript k ladiacemu uzlu a tiež k uzlu „mysql“, ktorý sa nachádza pod paletou úložiska na ľavej strane.
v bloku mysql ho pomenujete rovnako ako databázový „poplachový systém“
zmeniť používateľa na „root“(meno, ktoré sme použili na prihlásenie sa na náš server)
hostiteľ, port a databáza by už mali byť vyplnené:
Hostiteľ: 127.0.0.1
Prístav: 3306
Databáza: poplašný systém
Ak je všetko vykonané správne, malo by sa to pripojiť po zavedení zmien.
Mali by ste tiež vidieť, že databáza teraz zaznamenáva vaše údaje priamo z Arduina.
Krok 6: Použitie údajov z Wampserver na Node-red
Na záver chceme zistiť, či môžeme údaje, ktoré sme uložili, vložiť späť do nášho uzla-červeného a dúfajme, že ich zobrazíme.
Začnite umiestnením uzla „injekcie“
Do témy v tomto uzle vložíme kód: SELECT*FROM alarmsystem.alarmdata
Vďaka tomu bude možné nájsť našu databázu, keď ju stlačíme.
Pripojte vstrekovací uzol k novému uzlu „mysql“nastavenému presne tak, ako sme to urobili v predchádzajúcom kroku.
Pripojte uzol mysql k uzlu ladenia a uzlu šablóny, ktorý sa nachádza pod palubnou doskou.
Uzlom šablóny bude naša tabuľka, ktorú môžeme aktualizovať a zobrazovať údaje z databázy pri jej vytváraní.
Zadajte kód zobrazený na obrázku vyššie (podľa potreby ho zmeňte) a teraz by sa mala v našom používateľskom rozhraní s uzlom zobrazovať červená tabuľka údajov.
Môžeme tiež pridať tlačidlo palubnej dosky na aktualizáciu tabuľky zo samotného používateľského rozhrania.
Začnite vytvorením uzla tlačidla.
pripojte uzol tlačidla k funkčnému bloku Javascript.
do funkčného bloku vložíme nasledujúci kód.
msg.topic = "SELECT * FROM alarmdata OBJEDNAŤ PODĽA Green1 DESC LIMIT 20"; vrátiť správu;
(Green1 je prvou údajovou premennou v tabuľke)
tento funkčný blok potom musí byť pripojený k vstupu nášho mysql uzla, ktorý sme urobili predtým v tomto kroku.
Krok 7: Dokončenie
Teraz by naše používateľské rozhranie malo obsahovať aktívnu aktualizáciu našich údajov a tabuľku s údajmi zo samotného servera.
To znamená, že sme vytvorili spojenie medzi Arduino, programom založeným na používateľskom rozhraní a databázou.
Ak vás zaujíma, ako funguje môj alarmový systém Arduino, pridal som dokument, ktorý vysvetľuje, ako sa to programuje a nastavuje.
Rovnako ako úplný export uzlového červeného programovania.
Odporúča:
Brána ESP32 Lora Thingspeak so senzorovým uzlom: 9 krokov
Brána ESP32 Lora Thingspeak so senzorovým uzlom: v tomto projekte IoT som navrhol bránu ESP32 LoRa Gateway & tiež senzorový uzol ESP32 LoRa na bezdrôtové monitorovanie čítania snímačov zo vzdialenosti niekoľkých kilometrov. Odosielateľ bude čítať údaje o vlhkosti a teplote pomocou senzora DHT11. Potom vysiela
Gestami ovládaný univerzálny diaľkový ovládač s uzlom-MCU: 12 krokov
Gestami ovládaný univerzálny diaľkový ovládač s uzlom-MCU: Dobrý deň, všetci, vitajte v tomto projekte! Som dosť lenivý človek a nočnou morou lenivého človeka je sledovanie televízie, keď si uvedomíte, že diaľkové ovládanie je príliš ďaleko! Uvedomil som si, že môj diaľkový ovládač nebude nikdy príliš ďaleko, ak ho budem mať po ruke
Vlhší pôda s uzlom: 7 krokov
Vlhký pôda s uzlom: V tejto príručke vám ukážem, ako vyrobiť homade senzor pôdy pre systém záhradného zdravia. Ukážem vám, čo potrebujete, uvediem niekoľko príkladov kódu a spôsob implementácie kódu. Na konci pokynov budete vedieť, ako zmeniť LED pásik
Bezdrôtový snímač teploty a vlhkosti IOT s dlhým dosahom s červeným uzlom: 27 krokov
Bezdrôtový snímač teploty a vlhkosti IOT s dlhým dosahom s uzlom-červená: Predstavujeme bezdrôtový snímač teploty a vlhkosti NCD s dlhým dosahom, ktorý sa môže pochváliť dosahom až 28 míľ pomocou bezdrôtovej sieťovej architektúry. Vstavaný snímač teploty a vlhkosti Honeywell HIH9130 prenáša veľmi presnú teplotu a
Inteligentná LED s uzlom MCU a Tasker: 9 krokov (s obrázkami)
Smart LED s Node MCU a Tasker: stiahnite si tasker