INHOUDSOPGAWE:

Stoor Arduino -sensordata in MYsql met behulp van verwerking: 6 stappe
Stoor Arduino -sensordata in MYsql met behulp van verwerking: 6 stappe

Video: Stoor Arduino -sensordata in MYsql met behulp van verwerking: 6 stappe

Video: Stoor Arduino -sensordata in MYsql met behulp van verwerking: 6 stappe
Video: CS50 2015 - Week 10 2024, November
Anonim
Stoor Arduino -sensordata in MYsql met behulp van verwerking
Stoor Arduino -sensordata in MYsql met behulp van verwerking

Dit is eerlikwaar moeilik om Arduino -data direk in MySQL te stoor, sodat ek in verslawing aan Arduino IDE Processing IDE gebruik het wat soortgelyk is aan Arduino IDE, maar met baie verskillende gebruike en dat u dit in Java kan kodeer.

Let wel: moenie die Arduino -seriële monitor gebruik terwyl die verwerkingskode uitgevoer word nie, want poortkonflik sal voorkom, aangesien beide dieselfde poort moet gebruik

Jy benodig:

  1. Arduino Uno/Mega of kloon
  2. Wamp bediener
  3. Verwerk IDE 2.2.1 (moenie groter as dit gebruik nie)
  4. BezierSQLib-0.2.0 biblioteek vir verwerking (aflaai skakel hieronder)
  5. sensor (ek het LDR en LM35 gebruik om lig en temperatuur te meet)

Stap 1: Stel Arduino in

Die opstel van Arduino
Die opstel van Arduino

Brand die onderstaande eenvoudige demokode na arduino wat as afsender sal dien., ongeldige opstelling () {Serial.begin (9600); }

leemte lus ()

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

Stap 2: Die opstel van die MySQL

Die opstel van die MySQL
Die opstel van die MySQL
  1. Installeer Wamp -bediener vir MySQL en stel dit in om data te stoor
  2. Begin wamp -bediener
  3. maak MySQL -konsole oop
  4. kies databasis
  5. Maak dan die tabel vir u data

skep tabeldata (sno int (4) auto_increment primêre sleutel, LDR int (4), TEMP int (4));

gebruik desc your_table_name om tabelbesonderhede te vertoon

beskrywing data;

Dit is alles vir DB, nou kan ons na die verwerking oorgaan …

Stap 3: Opstel van verwerking IDE

Die opstel van verwerking IDE
Die opstel van verwerking IDE
  1. Laai die verwerkings -IDE 2.2.1 af en installeer dit
  2. Pak die gegewe zip uit na MyDocuments/Processing/Libraries
  3. Maak nou die verwerking van IDE oop en kyk of die biblioteek korrek geïnstalleer is, soos nie in die prent hierbo nie
  4. Kopieer dan die onderstaande kode na die verwerking en noem dit u eie

/* ARDUINO AAN MYSQL DEUR VERWERKING Lees reeksboodskappe van Arduino en skryf dit dan in MySQL. Skrywer: J. V. JohnsonSelva September 2016 */

invoer de.bezier.data.sql.*; // voer die MySQL -biblioteek in

invoerverwerking.reeks.*; // voer die reeksbiblioteek in

MySQL msql; // Skep MySQL -voorwerp

String a; int einde = 10; // die nommer 10 is ASCII vir linefeed (einde van serial.println), later sal ons daarna soek om individuele boodskappe op te breek String serial; // verklaar 'n nuwe string genaamd 'serial'. 'N Tou is 'n reeks karakters (datatipe bekend as "char") Seriële poort; // Die seriële poort, dit is 'n nuwe voorbeeld van die seriële klas ('n voorwerp)

ongeldige opstelling () {

Stringgebruiker = "root"; String pass = ""; String databasis = "iot_database"; msql = nuwe MySQL (hierdie, "localhost", databasis, gebruiker, pas); poort = new Serial (hierdie, Serial.list () [0], 9600); // die voorwerp te initialiseer deur 'n poort en baud rate toe te ken (moet ooreenstem met die van Arduino) port.clear (); // funksie uit die seriële biblioteek wat die eerste lesing weggooi, as ons in die middel van 'n string van Arduino serial = port.readStringUntil (einde) begin lees; // funksie wat die string lees vanaf die seriële poort tot 'n println en dan die string toewys aan ons string veranderlike (genaamd 'serial') serial = null; // aanvanklik sal die string nul (leeg) wees}

leemte trek ()

{while (port.available ()> 0) {// solank daar data uit die seriële poort kom, lees dit en stoor dit serial = port.readStringUntil (end); } if (serial! = null) {// as die string nie leeg is nie, druk die volgende // Let wel: die onderstaande splitfunksie is nie nodig as slegs 'n enkele veranderlike gestuur word nie. Dit is egter handig om boodskappe te ontleed (skei) wanneer // van verskeie insette in Arduino gelees word. Hieronder is 'n voorbeeldkode vir 'n Arduino -skets a = split (serial, ','); // 'n nuwe skikking (genaamd 'a') wat waardes in aparte selle stoor (geskei deur kommas wat in u Arduino -program gespesifiseer is) println (a [0]); // druk LDR -waarde println (a [1]); // druk LM35 waarde funksie (); }}

leemte funksie ()

{if (msql.connect ()) {msql.query ("voeg in data (LDR, Temp) waardes ("+a [0]+","+a [1]+")")); } anders {// konneksie misluk! } msql.close (); // Moet MySQL -verbinding sluit na uitvoering}

Stap 4: Die uitvoering van die program

Die uitvoering van die program
Die uitvoering van die program

Begin die program deur op die run -knoppie te klik, moenie die pop -upvenster sluit nie, die uitvoering stop en die onderstaande navraag om gestoorde data in MySQL te sien …

kies * uit data;

Gebruik die onderstaande navraag om die aantal ingevoegde data te sien..

kies telling (*) uit data;

Stap 5: Gevolgtrekking

Ek wil u bedank vir die lees van my tutoriaal. Ek sal dit waardeer as u dit nuttig vind, 'n like (gunsteling) of iets vra, aangesien dit my gemotiveerd hou om hierdie instruksies te doen. stel gerus enige vrae wat u moet weet …

Gelukkige kodering Arduino …

Aanbeveel: