جدول المحتويات:
- الخطوة 1: الشروع في استخدام Node-red
- الخطوة 2: تقسيم البيانات في العقدة الحمراء
- الخطوة 3: قاعدة البيانات مع Wampserver
- الخطوة 4: قاعدة البيانات
- الخطوة 5: العقدة الحمراء إلى Wampserver
- الخطوة 6: استخدام البيانات من Wampserver إلى Node-red
- الخطوة 7: وضع اللمسات الأخيرة
فيديو: UCL-IIOT - نظام إنذار مزود بقاعدة بيانات وعقدة حمراء: 7 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
الغرض من هذا البناء هو تعليم كيفية توصيل Arduino بـ Node-red وقاعدة البيانات ، بحيث يمكنك تسجيل البيانات وجمعها لاستخدامها لاحقًا.
بالنسبة لهذا الإصدار ، أستخدم نظام إنذار بسيط من اردوينو يخرج 5 أرقام بيانات ، كل منها مفصول بفاصلة.
ليس من الضروري أن يكون لديك هذا المقدار الدقيق من البيانات ويمكن أن يكون البرنامج أي شيء.
الجزء المهم هو أن البيانات مفصولة بفواصل كما هو موضح في لقطة الشاشة هذه.
قد يبدو الإخراج على سبيل المثال كالتالي: "324 ، 0 ، 0 ، 1 ، 1"
(تم ربط البرمجة النهائية والإرشادات الخاصة بإنشاء اردوينو في أسفل هذا البرنامج التعليمي)
الخطوة 1: الشروع في استخدام Node-red
في هذا البرنامج التعليمي ، نفترض أنك قمت بالفعل بتثبيت Node-red ، ولكن هناك بعض اللوحات الإضافية المستخدمة لهذا المشروع والتي نحتاجها حتى يعمل
ابحث عن الزر "إدارة لوحة الألوان" وقم بتثبيت اللوحات التالية.
- العقدة الحمراء لوحة القيادة
- العقدة الحمراء عقدة الخلية
- العقدة الحمراء عقدة اردوينو
- عقدة حمراء عقدة مسلسل المنفذ
يجب أن تظهر بعض اللوحات الجديدة على جانب قائمة الزر Node-red.
الخطوة 2: تقسيم البيانات في العقدة الحمراء
الآن بعد أن أصبحت Node-red جاهزة للانطلاق ، نحتاج إلى البدء بتقسيم بياناتنا إلى أجزاء منفصلة.
هذا هو السبب في أننا تأكدنا من فصلهم بفواصل داخل كود Arduino.
لنبدأ أولاً بوضع عقدة Arduino Input الموجودة على اللوحة اليسرى.
تحتاج إلى التأكد من أنه يحتوي على المنفذ التسلسلي الصحيح (Mine يستخدم COM4) ومعدل الباود (في برنامجي ، أستخدم معدل الباود 9600)
إذا تم إعداده بشكل صحيح ، فيجب أن يشير إلى أنه متصل.
بعد ذلك ، نقوم بإنشاء كتلة دالة Javascript وربطها بعد عقدة إدخال Arduino ، تسمح لنا هذه الكتلة بالبرمجة في Javascript ، وهنا نكتب رمزًا يمكنه تقسيم بياناتنا لكل فاصلة.
في كتلة الوظيفة هذه ، قسمت بياناتي الخمسة باستخدام الكود التالي:
var m1 = {topic: "light1"، payload: msg.payload.split ("،") [0]}؛ var m2 = {topic: "light2"، payload: msg.payload.split ("،") [1]}؛ var m3 = {topic: "light3"، payload: msg.payload.split ("،") [2]}؛ var m4 = {topic: "millis"، payload: msg.payload.split ("،") [3]}؛ var m5 = {topic: "onoff"، payload: msg.payload.split ("،") [4]}؛ عودة [m1، m2، m3، m4، m5]؛
(قم بتغيير الرمز حسب الضرورة)
تأكد من ضبط العقدة على 5 مخرجات (أو ما يعادلها)
كما هو موضح في لقطة الشاشة ، لدينا الآن 5 مخرجات يربط كل منها بعقدة تصحيح الأخطاء وعقدة لوحة معلومات نصية. سيكون هذا مفيدًا عندما نحتاج إلى رؤيته على واجهة المستخدم.
الخطوة 3: قاعدة البيانات مع Wampserver
لكي تعمل قاعدة البيانات الخاصة بنا ، تحتاج إلى تثبيت Wampserver. بعد تثبيته وظهوره كرمز أخضر (بعد بدء جميع الخدمات) ، يجب عليك فتح "phpMyAdmin" الذي يجب أن ينقلك إلى شاشة تسجيل الدخول. ما لم يكن لديك تم تغييره مسبقًا ، ما عليك سوى إدخال "root" في اسم المستخدم وتسجيل الدخول.
اضغط على زر phpmyadmin أسفل الأدوات لأسفل في الشريط الأيسر ويفتح قائمة قاعدة البيانات ، والتي تبدو كما هو موضح في الصورة أعلاه.
أنشئ قاعدة بيانات جديدة وأطلق عليها اسمًا متعلقًا بمشروعك ، سيُطلق علي اسمي "نظام إنذار" (ستكون هذه الأسماء حساسة لحالة الأحرف)
ضمن قاعدة البيانات هذه ، أنشئ جدولًا جديدًا وقم بتسميته ، وسُمي لي "بيانات المنبه"
سيسألك ما إذا كنت تريد استخدام "latin1_swedish_ci" ونحن فقط نحتفظ بها على هذا النحو.
الآن تقوم بإنشاء 6 جداول (واحد أكثر من البيانات الموجودة لدينا)
يحتاج الجدول الأول إلى استخدام نوع البيانات "نص طويل"
ويستخدم باقي مجموعة البيانات "نص متوسط"
تأكد من تسميتها. (يجب تسمية مجموعة البيانات الأولى "الوقت"
الخطوة 4: قاعدة البيانات
يجب أن تبدو مجموعة بيانات Wampserver مثل هذا.
(لكن بدون البيانات الفعلية ، لأننا لم نصل إلى ذلك بعد)
الخطوة 5: العقدة الحمراء إلى Wampserver
الآن نريد أن تذهب البيانات التي نخرجها من اردوينو إلى خادم Wampserver الخاص بنا.
ابدأ بإنشاء كتلة دالة Javascript أخرى وقم بتوصيلها بعقدة إدخال اردوينو الخاصة بنا.
في كتلة البرنامج النصي هذا ، قمنا مرة أخرى بتقسيم بياناتنا ، لكننا نقوم بإدراجها في قاعدة البيانات الخاصة بنا أيضًا.
var data = msg.payload.split ("،")؛ var Green1 = data [0] ؛ var Green2 = بيانات [1] ، var التنبيه = البيانات [2] ؛ var Millis = بيانات [3] ، var IsActive = البيانات [4] ، var out = "INSERT INTO alarmsystem.alarmdata (Time، Green1، Green2، Alarm، Millis، IsActive) VALUES ('" + new Date (). toISOString (). slice (0، 19).replace (' T '،' ') + "'، '" + Green1 + "'، '" + Green2 + "'، '" + Alarm + "'، '" + Millis + "'، '" + IsActive + "')"؛ msg.topic = خارج ؛ عودة الرسالة ؛
لاحظ أنني أدخلت "INSERT INTO alarmsystem.alarmdata" ، هذا هو الاسم الذي قدمناه لقاعدة البيانات والجدول لدينا ، تأكد من كتابة الاسم الدقيق الذي أعطيته لقاعدة البيانات الخاصة بك في ذلك.
الآن قم بتوصيل كتلة Javascript بعقدة تصحيح الأخطاء وأيضًا عقدة "mysql" الموجودة أسفل لوحة التخزين على الجانب الأيسر.
تحت كتلة mysql ، قم بتسميتها بنفس اسم "نظام التنبيه" في قاعدة البيانات.
غير المستخدم إلى "root" (الاسم الذي استخدمناه لتسجيل الدخول إلى خادمنا)
يجب ملء المضيف والمنفذ وقاعدة البيانات بالفعل بـ:
المضيف: 127.0.0.1
المنفذ: 3306
قاعدة البيانات: نظام إنذار
إذا تم إجراء كل شيء بشكل صحيح ، فيجب توصيله بعد نشر تغييراتك.
يجب أن تكون أيضًا قادرًا على رؤية أن قاعدة البيانات تسجل الآن بياناتك من Arduino مباشرة.
الخطوة 6: استخدام البيانات من Wampserver إلى Node-red
بالنسبة إلى الامتداد النهائي ، نريد معرفة ما إذا كان بإمكاننا أخذ البيانات التي حفظناها وإعادتها إلى Node-red ونأمل أن نعرضها.
ابدأ بوضع عقدة "حقن"
تحت الموضوع في هذه العقدة نضع الكود: SELECT * FROM alarmsystem.alarmdata
سيتمكن هذا من العثور على قاعدة البيانات الخاصة بنا عند الضغط عليها.
قم بتوصيل عقدة الحقن بعقدة "mysql" جديدة تم إعدادها تمامًا مثل العقدة التي فعلناها في الخطوة السابقة.
قم بتوصيل عقدة mysql إلى عقدة تصحيح الأخطاء وعقدة نموذج موجودة أسفل لوحة القيادة.
ستكون عقدة القالب هي جدولنا الذي يمكننا تحديثه لإظهار البيانات من قاعدة البيانات أثناء إنتاجها.
أدخل الكود الموضح في لقطة الشاشة أعلاه (قم بالتغيير حسب الحاجة) ويجب أن يُظهر الآن جدول بيانات في واجهة المستخدم Node-red.
يمكننا أيضًا إضافة زر لوحة القيادة لتحديث الجدول من واجهة المستخدم نفسها.
ابدأ بإنشاء عقدة زر.
قم بتوصيل عقدة الزر بكتلة وظيفة جافا سكريبت.
في كتلة الوظيفة ، نقوم بإدخال الكود التالي.
msg.topic = "SELECT * FROM alarmdata ORDER BY Green1 DESC LIMIT 20" ؛ إرجاع msg ؛
(الأخضر 1 هو أول متغير بيانات في الجدول)
بعد ذلك ، يجب توصيل كتلة الوظيفة هذه بإدخال عقدة mysql التي قمنا بإنشائها مسبقًا في هذه الخطوة.
الخطوة 7: وضع اللمسات الأخيرة
الآن يجب أن تتضمن واجهة المستخدم الخاصة بنا تحديثًا مباشرًا لبياناتنا وجدولًا ببيانات من خادمنا نفسه.
هذا يعني أننا قمنا بإنشاء اتصال بين Arduino ، وهو برنامج قائم على واجهة المستخدم وقاعدة بيانات.
إذا كنت مهتمًا بكيفية عمل نظام إنذار Arduino ، فقد أضفت مستندًا يشرح كيفية برمجة ذلك وإعداده.
بالإضافة إلى تصدير كامل لبرمجة العقدة الحمراء.
موصى به:
كيفية توصيل NodeMCU ESP8266 بقاعدة بيانات MySQL: 7 خطوات
كيفية توصيل NodeMCU ESP8266 بقاعدة بيانات MySQL: يعد MySQL نظامًا لإدارة قواعد البيانات العلائقية (RDBMS) يستخدم على نطاق واسع ويستخدم لغة الاستعلام المهيكلة (SQL). في مرحلة ما ، قد ترغب في تحميل بيانات مستشعر Arduino / NodeMCU إلى قاعدة بيانات MySQL. في Instructable ، سنرى كيفية الاتصال
بيانات الطقس باستخدام جداول بيانات Google و Google Script: 7 خطوات
بيانات الطقس باستخدام جداول بيانات Google و Google Script: في مدونة Blogtut هذه ، سنرسل قراءات مستشعر SHT25 إلى أوراق Google باستخدام Adafruit huzzah ESP8266 مما يساعد على إرسال البيانات إلى الإنترنت. والطريقة الأساسية التي تحفظ البيانات في
إرسال بيانات الاهتزاز اللاسلكي ودرجة الحرارة إلى جداول بيانات Google باستخدام Node-RED: 37 خطوة
إرسال بيانات الاهتزاز اللاسلكي ودرجة الحرارة إلى جداول بيانات Google باستخدام Node-RED: تقديم مستشعر الاهتزاز ودرجة الحرارة اللاسلكي طويل المدى لإنترنت الأشياء من NCD ، والذي يضم نطاقًا يصل إلى ميلين باستخدام بنية شبكة لاسلكية. يشتمل هذا الجهاز على مستشعر دقيق للاهتزاز ودرجة الحرارة 16 بت ، وهو
NODEMCU LUA ESP8266 الاتصال بقاعدة بيانات MySQL: 6 خطوات
NODEMCU LUA ESP8266 الاتصال بقاعدة بيانات MySQL: هذا التوجيه ليس لأصحاب القلوب الضعيفة لأنه يستخدم XAMPP (Apache و MySQL & amp؛ PHP) و HTML وبالطبع LUA. إذا كنت واثقًا من معالجة هذه المشكلات ، فاستمر في القراءة! أنا أستخدم XAMPP حيث يمكن إعداده على محرك أقراص محمول أو محرك أقراص ثابتة لديك ويتم تكوينه
البرنامج التعليمي: كيفية عمل إنذار للباب باستخدام إنذار مستشعر التبديل المغناطيسي MC-18: 3 خطوات
البرنامج التعليمي: كيفية عمل إنذار للباب باستخدام إنذار مستشعر التبديل المغناطيسي MC-18: مرحبًا يا رفاق ، سأقدم برنامجًا تعليميًا حول إنذار مستشعر التبديل المغناطيسي MC-18 الذي يعمل في وضع الإغلاق المعتاد ، ولكن أولاً ، دعني أشرح لك باختصار ، ما يعنيه عادة الإغلاق. هناك نوعان من الأوضاع ، عادةً ما تكون مفتوحة وغلقًا عادةً