תוכן עניינים:

שמור נתוני חיישן Arduino ל- MYsql באמצעות עיבוד: 6 שלבים
שמור נתוני חיישן Arduino ל- MYsql באמצעות עיבוד: 6 שלבים

וִידֵאוֹ: שמור נתוני חיישן Arduino ל- MYsql באמצעות עיבוד: 6 שלבים

וִידֵאוֹ: שמור נתוני חיישן Arduino ל- MYsql באמצעות עיבוד: 6 שלבים
וִידֵאוֹ: CS50 2013 - Week 9 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 שישמש כשולח., הגדרת void () {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 key key, LDR int (4), TEMP int (4));

השתמש ב- desc your_table_name כדי להציג את פרטי הטבלה

נתוני desc;

זה הכל עבור DB כעת נוכל לעבור לעיבוד …

שלב 3: הגדרת עיבוד IDE

הגדרת עיבוד IDE
הגדרת עיבוד IDE
  1. הורד והתקן את מזהה העיבוד 2.2.1
  2. חלץ את ה- ZIP הנתון לעיל ל- MyDocuments/Processing/Libraries
  3. כעת פתח את עיבוד IDE ובדוק שהספרייה מותקנת כראוי או לא כמו בתמונה למעלה
  4. לאחר מכן העתק את הקוד שלהלן לעיבוד ושמו אותו בעצמך

/* ARDUINO ל- MYSQL דרך העיבוד קרא את ההודעות הטוריות של Arduino ואז כתוב זאת ב- MySQL. מחבר: ג 'ונסון סלווה ספטמבר 2016 */

יבוא de.bezier.data.sql.*; // לייבא את ספריית MySQL

ייבוא עיבוד. סדרה.*; // לייבא את הספרייה הטורית

MySQL msql; // צור אובייקט MySQL

מחרוזת א; int int = 10; // המספר 10 הוא ASCII עבור linefeed (סוף של serial.println), מאוחר יותר נחפש זאת כדי לפרק הודעות בודדות מחרוזת סידורי; // להכריז על מחרוזת חדשה בשם 'סדרתי'. מחרוזת היא רצף של תווים (סוג הנתונים המכונה "char") יציאה טורית; // היציאה הטורית, זהו מופע חדש של המחלקה הסידורי (אובייקט)

הגדרת בטל () {

משתמש מחרוזת = "root"; מעבר מחרוזת = ""; מסד נתונים מחרוזת = "iot_database"; msql = MySQL חדש (זה, "localhost", מסד נתונים, משתמש, מעבר); port = new Serial (this, Serial.list () [0], 9600); // אתחול האובייקט על ידי הקצאת יציאה וקצב שידור (חייב להתאים לזה של Arduino) port.clear (); // פונקציה מספרייה טורית שזורקת את הקריאה הראשונה, למקרה שהתחלנו לקרוא באמצע מחרוזת מתוך Arduino serial = port.readStringUntil (סוף); // פונקציה שקוראת את המחרוזת מיציאה טורית עד להדפסה ולאחר מכן מקצה מחרוזת למשתנה המחרוזת שלנו (שנקרא 'סדרתי') serial = null; // בתחילה המחרוזת תהיה null (ריקה)}

תיקו חלל ()

{while (port.available ()> 0) {// כל עוד יש נתונים שמגיעים מיציאה טורית, קרא אותם ושמור אותם serial = port.readStringUntil (סוף); } אם (סדרתי! = null) {// אם המחרוזת אינה ריקה, הדפס את הפקודה הבאה // הערה: אין צורך בפונקציית הפיצול שבה משתמשים להלן אם שולחים רק משתנה אחד. עם זאת, הוא שימושי לניתוח (הפרדה) של הודעות בעת // קריאה מכניסות מרובות בארדואינו. להלן קוד דוגמה לשרטוט Arduino a = split (סדרתי, ','); // מערך חדש (הנקרא 'א') המאחסן ערכים לתאים נפרדים (מופרדים בפסיקים המפורטים בתוכנית Arduino שלך) println (a [0]); // הדפס ערך LDR println (a [1]); // הדפס פונקציית ערך LM35 (); }}

פונקציית חלל ()

{if (msql.connect ()) {msql.query ("הכנס לערכי נתונים (LDR, Temp) ("+a [0]+","+a [1]+")"); } אחר {// החיבור נכשל! } msql.close (); // חייב לסגור את חיבור MySQL לאחר ביצוע}

שלב 4: ביצוע התוכנית

ביצוע התוכנית
ביצוע התוכנית

הפעל את התוכנית על ידי לחיצה על כפתור ההפעלה אל תסגור את סגירת חלון המוקפץ תפסיק את הביצוע ומתחת לשאילתה כדי להציג נתונים מאוחסנים ב- MySQL …

בחר * מנתונים;

כדי לצפות במספר הנתונים שהוכנסו השתמשו בשאילתה שלהלן..

בחר ספירה (*) מהנתונים;

שלב 5: מסקנה

ברצוני להודות לך על קריאת ההדרכה שלי. אודה לך אם תמצא את זה שימושי ותוריד לייק (מועדף) או תשאל אותי כל דבר מכיוון שזה נותן לי מוטיבציה לעשות את ההוראות האלה. אל תהסס לשאול כל שאלה שאתה צריך לדעת …

קידוד שמח Arduino…

מוּמלָץ: