Satura rādītājs:
- 1. darbība. Darba sākšana ar sarkanu mezglu
- 2. darbība: datu sadalīšana sarkanā mezglā
- 3. darbība. Datu bāze ar Wampserver
- 4. darbība. Datu bāze
- 5. darbība. Sarkans mezgls uz Wampserver
- 6. darbība. Datu izmantošana no Wampserver uz sarkanu mezglu
- 7. solis: pabeigšana
Video: UCL-IIOT-signalizācijas sistēma ar datu bāzi un sarkanu mezglu: 7 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:55
Šīs būves mērķis ir mācīt par Arduino savienošanu ar sarkano mezglu un datu bāzi, lai jūs varētu reģistrēt datus un arī savākt tos vēlākai lietošanai.
Šai būvei es izmantoju vienkāršu arduino signalizācijas sistēmu, kas izvada 5 datu numurus, katrs atdalot ar komatu.
Nav nepieciešams, lai būtu precīzs datu apjoms, un programma varētu būt jebkas.
Svarīgi ir tas, ka dati ir atdalīti ar komatiem, kā redzams šajā ekrānuzņēmumā.
Piemēram, izvade varētu izskatīties šādi: "324, 0, 0, 1, 1"
(gatavā programmēšana un instrukcijas arduino izveidei ir saistītas šīs apmācības apakšā)
1. darbība. Darba sākšana ar sarkanu mezglu
Šajā apmācībā mēs pieņemam, ka esat jau instalējis sarkano mezglu, taču šim projektam ir izmantotas dažas papildu paletes, kas mums nepieciešamas, lai tas darbotos
Atrodiet pogu "Pārvaldīt paleti" un instalējiet šādas paletes.
- mezgls-sarkans-informācijas panelis
- mezgls-sarkans-mezgls-mysql
- mezgls-sarkans-mezgls-arduino
- node-red-node-serialport
Tam vajadzētu parādīt dažas jaunas paletes mezgla sarkanās pogas izvēlnes malā.
2. darbība: datu sadalīšana sarkanā mezglā
Tagad, kad sarkanais mezgls ir gatavs darbam, mums jāsāk, sadalot savus datus atsevišķos gabalos.
Tāpēc mēs noteikti atdalījām tos ar komatiem Arduino kodā.
Vispirms sāksim, noliekot Arduino ievades mezglu, kas atrodas kreisajā sānu panelī.
Jums jāpārliecinās, vai tam ir pareizs seriālais (Mine izmanto COM4) ports un Baud ātrums (manā programmā es izmantoju 9600 batu pārraides ātrumu)
Ja tas ir pareizi iestatīts, tam vajadzētu teikt, ka tas ir pievienots.
Tālāk mēs izveidojam Javascript funkciju bloku un savienojam to pēc Arduino ievades mezgla. Šis bloks ļauj mums programmēt Javascript, un šeit mēs rakstām kodu, kas var sadalīt mūsu datus katram komatam.
Šajā funkciju blokā es sadalīju savus 5 datus, izmantojot šādu kodu:
var m1 = {topic: "light1", lietderīgā slodze: msg.payload.split (",") [0]}; var m2 = {topic: "light2", lietderīgā slodze: msg.payload.split (",") [1]}; var m3 = {topic: "light3", lietderīgā slodze: msg.payload.split (",") [2]}; var m4 = {topic: "millis", lietderīgā slodze: msg.payload.split (",") [3]}; var m5 = {topic: "onoff", lietderīgā slodze: msg.payload.split (",") [4]}; atgriešanās [m1, m2, m3, m4, m5];
(pēc vajadzības mainiet kodu)
Pārliecinieties, vai mezgls ir iestatīts uz 5 izejām (vai līdzvērtīgu)
Kā redzams ekrānuzņēmumā, mums tagad ir 5 izejas, kuras mēs katrs saistām ar atkļūdošanas mezglu un teksta informācijas paneļa mezglu. Tas būs noderīgi, ja mums tas ir jāredz UI.
3. darbība. Datu bāze ar Wampserver
Lai mūsu datu bāze darbotos, jums ir jāinstalē Wampserver. Kad tas ir instalēts un tiek parādīts kā zaļa ikona (pēc visu pakalpojumu palaišanas), jums jāatver "phpMyAdmin", kas novirza jūs uz pieteikšanās ekrānu. Ja vien jums nav iepriekš to mainot, vienkārši ievadiet lietotājvārdā un pieteikumvārdā "root".
Nospiediet pogu phpmyadmin zem rīkiem kreisajā joslā, un tai vajadzētu atvērt datubāzes izvēlni, kas izskatās kaut kas līdzīgs attēlā redzamajam.
Izveidojiet jaunu datu bāzi un nosauciet to par kaut ko, kas saistīts ar jūsu projektu, mans ir nosaukts par "signalizācijas sistēmu" (šie nosaukumi būs reģistrjutīgi)
Šajā datu bāzē izveidojiet jaunu tabulu un nosauciet to, mans nosaukums ir "alarmdata"
tas jautās, vai vēlaties izmantot "latin1_swedish_ci", un mēs to vienkārši saglabājam.
Tagad jūs izveidojat 6 tabulas (par 1 vairāk nekā mūsu rīcībā esošie dati)
Pirmajā tabulā jāizmanto datu tips "longtext"
un pārējā datu kopā tiek izmantots vidējs teksts
Noteikti nosauciet tos. (pirmajai datu kopai jābūt ar nosaukumu "laiks"
4. darbība. Datu bāze
Wampserver datu kopai vajadzētu izskatīties apmēram šādi.
(bet bez faktiskajiem datiem, jo mēs vēl neesam pie tā nonākuši)
5. darbība. Sarkans mezgls uz Wampserver
Tagad mēs vēlamies, lai mūsu arduino izvadītie dati nonāktu mūsu Wampserver.
Sāciet, izveidojot citu Javascript funkciju bloku un savienojiet to ar mūsu arduino ievades mezglu.
Šajā skriptu blokā mēs atkal sadalām savus datus, bet ievietojam tos arī savā datu bāzē.
var dati = msg.payload.split (","); var Green1 = dati [0]; var Green2 = dati [1]; var Modinātājs = dati [2]; var Millis = dati [3]; var IsActive = dati [4]; var out = "INSERT INTO alarmsystem.alarmdata (Laiks, zaļš1, zaļš2, modinātājs, milis, izaktīvs) VALUES ('"+jauns datums (). toISOString (). šķēle (0, 19).aizstāt (' T ',' ')+"', '"+Zaļš1+"', '"+Zaļš2+"', '"+Modinātājs+"', '"+Millis+"', '"+IsActive+"')"; msg.topic = ārā; atgriezt ziņu;
Paziņojums Es ievadu "INSERT INTO alarmsystem.alarmdata", šo nosaukumu mēs devām mūsu datu bāzei un tabulai. Pārliecinieties, ka tajā ierakstījāt precīzu nosaukumu, ko norādījāt savai datu bāzei.
Tagad savienojiet Javascript bloku ar atkļūdošanas mezglu, kā arī ar "mysql" mezglu, kas atrodas zem krātuves paletes kreisajā pusē.
zem mysql bloka jūs to nosaucat tāpat kā savu datu bāzi "signalizācijas sistēma"
mainīt lietotāju uz "root" (vārds, ko izmantojām, lai pieteiktos mūsu serverī)
resursdators, osta un datu bāze jau jāaizpilda ar:
Saimnieks: 127.0.0.1
Osta: 3306
Datu bāze: signalizācijas sistēma
Ja viss ir izdarīts pareizi, tam jābūt savienotam pēc izmaiņu ieviešanas.
Jums vajadzētu arī redzēt, ka datu bāze tagad tieši reģistrē jūsu datus no Arduino.
6. darbība. Datu izmantošana no Wampserver uz sarkanu mezglu
Pēdējā posmā mēs vēlamies noskaidrot, vai mēs varam izmantot saglabātos datus un ievietot tos atpakaļ mūsu sarkanajā mezglā un, cerams, parādīt.
Sāciet, ievietojot "injekcijas" mezglu
Zem šī mezgla tēmas mēs ievietojām kodu: SELECT*FROM alarmsystem.alarmdata
Tas varēs atrast mūsu datu bāzi, kad to nospiežam.
Pievienojiet injicējamo mezglu jaunam "mysql" mezglam, kas ir iestatīts tieši tāpat kā iepriekšējā solī.
Savienojiet mysql mezglu ar atkļūdošanas mezglu un veidnes mezglu, kas atrodams zem informācijas paneļa.
Veidnes mezgls būs mūsu tabula, kuru mēs varam atjaunināt, lai parādītu datus no datu bāzes, kad tā tiek veidota.
Ievadiet iepriekš redzamajā ekrānuzņēmumā parādīto kodu (pēc vajadzības mainiet), un tagad mūsu mezgla sarkanajā lietotāja saskarnē vajadzētu parādīt datu tabulu.
Mēs varam pievienot arī paneļa pogu, lai atjauninātu tabulu no pašas lietotāja saskarnes.
Sāciet, izveidojot pogas mezglu.
savienojiet pogas mezglu ar Javascript funkciju bloku.
funkciju blokā mēs ievietojam šādu kodu.
msg.topic = "SELECT * FROM alarmdata ORDER BY Green1 DESC LIMIT 20"; atgriezt ziņu;
(Green1 ir pirmais datu mainīgais tabulā)
tad šim funkciju blokam jābūt savienotam ar mūsu mysql mezgla ievadi, ko mēs iepriekš veicām šajā solī.
7. solis: pabeigšana
Tagad mūsu lietotāja saskarnē jāiekļauj tiešs mūsu datu atjauninājums un tabula ar datiem no mūsu servera.
Tas nozīmē, ka esam izveidojuši savienojumu starp Arduino, UI balstītu programmu un datu bāzi.
Ja jūs interesē, kā darbojas mana Arduino signalizācijas sistēma, esmu pievienojis dokumentu, kurā paskaidrots, kā tas ir ieprogrammēts un iestatīts.
Kā arī pilnīgs mezgla sarkanās programmēšanas eksports.
Ieteicams:
IoT: Gaismas sensora datu vizualizēšana, izmantojot mezglu-RED: 7 soļi
IoT: Gaismas sensora datu vizualizēšana, izmantojot mezglu-RED: Šajā pamācībā jūs uzzināsit, kā izveidot ar internetu savienotu sensoru! Šai demonstrācijai es izmantošu apkārtējās gaismas sensoru (TI OPT3001), taču derētu jebkurš jūsu izvēlētais sensors (temperatūra, mitrums, potenciometrs utt.). Sensora vērtības
Bezvadu vibrācijas un temperatūras sensora datu nosūtīšana uz Excel, izmantojot mezglu RED: 25 soļi
Bezvadu vibrācijas un temperatūras sensora datu nosūtīšana uz Excel, izmantojot Node-RED: Iepazīstinām ar NCD liela diapazona IoT rūpniecisko bezvadu vibrācijas un temperatūras sensoru, kas līdz pat 2 jūdžu diapazonam var izmantot bezvadu tīkla tīkla struktūru. Ietverot precīzu 16 bitu vibrācijas un temperatūras sensoru, šī ierīce ir
Bezvadu vibrācijas un temperatūras datu sūtīšana uz Google izklājlapām, izmantojot mezglu RED: 37 soļi
Bezvadu vibrācijas un temperatūras datu sūtīšana uz Google izklājlapām, izmantojot Node-RED: Iepazīstinām ar NCD Long Range IoT Industrial bezvadu vibrācijas un temperatūras sensoru, kas līdz pat 2 jūdžu diapazonam var izmantot bezvadu tīkla tīkla struktūru. Ietverot precīzu 16 bitu vibrācijas un temperatūras sensoru, šī ierīce ir
Datu iegūšanas un datu vizualizācijas sistēma elektriskajam motociklam MotoStudent: 23 soļi
Datu iegūšanas un datu vizualizācijas sistēma MotoStudent elektriskajam sacīkšu velosipēdam: Datu iegūšanas sistēma ir aparatūras un programmatūras kopums, kas darbojas kopā, lai apkopotu datus no ārējiem sensoriem, pēc tam tos uzglabātu un apstrādātu, lai tos varētu vizualizēt grafiski un analizēt, ļaujot inženieriem izgatavot
IOT liela diapazona bezvadu temperatūras un mitruma sensors ar sarkanu mezglu: 27 soļi
IOT liela diapazona bezvadu temperatūras un mitruma sensors ar sarkanu mezglu: Iepazīstinām ar NCD tālsatiksmes bezvadu temperatūras un mitruma sensoru, kas var lepoties līdz 28 jūdžu diapazonam, izmantojot bezvadu tīkla tīkla arhitektūru. Iekļaujot Honeywell HIH9130 temperatūras un mitruma sensoru, tiek pārraidīta ļoti precīza temperatūra un