Obsah:

UCL-IIOT-poplachový systém s databází a červeným uzlem: 7 kroků
UCL-IIOT-poplachový systém s databází a červeným uzlem: 7 kroků

Video: UCL-IIOT-poplachový systém s databází a červeným uzlem: 7 kroků

Video: UCL-IIOT-poplachový systém s databází a červeným uzlem: 7 kroků
Video: НАША ЖИЗНЬ ИЗМЕНИЛАСЬ ПОСЛЕ ПОЯВЛЕНИЯ ............ 2024, Listopad
Anonim
UCL-IIOT-poplašný systém s databází a uzlem červený
UCL-IIOT-poplašný systém s databází a uzlem červený
UCL-IIOT-poplašný systém s databází a uzlem-červený
UCL-IIOT-poplašný systém s databází a uzlem-červený

Účelem tohoto sestavení je naučit se propojovat Arduino s Node-red a databází, abyste mohli data protokolovat a také je shromažďovat pro pozdější použití.

Pro toto sestavení používám jednoduchý arduino alarmový systém, který vydává 5 datových čísel, každé oddělené čárkou.

Není nutné mít přesné množství dat a programem může být cokoli.

Důležitou součástí je, že data jsou oddělena čárkami, jak je vidět na tomto snímku obrazovky.

Výstup může vypadat například takto: „324, 0, 0, 1, 1“

(hotové programování a pokyny k vytvoření arduina jsou propojeny v dolní části tohoto tutoriálu)

Krok 1: Začínáme s Node-red

Začínáme s Node-red
Začínáme s Node-red

V tomto kurzu předpokládáme, že jste již nainstalovali Node-red, ale pro tento projekt se používá několik dalších palet, které potřebujeme, aby fungoval

Najděte tlačítko „Spravovat paletu“a nainstalujte následující palety.

  • uzel-červená-palubní deska
  • node-red-node-mysql
  • uzel-červený-uzel-arduino
  • node-red-node-serialport

Mělo by to ukázat některé nové palety na straně nabídky tlačítka Node-red.

Krok 2: Rozdělení dat do Node-red

Rozdělení dat v uzlu-červená
Rozdělení dat v uzlu-červená

Nyní, když je Node-red připraven, musíme začít rozdělením našich dat na oddělené části.

Proto jsme se ujistili, že je oddělíme čárkami uvnitř kódu Arduino.

Nejprve začněme položením vstupního uzlu Arduino, který se nachází na levém bočním panelu.

Musíte se ujistit, že má správný sériový (můj používá COM4) port a přenosovou rychlost (v mém programu používám přenosovou rychlost 9600)

Pokud je správně nastaven, mělo by to znamenat, že je připojen.

Dále vytvoříme funkční blok Javascript a připojíme jej po vstupním uzlu Arduino. Tento blok nám umožňuje programovat v Javascriptu a zde napíšeme kód, který dokáže rozdělit naše data pro každou čárku.

V tomto funkčním bloku jsem rozdělil svých 5 dat pomocí následujícího kódu:

var m1 = {topic: "light1", užitečné zatížení: msg.payload.split (",") [0]}; var m2 = {topic: "light2", užitečné zatížení: msg.payload.split (",") [1]}; var m3 = {topic: "light3", užitečné zatížení: msg.payload.split (",") [2]}; var m4 = {topic: "millis", užitečné zatížení: msg.payload.split (",") [3]}; var m5 = {topic: "onoff", užitečné zatížení: msg.payload.split (",") [4]}; návratnost [m1, m2, m3, m4, m5];

(podle potřeby změňte kód)

Ujistěte se, že je uzel nastaven na 5 výstupů (nebo ekvivalent)

Jak je vidět na snímku obrazovky, nyní máme 5 výstupů, které každý propojíme s uzlem ladění a uzlem řídicího panelu textu. To bude užitečné, když to potřebujeme vidět v uživatelském rozhraní.

Krok 3: Databáze s Wampserverem

Databáze s Wampserverem
Databáze s Wampserverem

Aby naše databáze fungovala, musíte mít nainstalovaný Wampserver. Poté, co je nainstalován a zobrazuje se jako zelená ikona (po spuštění všech služeb), byste měli otevřít „phpMyAdmin“, který by vás měl dostat na přihlašovací obrazovku. Pokud nemáte dříve změnil, jednoduše zadejte "root" do uživatelského jména a přihlaste se.

Stiskněte tlačítko phpmyadmin pod nástroji v levém pruhu a otevře se nabídka databáze, která vypadá jako na obrázku výše.

Vytvořte novou databázi a pojmenujte ji něčím, co souvisí s vaším projektem, můj se jmenuje „alarmsystem“(tato jména budou rozlišovat velká a malá písmena)

V této databázi vytvořte novou tabulku a pojmenujte ji, moje se jmenuje „alarmdata“

zeptá se, zda chcete použít „latin1_swedish_ci“, a my to tak ponecháme.

Nyní vytvoříte 6 tabulek (o 1 více než máme data)

První tabulka musí používat datový typ „dlouhý text“

a zbytek datové sady používá „střední text“

Určitě je pojmenujte. (první datová sada by měla mít název „čas“

Krok 4: Databáze

Databáze
Databáze

Datová sada Wampserver by měla vypadat nějak takto.

(ale bez skutečných údajů, protože jsme se k tomu ještě nedostali)

Krok 5: Uzel červený na Wampserver

Uzel červený na Wampserver
Uzel červený na Wampserver

Nyní chceme, aby data, která odesíláme z našeho arduina, šla na náš Wampserver.

Začněte vytvořením dalšího funkčního bloku Javascriptu a připojte jej k našemu vstupnímu uzlu arduino.

V tomto bloku skriptů opět rozdělíme naše data, ale vložíme je také do naší databáze.

var data = msg.payload.split (","); var Green1 = data [0]; var Green2 = data [1]; var Alarm = data [2]; var Millis = data [3]; var IsActive = data [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átit zprávu;

Všimněte si, že zadávám „INSERT INTO alarmsystem.alarmdata“, toto je název, který jsme dali naší databázi a tabulce, ujistěte se, že do něj napíšete přesný název, který jste databázi dali.

Nyní připojte blok Javascriptu k ladicímu uzlu a také k uzlu „mysql“, který najdete pod paletou úložiště na levé straně.

pod blokem mysql jej pojmenujete stejně jako "alarmmsystem" vaší databáze

změnit uživatele na „root“(jméno, které jsme použili k přihlášení na náš server)

hostitel, port a databáze by již měly být vyplněny:

Host: 127.0.0.1

Přístav: 3306

Databáze: poplašný systém

Pokud je vše provedeno správně, mělo by být připojeno po nasazení změn.

Měli byste také vidět, že databáze nyní zaznamenává vaše data přímo z Arduina.

Krok 6: Použití dat z Wampserveru do Node-red

Použití dat z Wampserveru do Node-red
Použití dat z Wampserveru do Node-red
Použití dat z Wampserveru do Node-red
Použití dat z Wampserveru do Node-red

V posledním úseku chceme zjistit, zda můžeme data, která jsme uložili, vzít zpět do našeho Node-red a doufejme, že je zobrazíme.

Začněte umístěním uzlu „injekce“

Do tématu v tomto uzlu vložíme kód: SELECT*FROM alarmsystem.alarmdata

To bude moci najít naši databázi, když ji stiskneme.

Připojte vstřikovací uzel k novému uzlu „mysql“nastavenému přesně tak, jak jsme to udělali v předchozím kroku.

Připojte uzel mysql k ladicímu uzlu a uzlu šablony, který najdete na palubní desce.

Uzel šablony bude naše tabulka, kterou můžeme aktualizovat tak, aby zobrazovala data z databáze při jejím vytváření.

Zadejte kód zobrazený na výše uvedeném snímku obrazovky (změňte podle potřeby) a nyní by měl zobrazit datovou tabulku v našem uživatelském rozhraní Node-red.

Můžeme také přidat tlačítko řídicího panelu k aktualizaci tabulky ze samotného uživatelského rozhraní.

Začněte vytvořením uzlu tlačítka.

připojte uzel tlačítka k funkčnímu bloku Javascriptu.

do funkčního bloku vložíme následující kód.

msg.topic = "SELECT * FROM alarmdata OBJEDNÁVKA PODLE Green1 DESC LIMIT 20"; návrat msg;

(Green1 je první datovou proměnnou v tabulce)

tento funkční blok pak musí být připojen ke vstupu našeho mysql uzlu, který jsme vytvořili dříve v tomto kroku.

Krok 7: Dokončení

Finalizace
Finalizace

Nyní by naše uživatelské rozhraní mělo obsahovat živou aktualizaci našich dat a tabulku s údaji ze samotného našeho serveru.

To znamená, že jsme vytvořili spojení mezi Arduino, programem založeným na uživatelském rozhraní a databází.

Pokud vás zajímá, jak funguje můj alarmový systém Arduino, přidal jsem dokument, který vysvětluje, jak je to naprogramováno a nastaveno.

Stejně jako úplný export programování v uzlu-červená.

Doporučuje: