Turinys:

Išsaugokite „Arduino“jutiklio duomenis į „MYsql“naudodami apdorojimą: 6 veiksmai
Išsaugokite „Arduino“jutiklio duomenis į „MYsql“naudodami apdorojimą: 6 veiksmai

Video: Išsaugokite „Arduino“jutiklio duomenis į „MYsql“naudodami apdorojimą: 6 veiksmai

Video: Išsaugokite „Arduino“jutiklio duomenis į „MYsql“naudodami apdorojimą: 6 veiksmai
Video: Arduino pamoka Nr. 7: Išmatuokime temperatūrą – Jutiklis TMP35 2024, Lapkritis
Anonim
Išsaugokite „Arduino“jutiklio duomenis į „MYsql“naudodami apdorojimą
Išsaugokite „Arduino“jutiklio duomenis į „MYsql“naudodami apdorojimą

Tiesą sakant, sunku saugoti „Arduino“duomenis tiesiogiai „MySQL“, kad priklausydamas nuo „Arduino IDE“naudojau „Processing IDE“, kuris yra panašus į „Arduino IDE“, tačiau yra daug skirtingo naudojimo ir galite jį koduoti „Java“.

Pastaba: paleiskite „Arduino“serijinį monitorių, kol vykdomas apdorojimo kodas, nes įvyks prievado konfliktas, nes abu turi naudoti tą patį prievadą

Tau reikia:

  1. Arduino Uno/Mega arba klonas
  2. „Wamp“serveris
  3. Apdorojamas IDE 2.2.1 (nenaudokite daugiau nei tai)
  4. „BezierSQLib-0.2.0“biblioteka apdorojimui (atsisiųskite nuorodą žemiau)
  5. jutiklis (šviesai ir temperatūrai matuoti naudojau LDR ir LM35)

1 žingsnis: nustatykite „Arduino“

„Arduino“nustatymas
„Arduino“nustatymas

Įrašykite žemiau esantį paprastą demonstracinį kodą į arduino, kuris veiks kaip siuntėjas., void setup () {Serial.begin (9600); }

tuštumos kilpa ()

{int i = 0, j = 0; i = analogRead (A0); j = analogRead (A1); Serijinis atspaudas (i); Serial.print (","); Serijinis.println (i); }

2 veiksmas: nustatykite „MySQL“

„MySQL“nustatymas
„MySQL“nustatymas
  1. Įdiekite „Wamp“serverį, skirtą „MySQL“, ir sukonfigūruokite jį saugoti duomenis
  2. Paleiskite „wamp“serverį
  3. atidarykite „MySQL“konsolę
  4. pasirinkti duomenų bazę
  5. Tada sukurkite savo duomenų lentelę

sukurti lentelės duomenis (sno int (4) pirminis raktas auto_increment, LDR int (4), TEMP int (4));

naudokite desc your_table_name, kad būtų rodoma išsami lentelės informacija

desc duomenys;

Viskas DB, dabar galime pereiti prie apdorojimo …

3 veiksmas: nustatykite apdorojimo IDE

Apdorojimo IDE nustatymas
Apdorojimo IDE nustatymas
  1. Atsisiųskite ir įdiekite apdorojimo IDE 2.2.1
  2. Išskleiskite aukščiau pateiktą ZIP failą į „MyDocuments“/„Processing/Libraries“
  3. Dabar atidarykite apdorojimo IDE ir patikrinkite, ar biblioteka įdiegta teisingai, ar ne, kaip parodyta aukščiau esančiame paveikslėlyje
  4. Tada nukopijuokite žemiau esantį kodą į apdorojimą ir pavadinkite jį savo

/* ARDUINO Į MYSQL APDOROJANT Skaitykite serijinius pranešimus iš „Arduino“, tada rašykite juos „MySQL“. Autorius: J. V. JohnsonSelva 2016 m. Rugsėjo mėn. */

importuoti de.bezier.data.sql.*; // importuoti MySQL biblioteką

importo apdorojimas.serijinis.*; // importuoti serijinę biblioteką

„MySQL msql“; // Sukurti „MySQL“objektą

Styga a; int galas = 10; // skaičius 10 yra ASCII linijiniam tiekimui (serijos pabaiga.println), vėliau ieškosime to, kad suskaidytume atskirus pranešimus String serial; // paskelbti naują eilutę pavadinimu „serial“. Eilutė yra simbolių seka (duomenų tipas žinomas kaip „char“) Serijinis prievadas; // Serijinis prievadas, tai yra naujas serijinės klasės egzempliorius (objektas)

void setup () {

Eilutės vartotojas = "root"; Eilutės leidimas = ""; Styginių duomenų bazė = "iot_database"; msql = naujas MySQL (tai, "localhost", duomenų bazė, vartotojas, leidimas); prievadas = naujas serijinis (šis, serijinis sąrašas () [0], 9600); // objekto inicijavimas priskiriant prievadą ir duomenų perdavimo spartą (turi atitikti „Arduino“) port.clear (); // funkcija iš serijinės bibliotekos, kuri išmeta pirmąjį skaitymą, jei pradėtume skaityti eilutės viduryje iš „Arduino“serial = port.readStringUntil (end); // funkcija, kuri nuskaito eilutę iš nuoseklaus prievado iki println ir tada priskiria eilutę mūsų eilutės kintamajam (vadinamam „serial“) serial = null; // iš pradžių eilutė bus nulinė (tuščia)}

niekinis lygiosios ()

{while (port.available ()> 0) {// kol yra duomenų iš serijinio prievado, perskaitykite ir išsaugokite serial = port.readStringUntil (end); } if (serial! = null) {// jei eilutė nėra tuščia, atspausdinkite šiuos // Pastaba: toliau naudojama skaidymo funkcija nėra būtina, jei siunčiamas tik vienas kintamasis. Tačiau tai naudinga analizuojant (atskiriant) pranešimus, kai // skaitoma iš kelių „Arduino“įėjimų. Žemiau pateikiamas „Arduino“eskizo kodo pavyzdys a = split (serial, ','); // naujas masyvas (vadinamas „a“), kuris saugo vertes atskirose ląstelėse (atskiriamas kableliais, nurodytais jūsų „Arduino“programoje) println (a [0]); // spausdinti LDR reikšmę println (a [1]); // spausdinti LM35 reikšmių funkciją (); }}

negaliojanti funkcija ()

{if (msql.connect ()) {msql.query ("įterpti į duomenų (LDR, temp) reikšmes ("+a [0]+","+a [1]+")"); } else {// nepavyko prisijungti! } msql.close (); // Po vykdymo reikia uždaryti „MySQL“ryšį}

4 žingsnis: programos vykdymas

Programos vykdymas
Programos vykdymas

Vykdykite programą spustelėdami mygtuką Vykdyti, neuždarykite iššokančio lango uždarymo, bus sustabdytas vykdymas, o žemiau pateikta užklausa - peržiūrėti saugomus duomenis „MySQL“…

pasirinkti * iš duomenų;

Norėdami pamatyti įterptų duomenų skaičių, naudokite žemiau pateiktą užklausą.

iš duomenų pasirinkite skaičių (*);

5 žingsnis: Išvada

Norėčiau padėkoti, kad perskaitėte mano vadovėlį. Būčiau dėkingas, jei jums tai būtų naudinga ir pamestumėte mėgstamą (mėgstamiausią) arba ko nors paklaustumėte, nes tai mane motyvuoja daryti šiuos nurodymus. nedvejodami užduokite visus klausimus, kuriuos turite žinoti…

Laimingas kodavimas Arduino…

Rekomenduojamas: