Obsah:

UCL-IIOT-poplašný systém s databázou a červeným uzlom: 7 krokov
UCL-IIOT-poplašný systém s databázou a červeným uzlom: 7 krokov

Video: UCL-IIOT-poplašný systém s databázou a červeným uzlom: 7 krokov

Video: UCL-IIOT-poplašný systém s databázou a červeným uzlom: 7 krokov
Video: Голубая стрела (1958) фильм 2024, December
Anonim
UCL-IIOT-poplašný systém s databázou a uzlom červený
UCL-IIOT-poplašný systém s databázou a uzlom červený
UCL-IIOT-poplašný systém s databázou a uzlom červený
UCL-IIOT-poplašný systém s databázou a uzlom červený

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

Začíname s Node-red
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

Rozdelenie údajov na uzol červený
Rozdelenie údajov na uzol červený

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

Databáza s Wampserverom
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

Databáza
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

Uzol červený na Wampserver
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

Použitie údajov z Wampserveru na Node-red
Použitie údajov z Wampserveru na Node-red
Použitie údajov z Wampserveru na Node-red
Použitie údajov z Wampserveru 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

Finalizácia
Finalizácia

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: