Tartalomjegyzék:

UCL-IIOT-Riasztórendszer adatbázissal és piros csomóponttal: 7 lépés
UCL-IIOT-Riasztórendszer adatbázissal és piros csomóponttal: 7 lépés

Videó: UCL-IIOT-Riasztórendszer adatbázissal és piros csomóponttal: 7 lépés

Videó: UCL-IIOT-Riasztórendszer adatbázissal és piros csomóponttal: 7 lépés
Videó: Дэниел Шмахтенбергер: Уничтожат ли нас технологии? 2024, Július
Anonim
UCL-IIOT-Riasztórendszer adatbázissal és piros csomóponttal
UCL-IIOT-Riasztórendszer adatbázissal és piros csomóponttal
UCL-IIOT-Riasztórendszer adatbázissal és piros csomóponttal
UCL-IIOT-Riasztórendszer adatbázissal és piros csomóponttal

Ennek az összeállításnak az a célja, hogy megtanítsa az Arduino és a Node-red és egy adatbázis összekapcsolását, így naplózhatja az adatokat, és összegyűjtheti azokat későbbi használatra.

Ehhez a felépítéshez egy egyszerű arduino riasztórendszert használok, amely 5 adatszámot ad ki, mindegyiket vesszővel elválasztva.

Nem szükséges, hogy pontosan ennyi adat legyen, és a program bármi lehet.

A fontos rész az, hogy az adatok vesszővel vannak elválasztva, amint ez a képernyőképen látható.

A kimenet például így nézhet ki: "324, 0, 0, 1, 1"

(a kész programozás és az arduino létrehozására vonatkozó utasítások az oktatóanyag alján találhatók)

1. lépés: Első lépések a piros csomóponttal

Kezdeti lépések a piros csomóponttal
Kezdeti lépések a piros csomóponttal

Ebben az oktatóanyagban feltételezzük, hogy már telepítette a Node-red csomópontot, de vannak további paletták, amelyeket ehhez a projekthez használunk, amelyekre szükségünk van a működéshez

Keresse meg a "Paletta kezelése" gombot, és telepítse a következő palettákat.

  • csomópont-piros-műszerfal
  • node-red-node-mysql
  • node-red-node-arduino
  • node-red-node-serialport

Néhány új palettát kell megjelenítenie a csomópont-piros gomb menüjében.

2. lépés: Az adatok felosztása piros csomópontban

Az adatok felosztása piros csomópontban
Az adatok felosztása piros csomópontban

Most, hogy a Node-red készen áll az indulásra, el kell kezdenünk, hogy adatainkat külön darabokra osztjuk.

Ezért gondoskodtunk arról, hogy vesszővel válasszuk el őket az Arduino kódon belül.

Először is kezdjük a bal oldali panelen található Arduino bemeneti csomópont lerakásával.

Győződjön meg arról, hogy a megfelelő soros (az enyém COM4 -et használ) port és a Baud sebesség (a programomban 9600 baud sebességet használok)

Ha helyesen van beállítva, akkor azt kell jelezni, hogy csatlakoztatva van.

Ezután létrehozunk egy Javascript függvényblokkot, és az Arduino bemeneti csomópont után csatlakoztatjuk. Ez a blokk lehetővé teszi a Javascript programozását, és itt írunk egy kódot, amely minden vesszőre fel tudja osztani az adatainkat.

Ebben a funkcióblokkban felosztottam az 5 adatomat a következő kód használatával:

var m1 = {topic: "light1", hasznos teher: msg.payload.split (",") [0]}; var m2 = {topic: "light2", hasznos teher: msg.payload.split (",") [1]}; var m3 = {topic: "light3", hasznos teher: msg.payload.split (",") [2]}; var m4 = {topic: "millis", hasznos teher: msg.payload.split (",") [3]}; var m5 = {topic: "onoff", hasznos teher: msg.payload.split (",") [4]}; visszatérés [m1, m2, m3, m4, m5];

(szükség szerint módosítsa a kódot)

Győződjön meg arról, hogy a csomópont 5 kimenetre van állítva (vagy ezzel egyenértékű)

Amint az a képernyőképen is látható, most 5 kimenetünk van, amelyeket mindegyik linkelünk egy hibakeresési csomóponthoz és egy szöveges irányítópult -csomóponthoz. Ez akkor lesz hasznos, ha látni kell a felhasználói felületen.

3. lépés: Adatbázis Wampserverrel

Adatbázis Wampserverrel
Adatbázis Wampserverrel

Ahhoz, hogy adatbázisunk működjön, telepítenie kell a Wampservert. Miután telepítette és zöld ikonként jelenik meg (miután elindította az összes szolgáltatást), nyissa meg a "phpMyAdmin" -t, amely a bejelentkezési képernyőre juttatja. korábban megváltoztatta, egyszerűen írja be a "root" szót a felhasználónévbe és a bejelentkezésbe.

Nyomja meg a phpmyadmin gombot az eszközök alatt a bal oldali sávban, és meg kell nyitnia az adatbázis menüt, amely úgy néz ki, mint a fenti képen.

Hozzon létre egy új adatbázist, és nevezzen el valamit a projektjéhez kapcsolódóan, az enyém "riasztórendszer" (ezek a nevek megkülönböztetik a kis- és nagybetűket)

Ebben az adatbázisban hozzon létre egy új táblázatot, és nevezze el, az enyém "alarmdata"

megkérdezi, hogy a "latin1_swedish_ci" -t akarja -e használni, és mi csak így tartjuk.

Most 6 táblázatot hoz létre (1 -gyel több, mint a rendelkezésünkre álló adatok)

Az első táblázatnak a "longtext" adattípust kell használnia

és az adathalmaz többi része "közepes szöveget" használ

Feltétlenül nevezze el őket. (az első adathalmaz neve "time"

4. lépés: Adatbázis

Adatbázis
Adatbázis

A Wampserver adatkészletnek valahogy így kell kinéznie.

(de a tényleges adatok nélkül, mivel ehhez még nem jutottunk el)

5. lépés: Vörös csomópont a Wampserverhez

Piros csomópont a Wampserverhez
Piros csomópont a Wampserverhez

Most azt akarjuk, hogy az arduino -ból kiadott adatok a Wampserverünkre kerüljenek.

Kezdje egy másik Javascript funkcióblokk létrehozásával, és csatlakoztassa azt az arduino bemeneti csomópontunkhoz.

Ebben a szkriptblokkban ismét felosztjuk adatainkat, de beillesztjük azokat az adatbázisunkba is.

var data = msg.payload.split (","); var Green1 = adatok [0]; var Green2 = adatok [1]; var Alarm = adatok [2]; var Millis = adatok [3]; var IsActive = adatok [4]; var out = "INSERT INTO alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) VALUES ('"+new Date (). toISOString (). szelet (0, 19).replace (' T ',' ')+"', '"+Zöld1+"', '"+Zöld2+"', '"+Riasztás+"', '"+Millis+"', '"+IsActive+"')"; msg.topic = ki; vissza üzenet;

Figyelmeztetés: "INSERT INTO alarmsystem.alarmdata", ezt a nevet adtuk adatbázisunknak és táblázatunknak, ügyeljen arra, hogy pontosan azt a nevet írja be, amelyet az adatbázisnak adott.

Most csatlakoztassa a Javascript blokkot egy hibakeresési csomóponthoz, valamint egy "mysql" csomóponthoz, amely a bal oldali tárolópaletta alatt található.

a mysql blokk alatt ugyanazt nevezi el, mint az adatbázis "riasztórendszer"

felhasználó megváltoztatása "root" -ra (a szerverünkre való bejelentkezéshez használt név)

a gazdagépet, portot és adatbázist már ki kell tölteni:

Gazdagép: 127.0.0.1

Port: 3306

Adatbázis: riasztórendszer

Ha minden rendben van, akkor a módosítások telepítése után össze kell kapcsolni.

Azt is látnia kell, hogy az adatbázis most közvetlenül az Arduino -ból naplózza az adatait.

6. lépés: Az adatok használata a Wampserver-től a Node-vörösig

A Wampserverről a vörös csomópontra vonatkozó adatok használata
A Wampserverről a vörös csomópontra vonatkozó adatok használata
A Wampserverről a vörös csomópontra vonatkozó adatok használata
A Wampserverről a vörös csomópontra vonatkozó adatok használata

Az utolsó szakaszban szeretnénk megnézni, hogy tudjuk-e átvenni a mentett adatokat, és visszahelyezni a csomó-vörösbe, és remélhetőleg megjeleníteni.

Kezdje egy „befecskendező” csomópont elhelyezésével

Ebben a csomópontban a téma alá a következő kódot írjuk: SELECT*FROM alarmsystem.alarmdata

Ez megnyomva megtalálja az adatbázisunkat.

Csatlakoztassa a befecskendezési csomópontot egy új "mysql" csomóponthoz, amely pontosan olyan, mint az előző lépésben.

Csatlakoztassa a mysql csomópontot egy hibakeresési csomóponthoz és egy sabloncsomóponthoz az irányítópult alatt.

A sabloncsomópont lesz a táblázatunk, amelyet frissíthetünk, hogy megjelenítse az adatbázisból származó adatokat, amint azok elkészülnek.

Írja be a fenti képernyőképen látható kódot (szükség szerint módosítsa), és most adattáblázatot kell megjelenítenie a csomópont-vörös felhasználói felületünkön.

Hozzáadhatunk egy irányítópult gombot is, hogy frissítsük a táblázatot a kezelőfelületről.

Kezdje egy gombcsomópont létrehozásával.

csatlakoztassa a gomb csomópontot egy Javascript funkcióblokkhoz.

a funkcióblokkba a következő kódot illesztjük be.

msg.topic = "SELECT * FROM alarmdata ORDER BY Green1 DESC LIMIT 20"; return msg;

(A zöld1 az első adatváltozó a táblázatban)

ezt a funkcióblokkot akkor össze kell kötni a mysql csomópontunk bemenetével, amelyet korábban ebben a lépésben készítettünk.

7. lépés: Véglegesítés

Véglegesítés
Véglegesítés

Most a felhasználói felületünknek tartalmaznia kell adataink élő frissítését és egy táblázatot, amely magáról a szerverünkről származó adatokat tartalmazza.

Ez azt jelenti, hogy létrehoztunk egy kapcsolatot az Arduino, egy felhasználói felületen alapuló program és egy adatbázis között.

Ha érdekli az Arduino riasztórendszer működése, hozzáadtam egy dokumentumot, amely elmagyarázza, hogyan kell programozni és beállítani.

Valamint a csomópont-vörös programozás teljes exportálása.

Ajánlott: