Inhoudsopgave:

Arduino-sensorgegevens opslaan in MYsql met behulp van verwerking - Ajarnpa
Arduino-sensorgegevens opslaan in MYsql met behulp van verwerking - Ajarnpa

Video: Arduino-sensorgegevens opslaan in MYsql met behulp van verwerking - Ajarnpa

Video: Arduino-sensorgegevens opslaan in MYsql met behulp van verwerking - Ajarnpa
Video: Using Micro SD Card and Data logging with Arduino | Arduino Step by Step Course Lesson 106 2024, November
Anonim
Bewaar Arduino-sensorgegevens in MYsql met behulp van verwerking
Bewaar Arduino-sensorgegevens in MYsql met behulp van verwerking

Eerlijk gezegd is het moeilijk om Arduino-gegevens rechtstreeks op MySQL op te slaan, zodat ik bij verslaving aan Arduino IDE Processing IDE gebruikte die vergelijkbaar is met Arduino IDE, maar met veel ander gebruik en je kunt het in Java coderen.

Opmerking: voer geen Arduino seriële monitor uit terwijl de verwerkingscode wordt uitgevoerd, omdat er poortconflicten zullen optreden omdat beide dezelfde poort moeten gebruiken

Jij hebt nodig:

  1. Arduino Uno/Mega of kloon
  2. Wamp-server
  3. IDE 2.2.1 verwerken (gebruik niet meer dan dat)
  4. BezierSQLib-0.2.0-bibliotheek voor verwerking (downloadlink hieronder)
  5. sensor (ik gebruikte LDR en LM35 om licht en temperatuur te meten)

Stap 1: Arduino instellen

Arduino instellen
Arduino instellen

Brand de onderstaande eenvoudige democode op arduino die als afzender zal fungeren., void setup() { Serial.begin(9600); }

lege lus()

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

Stap 2: De MySQL instellen

De MySQL instellen
De MySQL instellen
  1. Installeer de Wamp-server voor MySQL en configureer deze om gegevens op te slaan
  2. Wamp-server uitvoeren
  3. open MySQL-console
  4. selecteer database
  5. Maak vervolgens de tabel voor uw gegevens

maak tabelgegevens aan (sno int(4) primaire sleutel auto_increment, LDR int(4), TEMP int(4));

gebruik desc your_table_name om tabeldetails weer te geven

desc gegevens;

Dat is alles voor DB, nu kunnen we overgaan tot verwerking …

Stap 3: Verwerkings-IDE instellen

Verwerkings-IDE instellen
Verwerkings-IDE instellen
  1. Download en installeer de verwerkings-IDE 2.2.1
  2. Pak de hierboven gegeven ZIP uit naar MyDocuments/Processing/Bibliotheken
  3. Open nu de verwerkings-IDE en controleer of de bibliotheek correct is geïnstalleerd of niet zoals in de bovenstaande afbeelding
  4. Kopieer vervolgens de onderstaande code naar verwerking en noem deze zelf

/* ARDUINO NAAR MYSQL VIA VERWERKING Lees seriële berichten van Arduino en schrijf deze vervolgens in MySQL. Auteur: J. V. JohnsonSelva september 2016 */

importeer de.bezier.data.sql.*; // importeer de MySQL-bibliotheek

importverwerking.serienummer.*; // importeer de seriële bibliotheek

MySQL-msql; //Maak MySQL-object

Tekenreeks een; int einde = 10; // het nummer 10 is ASCII voor linefeed (einde van serial.println), later zullen we dit zoeken om individuele berichten op te splitsen. String serial; // declareer een nieuwe string met de naam 'serial'. Een string is een reeks karakters (datatype bekend als "char") Seriële poort; // De seriële poort, dit is een nieuwe instantie van de seriële klasse (een object)

ongeldige setup() {

String gebruiker = "root"; String pass = ""; String database = "iot_database"; msql = nieuwe MySQL (dit, "localhost", database, gebruiker, pas); poort = nieuw Serieel(this, Serial.list()[0], 9600); // initialiseren van het object door een poort en baudrate toe te wijzen (moet overeenkomen met die van Arduino) port.clear(); // functie van seriële bibliotheek die de eerste meting weggooit, voor het geval we in het midden van een string van Arduino begonnen te lezen serial = port.readStringUntil(end); // functie die de string van de seriële poort tot een println leest en vervolgens een string toewijst aan onze stringvariabele ('serial' genaamd) serial = null; // aanvankelijk is de string null (leeg) }

nietig tekenen()

{ while (port.available() > 0) { // zolang er gegevens uit de seriële poort komen, lees deze en sla ze op serial = port.readStringUntil(end); } if (serial != null) { // als de string niet leeg is, print dan het volgende //Opmerking: de splitsfunctie die hieronder wordt gebruikt is niet nodig als er maar één variabele wordt verzonden. Het is echter handig voor het ontleden (scheiden) van berichten bij het // lezen van meerdere ingangen in Arduino. Hieronder staat een voorbeeldcode voor een Arduino-schets a = split (serieel, ', '); // een nieuwe array (genaamd 'a') die waarden opslaat in aparte cellen (gescheiden door komma's gespecificeerd in je Arduino-programma) println(a[0]); // print LDR-waarde println (a [1]); // print LM35-waardefunctie (); } }

ongeldige functie()

{ if (msql.connect()) { msql.query("invoegen in data(LDR, Temp)values("+a[0]+", "+a[1]+")"); } else { // verbinding mislukt! } msql.close(); // Moet MySQL-verbinding sluiten na uitvoering}

Stap 4: Het programma uitvoeren

Het programma uitvoeren
Het programma uitvoeren

Voer het programma uit door op de knop Uitvoeren te klikken. Sluit het pop-upvenster niet. Sluiten stopt de uitvoering en ondervraag om opgeslagen gegevens in MySQL te bekijken…

selecteer * uit gegevens;

Gebruik de onderstaande query om het aantal ingevoegde gegevens te bekijken.

selecteer count(*) uit gegevens;

Stap 5: Conclusie

Ik wil je bedanken voor het lezen van mijn tutorial. Ik zou het op prijs stellen als je het nuttig vindt en een like (favoriet) laat vallen of me iets vraagt, omdat het me gemotiveerd houdt om deze instructables te doen. voel je vrij om al je vragen te stellen die je wilt weten…

Gelukkig coderen Arduino…

Aanbevolen: