فهرست مطالب:
- مرحله 1: شروع کار با Node-red
- مرحله 2: تقسیم داده ها در Node-red
- مرحله 3: پایگاه داده با Wampserver
- مرحله 4: پایگاه داده
- مرحله 5: گره قرمز به Wampserver
- مرحله 6: استفاده از داده های Wampserver تا Node-red
- مرحله 7: نهایی کردن
تصویری: UCL-IIOT-سیستم هشدار با پایگاه داده و Node-red: 7 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
هدف از این ساخت آموزش آموزش اتصال Arduino با Node-red و پایگاه داده است ، بنابراین می توانید داده ها را ثبت کرده و همچنین برای استفاده های بعدی جمع آوری کنید.
برای این ساخت من از یک سیستم زنگ خطر آردوینو ساده استفاده می کنم که 5 عدد داده را خروجی می دهد ، هر کدام با کاما جدا می شوند.
نیازی به داشتن مقدار دقیق داده نیست و برنامه می تواند هر چیزی باشد.
بخش مهم این است که داده ها با کاما جدا می شوند همانطور که در این تصویر دیده می شود.
برای مثال خروجی می تواند شبیه این باشد: "324 ، 0 ، 0 ، 1 ، 1"
(برنامه نویسی و دستورالعمل های ایجاد آردوینو در انتهای این آموزش پیوند داده شده است)
مرحله 1: شروع کار با Node-red
برای این آموزش ما فرض می کنیم که شما قبلاً Node-red را نصب کرده اید ، اما برخی از پالت های اضافی که برای این پروژه استفاده می شود وجود دارد که ما برای کار به آن نیاز داریم
دکمه "مدیریت پالت" را پیدا کرده و پالت های زیر را نصب کنید.
- node-red-dashboard
- node-red-node-mysql
- node-red-node-arduino
- node-red-node-serialport
باید چند پالت جدید در کنار منوی دکمه Node-red نشان دهد.
مرحله 2: تقسیم داده ها در Node-red
اکنون که Node-red آماده حرکت است ، باید ابتدا داده های خود را به قطعات جداگانه تقسیم کنیم.
به همین دلیل ما مطمئن شدیم که آنها را با کاما در داخل کد آردوینو جدا می کنیم.
ابتدا بیایید با گذاشتن گره ورودی آردوینو که در پنل سمت چپ یافت می شود ، کار را شروع کنیم.
شما باید مطمئن شوید که سریال (Mine uses COM4) و نرخ Baud (در برنامه من از 9600 baud rate استفاده می کنم) صحیح است.
اگر به درستی تنظیم شود ، باید بگوید که متصل است.
در مرحله بعد ما یک بلوک تابع Javascript ایجاد می کنیم و بعد از گره ورودی Arduino آن را متصل می کنیم. این بلوک به ما امکان برنامه نویسی در Javascript را می دهد و در اینجا یک کد می نویسیم که می تواند داده های ما را برای هر کاما تقسیم کند.
در این بلوک تابع ، من 5 داده خود را با استفاده از کد زیر تقسیم می کنم:
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 خروجی داریم که هر کدام را به یک گره اشکال زدایی و یک گره داشبورد متنی پیوند می دهیم. این برای زمانی مفید است که باید آن را در UI ببینیم.
مرحله 3: پایگاه داده با Wampserver
برای اینکه پایگاه داده ما کار کند ، باید Wampserver را نصب کرده باشید. پس از نصب و نمایش به عنوان یک نماد سبز (پس از شروع کلیه خدمات) ، باید "phpMyAdmin" را باز کنید که باید شما را به صفحه ورود به سیستم برساند. مگر اینکه قبلاً آن را تغییر داده ، به سادگی "root" را در نام کاربری و ورود وارد کنید.
دکمه phpmyadmin را در زیر ابزارها در نوار سمت چپ فشار دهید و باید منوی پایگاه داده را باز کند ، که شبیه تصویر بالا است.
یک پایگاه داده جدید ایجاد کنید و نام آن را مربوط به پروژه خود قرار دهید ، نام من "alarmsystem" نامیده می شود (این نامها به حروف کوچک و بزرگ حساس می شوند)
در آن پایگاه داده ، یک جدول جدید ایجاد کنید و نام آن را بگذارید ، نام من "alarmdata" است
این س askال می کند که آیا می خواهید از "latin1_swedish_ci" استفاده کنید و ما آن را همینطور نگه می داریم.
حالا شما 6 جدول ایجاد می کنید (1 عدد بیشتر از داده های ما)
جدول اول باید از نوع داده "longtext" استفاده کند
و بقیه مجموعه داده از "mediumtext" استفاده می کند
حتماً آنها را نام ببرید. (اولین مجموعه داده باید "زمان" نامگذاری شود
مرحله 4: پایگاه داده
مجموعه داده Wampserver باید چیزی شبیه به این باشد.
(اما بدون داده های واقعی ، زیرا هنوز به آن نرسیده ایم)
مرحله 5: گره قرمز به Wampserver
اکنون ما می خواهیم داده هایی که از arduino خود خارج می کنیم به Wampserver ما برود.
با ایجاد یک بلوک تابع Javascript دیگر شروع کنید و آن را به گره ورودی آردوینو متصل کنید.
در این بلوک اسکریپت ، ما یکبار دیگر داده های خود را تقسیم می کنیم ، اما آنها را نیز در پایگاه داده خود وارد می کنیم.
var data = msg.payload.split ("،")؛ var Green1 = data [0]؛ var Green2 = data [1]؛ var Alarm = data [2]؛ var Millis = داده [3]؛ var IsActive = data [4]؛ var out = "INSERT INTO alarmsystem.alarmdata (Time، Green1، Green2، Alarm، Millis، IsActive) VALUES ('"+تاریخ جدید (). toISOString (). قطعه (0، 19). جایگزین (' T '،' ')+"' ،" "+Green1+" '، ""+Green2+"' ،" "+زنگ+" "،" "+Millis+" '، ""+IsActive+"')" ؛ msg.topic = out؛ بازگشت msg؛
توجه کنید که من "INSERT INTO alarmsystem.alarmdata" را وارد می کنم ، این نامی است که ما به پایگاه داده و جدول خود دادیم ، مطمئن شوید که نام دقیقی را که در آن داده اید در آن بنویسید.
اکنون بلوک Javascript را به یک گره اشکال زدایی و همچنین یک گره "mysql" در زیر پالت ذخیره سازی در سمت چپ متصل کنید.
در بلوک mysql شما آن را با پایگاه داده خود "alarmsystem" نامگذاری می کنید
تغییر کاربر به "root" (نامی که برای ورود به سرور استفاده می کردیم)
میزبان ، پورت و پایگاه داده باید قبلاً با موارد زیر پر شود:
میزبان: 127.0.0.1
بندر: 3306
پایگاه داده: سیستم هشدار
اگر همه چیز به درستی انجام شده است ، پس از استقرار تغییرات باید متصل شود.
همچنین باید بتوانید ببینید که پایگاه داده اکنون داده های شما را مستقیماً از Arduino وارد می کند.
مرحله 6: استفاده از داده های Wampserver تا Node-red
برای آخرین مرحله می خواهیم ببینیم آیا می توانیم داده هایی را که ذخیره کرده ایم گرفته و دوباره در Node-red خود قرار دهیم و امیدواریم آنها را نمایش دهیم.
با قرار دادن یک گره "تزریق" شروع کنید
در قسمت موضوع در این گره ما کد را انتخاب می کنیم: SELECT*FROM alarmsystem.alarmdata
هنگامی که پایگاه داده را فشار می دهیم ، می توان آن را پیدا کرد.
گره تزریق را به یک گره جدید "mysql" متصل کنید که دقیقاً مانند مرحله قبل انجام شده است.
گره mysql را به یک گره اشکال زدایی و یک گره قالب در زیر داشبورد وصل کنید.
گره الگو جدول ما خواهد بود که می توانیم آن را به روز کنیم تا داده ها از پایگاه داده همانطور که تولید می شود نشان داده شود.
کد نشان داده شده در تصویر بالا را وارد کنید (در صورت نیاز تغییر دهید) و اکنون باید یک جدول داده در رابط کاربری Node-red ما نشان دهد.
ما همچنین می توانیم یک دکمه داشبورد برای به روز رسانی جدول از طریق رابط کاربری خود اضافه کنیم.
با ایجاد یک گره دکمه شروع کنید.
گره دکمه را به یک بلوک تابع Javascript متصل کنید.
در بلوک تابع کد زیر را وارد می کنیم.
msg.topic = "SELECT * FROM alarmdata ORDER BY Green1 DESC LIMIT 20"؛ msg msg return؛
(Green1 اولین متغیر داده در جدول است)
این بلوک تابع باید به ورودی گره mysql که قبلاً در این مرحله ایجاد کرده ایم متصل شود.
مرحله 7: نهایی کردن
اکنون رابط کاربری ما باید شامل یک به روزرسانی زنده از داده های ما و یک جدول با داده های خود سرور ما باشد.
این بدان معنی است که ما بین Arduino ، یک برنامه مبتنی بر رابط کاربری و یک پایگاه داده ارتباط برقرار کرده ایم.
اگر به نحوه عملکرد سیستم هشداردهی Arduino علاقه دارید ، من سندی را اضافه کرده ام که نحوه برنامه ریزی و تنظیم آن را توضیح می دهد.
و همچنین صادرات کامل برنامه نود قرمز.
توصیه شده:
نحوه اتصال NodeMCU ESP8266 به پایگاه داده MySQL: 7 مرحله
نحوه اتصال NodeMCU ESP8266 به پایگاه داده MySQL: MySQL یک سیستم مدیریت پایگاه داده رابطه ای (RDBMS) است که به طور گسترده استفاده می شود و از زبان پرس و جو ساختار یافته (SQL) استفاده می کند. در برخی موارد ، ممکن است بخواهید داده های حسگر Arduino/NodeMCU را در پایگاه داده MySQL بارگذاری کنید. در این دستورالعمل ، نحوه اتصال
نرم افزار پایگاه داده Ms Access را برای آماده سازی حقوق در شرکت خود ایجاد کنید: 6 مرحله
ایجاد نرم افزار پایگاه داده Ms Access برای آماده سازی حقوق و دستمزد در شرکت شما: من به شما دستورالعمل کوتاهی برای ایجاد یک سیستم حقوق و دستمزد با استفاده از دسترسی MS برای ایجاد حقوق ماهیانه و چاپ برگه های حقوق به راحتی با این کار می دهم. به این ترتیب می توانید پرونده های ماهانه جزئیات حقوق را در پایگاه داده نگه دارید و می توانید دیر ویرایش یا بازبینی کنید
NODEMCU LUA ESP8266 اتصال به پایگاه داده MySQL: 6 مرحله
NODEMCU LUA ESP8266 اتصال به پایگاه داده MySQL: این دستورالعمل برای افراد ضعیف نیست زیرا از XAMPP (Apache ، MySQL و PHP) ، HTML و البته LUA استفاده می کند. اگر در مقابله با این موارد اطمینان دارید ، ادامه مطلب را بخوانید! من از XAMPP استفاده می کنم زیرا می توان آن را روی یک قلم درایو یا هارد دیسک خود تنظیم کرد و پیکربندی شده است
ایجاد پایگاه داده با XAMPP: 4 مرحله
ایجاد پایگاه داده با XAMPP: XAMPP یک توزیع کاملاً رایگان Apache است که شامل MariaDB ، PHP و Perl است. XAMPP یک رابط گرافیکی برای SQL ارائه می دهد و به شما امکان می دهد اطلاعات را در پایگاه داده ای که امروز ایجاد می کنیم ذخیره کنید. زمانی که من برای اولین بار از پایگاه داده برای پروژه ها استفاده کردم
نحوه دریافت داده ها از پایگاه داده Firebase در NodeMCU: 7 مرحله
نحوه واکشی داده ها از پایگاه داده Firebase در NodeMCU: برای این دستورالعمل ، ما داده ها را از پایگاه داده در Google Firebase واکشی کرده و با استفاده از NodeMCU برای تجزیه و تحلیل بیشتر می آوریم. حساب ایجاد پایگاه داده Firebase. 3) بارگیری