Satura rādītājs:

UCL-IIOT-signalizācijas sistēma ar datu bāzi un sarkanu mezglu: 7 soļi
UCL-IIOT-signalizācijas sistēma ar datu bāzi un sarkanu mezglu: 7 soļi

Video: UCL-IIOT-signalizācijas sistēma ar datu bāzi un sarkanu mezglu: 7 soļi

Video: UCL-IIOT-signalizācijas sistēma ar datu bāzi un sarkanu mezglu: 7 soļi
Video: Часть 3 — Аудиокнига «Бэббит» Синклера Льюиса (главы 10–15) 2024, Novembris
Anonim
UCL-IIOT-signalizācijas sistēma ar datu bāzi un mezglu sarkanu
UCL-IIOT-signalizācijas sistēma ar datu bāzi un mezglu sarkanu
UCL-IIOT-signalizācijas sistēma ar datu bāzi un sarkanu mezglu
UCL-IIOT-signalizācijas sistēma ar datu bāzi un sarkanu mezglu

Šī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

Darba sākšana ar sarkanu mezglu
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ā

Datu sadalīšana sarkanā mezglā
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

Datu bāze ar Wampserver
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

Datu bāze
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

Sarkans mezgls uz Wampserver
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

Datu izmantošana no Wampserver līdz mezglam sarkans
Datu izmantošana no Wampserver līdz mezglam sarkans
Datu izmantošana no Wampserver līdz mezglam sarkans
Datu izmantošana no Wampserver līdz mezglam sarkans

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

Pabeigšana
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: