جدول المحتويات:
- الخطوة 1: ضبط Arduino
- الخطوة الثانية: إعداد MySQL
- الخطوة 3: إعداد معالجة IDE
- الخطوة الرابعة: تنفيذ البرنامج
- الخطوة 5: الخاتمة
فيديو: حفظ بيانات مستشعر Arduino في MYsql باستخدام المعالجة: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
بصراحة ، من الصعب تخزين بيانات Arduino في MySQL مباشرة ، لذلك في إدمان Arduino IDE ، استخدمت بيئة معالجة مشابه لـ Arduino IDE ولكن مع الكثير من الاستخدامات المختلفة ويمكنك ترميزها في جافا.
ملاحظة: لا تقم بتشغيل شاشة Arduino التسلسلية أثناء تشغيل رمز المعالجة لأن تعارض المنفذ سيحدث حيث يتعين على كليهما استخدام نفس المنفذ
انت تحتاج:
- اردوينو أونو / ميجا أو استنساخ
- خادم Wamp
- IDE 2.2.1 المعالجة (لا تستخدم أكثر من ذلك)
- مكتبة BezierSQLib-0.2.0 للمعالجة (رابط التنزيل أدناه)
- جهاز استشعار (استخدمت LDR و LM35 لقياس الضوء ودرجة الحرارة)
الخطوة 1: ضبط Arduino
انسخ الكود التجريبي البسيط أدناه إلى arduino الذي سيعمل كمرسل.،
إعداد باطل () {Serial.begin (9600) ؛ }
حلقة فارغة()
{int i = 0 ، j = 0 ؛ أنا = analogRead (A0) ؛ j = analogRead (A1) ؛ Serial.print (i) ؛ Serial.print ("،") ؛ Serial.println (i) ؛ }
الخطوة الثانية: إعداد MySQL
- قم بتثبيت خادم Wamp لـ MySQL وضبطه لتخزين البيانات
- تشغيل خادم wamp
- افتح وحدة تحكم MySQL
- حدد قاعدة البيانات
- ثم قم بإنشاء جدول لبياناتك
إنشاء بيانات الجدول (sno int (4) Primary key auto_increment، LDR int (4)، TEMP int (4)) ؛
استخدم desc your_table_name لعرض تفاصيل الجدول
البيانات الوصفية
هذا كل شيء بالنسبة إلى DB ، يمكننا الآن الانتقال إلى المعالجة …
الخطوة 3: إعداد معالجة IDE
- قم بتنزيل وتثبيت معالجة IDE 2.2.1
- قم باستخراج ملف ZIP الوارد أعلاه إلى MyDocuments / Processing / Libraries
- افتح الآن IDE للمعالجة وتحقق من تثبيت المكتبة بشكل صحيح أم لا كما في الصورة أعلاه
- ثم انسخ الكود أدناه للمعالجة وقم بتسميته بنفسك
/ * ARDUINO TO MYSQL من خلال المعالجة اقرأ الرسائل التسلسلية من Arduino ثم اكتبها في MySQL. المؤلف: JV JohnsonSelva سبتمبر 2016 * /
استيراد de.bezier.data.sql. * ؛ // استيراد مكتبة MySQL
معالجة الاستيراد. تسلسلي. * ؛ // استيراد المكتبة التسلسلية
MySQL msql ؛ // إنشاء كائن MySQL
سلسلة أ ؛ نهاية int = 10 ؛ // الرقم 10 هو ASCII لتغذية الأسطر (نهاية serial.println) ، سنبحث لاحقًا عن هذا لتفكيك الرسائل الفردية String serial ؛ // أعلن عن سلسلة جديدة تسمى 'serial'. السلسلة عبارة عن سلسلة من الأحرف (نوع البيانات يعرف باسم "char") المنفذ التسلسلي ؛ // المنفذ التسلسلي ، هذا مثيل جديد للفئة التسلسلية (كائن)
الإعداد باطل() {
مستخدم السلسلة = "الجذر" ؛ تمرير السلسلة = "" ؛ قاعدة بيانات السلسلة = "iot_database" ؛ msql = new MySQL (هذا ، "localhost" ، قاعدة بيانات ، مستخدم ، تمرير) ؛ المنفذ = مسلسل جديد (this، Serial.list () [0]، 9600)؛ // تهيئة الكائن عن طريق تعيين منفذ ومعدل باود (يجب أن يتطابق مع منفذ Arduino) port.clear () ؛ // وظيفة من مكتبة تسلسلية تطرح القراءة الأولى ، في حال بدأنا القراءة في منتصف سلسلة من Arduino serial = port.readStringUntil (end) ؛ // دالة تقرأ السلسلة من المنفذ التسلسلي حتى println ثم تعين سلسلة إلى متغير السلسلة (يسمى 'serial') serial = null ؛ // في البداية ، ستكون السلسلة فارغة (فارغة)}
رسم باطل ()
{while (port.available ()> 0) {// طالما أن هناك بيانات قادمة من المنفذ التسلسلي ، اقرأها واحفظها serial = port.readStringUntil (end)؛ } if (serial! = null) {// إذا لم تكن السلسلة فارغة ، اطبع // ملاحظة التالية: وظيفة التقسيم المستخدمة أدناه ليست ضرورية في حالة إرسال متغير واحد فقط. ومع ذلك ، من المفيد تحليل (فصل) الرسائل عند // القراءة من مدخلات متعددة في Arduino. يوجد أدناه مثال لكود رسم Arduino a = split (serial، '،')؛ // مصفوفة جديدة (تسمى "a") تخزن القيم في خلايا منفصلة (مفصولة بفواصل محددة في برنامج Arduino الخاص بك) println (a [0]) ؛ // print LDR value println (a [1]) ؛ // طباعة دالة القيمة LM35 () ؛ }}
دالة باطلة ()
{if (msql.connect ()) {msql.query ("إدراج في قيم البيانات (LDR ، Temp) (" + a [0] + "،" + a [1] + ")") ؛ } آخر {// فشل الاتصال! } msql.close () ؛ // يجب إغلاق اتصال MySQL بعد التنفيذ}
الخطوة الرابعة: تنفيذ البرنامج
قم بتشغيل البرنامج بالنقر فوق زر التشغيل ، لا تغلق النافذة المنبثقة ، سيؤدي إغلاق النافذة المنبثقة إلى إيقاف التنفيذ والاستعلام أدناه لعرض البيانات المخزنة في MySQL …
حدد * من البيانات ؛
لعرض عدد البيانات المدرجة استخدم الاستعلام أدناه..
حدد العد (*) من البيانات ؛
الخطوة 5: الخاتمة
أود أن أشكرك على قراءة البرنامج التعليمي الخاص بي. سأكون ممتنًا إذا وجدت ذلك مفيدًا وأسقطت إعجابًا (مفضلًا) أو سألتني عن أي شيء لأنه يجعلني متحمسًا للقيام بهذه التعليمات. لا تتردد في طرح أي أسئلة تحتاج إلى معرفتها …
اردوينو ترميز سعيد …
موصى به:
إنترنت الأشياء: تصور بيانات مستشعر الضوء باستخدام Node-RED: 7 خطوات
إنترنت الأشياء: تصور بيانات مستشعر الضوء باستخدام Node-RED: في هذه التعليمات ، ستتعلم كيفية إنشاء مستشعر متصل بالإنترنت! سأستخدم مستشعر الإضاءة المحيطة (TI OPT3001) لهذا العرض التوضيحي ، ولكن أي جهاز استشعار من اختيارك (درجة الحرارة ، والرطوبة ، ومقياس الجهد ، وما إلى ذلك) سيعمل. قيم المستشعر
بيانات مستشعر الاهتزاز ودرجة الحرارة اللاسلكي إلى MySQL باستخدام Node-RED: 40 خطوة
الاهتزاز اللاسلكي وبيانات مستشعر درجة الحرارة إلى MySQL باستخدام Node-RED: تقديم مستشعر الاهتزاز ودرجة الحرارة اللاسلكي طويل المدى لإنترنت الأشياء من NCD ، والذي يضم نطاقًا يصل إلى ميلين باستخدام بنية الشبكات الشبكية اللاسلكية. يشتمل هذا الجهاز على مستشعر دقيق للاهتزاز ودرجة الحرارة 16 بت ، وهو
بيانات الطقس باستخدام جداول بيانات Google و Google Script: 7 خطوات
بيانات الطقس باستخدام جداول بيانات Google و Google Script: في مدونة Blogtut هذه ، سنرسل قراءات مستشعر SHT25 إلى أوراق Google باستخدام Adafruit huzzah ESP8266 مما يساعد على إرسال البيانات إلى الإنترنت. والطريقة الأساسية التي تحفظ البيانات في
إرسال بيانات الاهتزاز اللاسلكي ودرجة الحرارة إلى جداول بيانات Google باستخدام Node-RED: 37 خطوة
إرسال بيانات الاهتزاز اللاسلكي ودرجة الحرارة إلى جداول بيانات Google باستخدام Node-RED: تقديم مستشعر الاهتزاز ودرجة الحرارة اللاسلكي طويل المدى لإنترنت الأشياء من NCD ، والذي يضم نطاقًا يصل إلى ميلين باستخدام بنية شبكة لاسلكية. يشتمل هذا الجهاز على مستشعر دقيق للاهتزاز ودرجة الحرارة 16 بت ، وهو
قراءة بيانات مستشعر الموجات فوق الصوتية (HC-SR04) على شاشة LCD مقاس 128 × 128 وتصورها باستخدام Matplotlib: 8 خطوات
قراءة بيانات مستشعر الموجات فوق الصوتية (HC-SR04) على شاشة LCD مقاس 128 × 128 وتصورها باستخدام Matplotlib: في هذه التعليمات ، سنستخدم MSP432 LaunchPad + BoosterPack لعرض بيانات مستشعر بالموجات فوق الصوتية (HC-SR04) على 128 × 128 LCD وإرسال البيانات إلى جهاز الكمبيوتر بشكل تسلسلي وتصورها باستخدام Matplotlib