Πίνακας περιεχομένων:

Αποθήκευση δεδομένων αισθητήρα Arduino στο MYsql χρησιμοποιώντας επεξεργασία: 6 βήματα
Αποθήκευση δεδομένων αισθητήρα Arduino στο MYsql χρησιμοποιώντας επεξεργασία: 6 βήματα

Βίντεο: Αποθήκευση δεδομένων αισθητήρα Arduino στο MYsql χρησιμοποιώντας επεξεργασία: 6 βήματα

Βίντεο: Αποθήκευση δεδομένων αισθητήρα Arduino στο MYsql χρησιμοποιώντας επεξεργασία: 6 βήματα
Βίντεο: Using Micro SD Card and Data logging with Arduino | Arduino Step by Step Course Lesson 106 2024, Νοέμβριος
Anonim
Αποθηκεύστε τα δεδομένα αισθητήρα Arduino στο MYsql χρησιμοποιώντας την επεξεργασία
Αποθηκεύστε τα δεδομένα αισθητήρα Arduino στο MYsql χρησιμοποιώντας την επεξεργασία

Ειλικρινά, είναι δύσκολο να αποθηκεύσετε δεδομένα Arduino στο MySQL άμεσα, έτσι ώστε στην εξάρτηση από το Arduino IDE να χρησιμοποιούσα Processing IDE που είναι παρόμοιο με το Arduino IDE αλλά με πολύ διαφορετική χρήση και μπορείτε να τα κωδικοποιήσετε σε java.

Σημείωση: μην εκτελείτε σειριακή οθόνη Arduino κατά την εκτέλεση κώδικα επεξεργασίας, επειδή θα προκύψει διένεξη θύρας, καθώς και οι δύο πρέπει να χρησιμοποιούν την ίδια θύρα

Χρειάζεσαι:

  1. Arduino Uno/Mega ή κλώνος
  2. Διακομιστής Wamp
  3. Επεξεργασία IDE 2.2.1 (μην χρησιμοποιείτε μεγαλύτερο από αυτό)
  4. Βιβλιοθήκη BezierSQLib-0.2.0 για επεξεργασία (σύνδεσμος λήψης παρακάτω)
  5. αισθητήρας (χρησιμοποίησα LDR και LM35 για μέτρηση φωτός και θερμοκρασίας)

Βήμα 1: Ρύθμιση του Arduino

Ρύθμιση του Arduino
Ρύθμιση του Arduino

Γράψτε τον παρακάτω απλό κωδικό επίδειξης στο arduino που θα λειτουργήσει ως αποστολέας., void setup () {Serial.begin (9600); }

κενός βρόχος ()

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

Βήμα 2: Ρύθμιση του MySQL

Ρύθμιση του MySQL
Ρύθμιση του MySQL
  1. Εγκαταστήστε τον διακομιστή Wamp για MySQL και ρυθμίστε τον ώστε να αποθηκεύει δεδομένα
  2. Εκτελέστε διακομιστή wamp
  3. ανοίξτε την κονσόλα MySQL
  4. επιλέξτε βάση δεδομένων
  5. Στη συνέχεια, δημιουργήστε τον πίνακα για τα δεδομένα σας

δημιουργία δεδομένων πίνακα (sno int (4) auto_increment πρωτογενούς κλειδιού, LDR int (4), TEMP int (4)).

χρησιμοποιήστε το desc your_table_name για να εμφανίσετε τις λεπτομέρειες του πίνακα

δεδομένα desc?

Αυτό είναι όλο για το DB τώρα μπορούμε να περάσουμε στην επεξεργασία…

Βήμα 3: Ρύθμιση επεξεργασίας IDE

Ρύθμιση επεξεργασίας IDE
Ρύθμιση επεξεργασίας IDE
  1. Κατεβάστε και εγκαταστήστε το Processing IDE 2.2.1
  2. Εξαγάγετε το παραπάνω δεδομένο ZIP στο MyDocuments/Processing/Libraries
  3. Τώρα ανοίξτε το IDE επεξεργασίας και ελέγξτε ότι η βιβλιοθήκη έχει εγκατασταθεί σωστά ή όχι όπως στην παραπάνω εικόνα
  4. Στη συνέχεια, αντιγράψτε τον παρακάτω κώδικα στην επεξεργασία και ονομάστε τον δικό σας

/* ARDUINO TO MYSQL ΜΕΣΩ ΕΠΕΞΕΡΓΑΣΙΑΣ Διαβάστε σειριακά μηνύματα από το Arduino και στη συνέχεια γράψτε τα στο MySQL. Συγγραφέας: J. V. JohnsonSelva Σεπτέμβριος 2016 */

εισαγωγή de.bezier.data.sql.*; // εισαγωγή της βιβλιοθήκης MySQL

επεξεργασία εισαγωγής.σειρά.*; // εισαγωγή της σειριακής βιβλιοθήκης

MySQL msql; // Δημιουργία αντικειμένου MySQL

Χορδή a; int τέλος = 10; // ο αριθμός 10 είναι ASCII για linefeed (τέλος του serial.println), αργότερα θα το αναζητήσουμε για να διαλύσουμε μεμονωμένα μηνύματα String serial. // δηλώστε μια νέα συμβολοσειρά που ονομάζεται "σειριακή". Μια συμβολοσειρά είναι μια ακολουθία χαρακτήρων (τύπος δεδομένων γνωστός ως "char") Σειριακή θύρα. // Η σειριακή θύρα, αυτή είναι μια νέα παρουσία της σειριακής κλάσης (ένα αντικείμενο)

void setup () {

String user = "root"; String pass = ""; String database = "iot_database"; msql = νέο MySQL (αυτό, "localhost", βάση δεδομένων, χρήστης, πάσο); θύρα = νέο Σειριακό (αυτό, Serial.list () [0], 9600); // εκκίνηση του αντικειμένου με εκχώρηση θύρας και ρυθμού baud (πρέπει να ταιριάζει με αυτό του Arduino) θύρα. Clear (); // συνάρτηση από σειριακή βιβλιοθήκη που ρίχνει την πρώτη ανάγνωση, σε περίπτωση που ξεκινήσαμε να διαβάζουμε στη μέση μιας συμβολοσειράς από το Arduino serial = port.readStringUntil (τέλος); // συνάρτηση που διαβάζει τη συμβολοσειρά από σειριακή θύρα μέχρι println και στη συνέχεια εκχωρεί συμβολοσειρά στη μεταβλητή συμβολοσειράς μας (που ονομάζεται «σειριακή») σειριακή = null; // αρχικά, η συμβολοσειρά θα είναι μηδενική (κενή)}

άκυρη κλήρωση ()

{while (port.available ()> 0) {// εφόσον υπάρχουν δεδομένα που προέρχονται από σειριακή θύρα, διαβάστε το και αποθηκεύστε το σειριακό = port.readStringUntil (τέλος); } if (σειριακό! = null) {// εάν η συμβολοσειρά δεν είναι κενή, εκτυπώστε τα παρακάτω // Σημείωση: η συνάρτηση διαίρεσης που χρησιμοποιείται παρακάτω δεν είναι απαραίτητη εάν αποστέλλεται μόνο μία μεταβλητή. Ωστόσο, είναι χρήσιμο για την ανάλυση (διαχωρισμό) των μηνυμάτων όταν // διαβάζετε από πολλαπλές εισόδους στο Arduino. Παρακάτω είναι παράδειγμα κώδικα για ένα σκίτσο Arduino a = split (σειριακό, ','); // ένας νέος πίνακας (που ονομάζεται "α") που αποθηκεύει τιμές σε ξεχωριστά κελιά (χωρίζονται με κόμματα που καθορίζονται στο πρόγραμμα Arduino σας) println (a [0]); // εκτύπωση τιμής LDR println (a [1]); // εκτύπωση συνάρτησης τιμής LM35 (); }}

κενή συνάρτηση ()

{if (msql.connect ()) {msql.query ("insert in data (LDR, Temp) values ("+a [0]+","+a [1]+")"); } else {// η σύνδεση απέτυχε! } msql.close (); // Πρέπει να κλείσει η σύνδεση MySQL μετά την εκτέλεση}

Βήμα 4: Εκτέλεση του προγράμματος

Εκτέλεση του Προγράμματος
Εκτέλεση του Προγράμματος

Εκτελέστε το πρόγραμμα κάνοντας κλικ στο κουμπί εκτέλεσης μην κλείσετε το αναδυόμενο παράθυρο κλείνοντας θα σταματήσει η εκτέλεση και κάτω από το ερώτημα για να δείτε αποθηκευμένα δεδομένα στο MySQL…

επιλέξτε * από δεδομένα.

Για να δείτε τον αριθμό των δεδομένων που έχουν εισαχθεί, χρησιμοποιήστε το παρακάτω ερώτημα..

επιλέξτε τον αριθμό (*) από τα δεδομένα.

Βήμα 5: Συμπέρασμα

Θα ήθελα να σας ευχαριστήσω που διαβάσατε το σεμινάριο μου. Θα το εκτιμούσα αν το βρήκατε χρήσιμο και μου δώσετε ένα like (αγαπημένο) ή με ρωτήσετε οτιδήποτε, καθώς αυτό μου δίνει κίνητρο να κάνω αυτές τις οδηγίες. μη διστάσετε να κάνετε οποιεσδήποτε ερωτήσεις πρέπει να γνωρίζετε…

Happy Coding Arduino…

Συνιστάται: