آموزش رزبری پای اینترنت اشیا IOT اینترنت اشیاء تئوریک نرم افزار Node Red

کنترل نور LED با نرم افزار Node-RED و آردوینو Arduino بخش هشتم

Node-red-part8-arduino-mega2560-rpi-digispark
نوشته شده توسط پریسا پوربلورچیان

و دوباره نود رد Node-RED! نرم افزار نودرد Node Red یک پلتفرم اپن سورس برای راه اندازی پروژه‌های اینترنت اشیاء است. این نرم افزار توسط IBM طرح ریزی و تولید شده است. در این آموزش با ترکیب نرم افزار نود رد Node-RED و  آردونیو Arduino یک پروژه در محیط UI طراحی می‌کنیم. وب سایت دیجی اسپارک به عنوان مرجع تخصصی اینترنت اشیاء IOT به زبان فارسی اولین مرجع نرم افزار اینترنت اشیاء Node Red به زبان فارسی است. در مجموعه آموزش‌های نود رد Node Red به صورت بخش بندی شده کار با این نرم افزار را به صورت پروژه محور آموزش می‌دهیم. در ادامه بخش اول آموزش کار با نرم افزار اینترنت اشیاء Node Red با مرجع تخصصی اینترنت اشیاء دیجی اسپارک همراه باشید.

 

هدف از پروژه

در این آموزش توسط نرم افزار نود رد Node-RED و آردوینو Arduino Mega2560، میزان نور سه ال ای دی LED را کنترل خواهیم کرد. در ادامه آموزش به بررسی کد آردوینو و نودهای لازم جهت اجرای پروژه به صورت عملی میپردازیم.

 


بخش اول – نود رد Node-RED


راه اندازی نرم افزار اینترنت اشیا Node-RED

برای شروع، برد رزبری پای Raspberry Pi را روشن کنید. حال از منو رزبری پای، گزینه اول یعنی Programming را انتخاب نمایید. سپس در منو باز شده پنجمین گزینه یعنی Node-REDرا انتخاب نمایید. همانطور که در تصویر زیر مشاهده می‌کنید پنجره Node-RED برای شما باز می‌شود. در خط اول IP برای ورود به نرم افزار نمایش داده می‎شود. حال وارد محیط نرم افزار Node-RED شوید.

 

پیش نیاز Node Red

در این آموزش توسط محیط UI در نود رد Node-RED خروجی را کنترل میکنیم. در آموزش بخش دوم کار با نرم افزار اینترنت اشیا نود رد Node-RED به معرفی محیط UI و معرفی نودهای زیر شاخه آن پرداختیم. در صورت نداشتن اطلاعات کافی و آشنایی با محیط گرافیکی UI به آموزش زیر مراجعه کنید. آموزش کار با نرم افزار اینترنت اشیاء Node-RED – بخش دوم

 

ارتباط رزبری پای Raspberrypi و آردوینو Arduino

برای ارتباط بین رزبری پای Raspberry Pi و آردوینو Arduino باید دستور نصب آردوینو Arduino را وارد کنید. برای اینکار از منو رزبین Rasbpian ترمینال Terminal را انتخاب کنید.

sudo apt-get install arduino

 

فراخوانی نودها Node

نود Serial

برای ارتباط بین رزبری پای Raspberry Pi و آردوینو Arduino نیاز به نود سریال Serial داریم. نود سریال Serial از شاخه output قابل دسترسی است. نود سریال پورت میکروکنترل لوکال Local را خوانده و شناسایی می‌کند. پورت های شناسایی شده در تنظمیات نود Node نمایش داده می‌شود.

آموزش-ترکیب-رزبری-پای-و-آردوینو.-تنظیمات-نود-Serial1

نود gauge

نود gauge برای نمایش دیتا (Result) پروژه در یک رابط با گرافیکی خاص استفاده میشود. این نود را از شاخه UI انتخاب کرده و سپس همانند زیر تنظیمات نود را انجام دهید.

آموزش-ترکیب-رزبری-پای-و-آردوینو.-تنظیمات-نود-gauge دیجی اسپارک

نود inject

نود inject، نود ورودی می‌باشد. این نود از شاخه input در دسترس می‌باشد. آن را انتخاب کنید و وارد نود رد Node-RED کنید. از این نود برای مقدار دهی اولیه به خروجی استفاده میکنیم. تنظیمات نود را همانند زیر انجام دهید.

آموزش-ترکیب-رزبری-پای-و-آردوینو.-تنظیمات-نود-inject دیجی اسپارک

نود Slider

نود اسلایدر Slider یکی از زیر شاخه های UI میباشد. با انتخاب این نود میتوان در محیط UI یک رابط کاربری با حالت نمایش اسلایدر ساخت. توسط اسلایدر خروجی تغییر خواهد کرد. در این پروژه نیاز به تعریف سه اسلایدر Slider داریم. همانند زیر تنظیمات نود Node  را انجام دهید.

آموزش-ترکیب-رزبری-پای-و-آردوینو.-تنظیمات-نود-اسلایدر-slider دیجی اسپارک

نود Function

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

اتصالات Node Red

حال همانند تصویر زیر اتصالات را انجام دهید. تنها کافیست با Drag & Drop نودها را به یکدیگر اتصال دهید.

آموزش-ترکیب-رزبری-پای-و-آردوینو.-اتصالات node red دیجی اسپارک

 


بخش دوم – کدهای آردوینو Arduino


حال پس از فراخوانی نودهای مورد نیاز نوبت به اجرای کد آردوینو رسیده است. نرم افزار آردوینو Arduino را از منو رزبین انتخاب کنید. کد زیر را انتقال دهید.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

سریال مانیتور Serial Monitor

سریال مانیتور را روی بادریت ۱۱۵۲۰۰ تنظیم کنید.

  Serial.begin(115200);

تابع readStringUntil

تابع readStringUntil کاراکترها را از بافر سریال در یک رشته میخواند. از این دستور برای ارتباط سریال با دیگر میکروکنترل ها استفاده میشود.

تابع String to Int Function

تابع  toInt به شما این امکان را میدهد که رشته را به یک عدد صحیح تبدیل کنید.

 


بخش آخر – محیط UI


حال برنامه آردوینو arduino را بر روی برد کامپایل کنید. سپس کابل آردوینو را از سیستم جدا کرده و به برد رزبری پای اتصال دهید. وارد نرم افزاز نود رد شوید. سپس برنامه را Deploy کنید. آدرس زیر را وارد کرده تا وارد محیط گرافیکی UI شوید.

ip address:1880/ui

با وارد شدن به محیط UI، رابط کاربری ساخته شده را مشاهده خواهید کرد. با کشیدن هر یک از سه اسلایدر Slider، خروجی تغییر خواهد کرد. ویدیو را مشاهده کنید.

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک و دانشجوکیت  و digispark  و  daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۰۳۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۶ دیدگاه

  • سلام و تشکر از شما
    آموزش بسیار کاربردی ولی من اطلاعات زیادی از محیط نود رد ندارم و فقط میتونم از آموزش شما کپی کنم.
    آیا کلاس هایی در این زمینه برگزار می‌کنید؟
    از کجا باید شروع کرد؟

  • با سلام و عرض ادب عذرخواهی میکنم اگر جای نا مناست این کامنت رو مینویسم، چون واقعا هیچ راه ارتباطی وجود نداره حتی به اکانت اینیستاگرامتون پیام دادم ولی متاسفانه،خوانده نشد. من شهرستان هستم و نمیتونم برای دوره رزبرپای ثبت نام کنم و بیام ، من نمیدونم چه شرایطی نیازه برای تهیه آنلاین این پروژه ولی اگر ممکنه شما راهنمایی کنید ، چند ماه قبل برد آردنیو گرفتم و متاسفانه بخاطر فیلترینگ نتونستم استفاده کنم،با شما (پشتیبانی)گفتین ممکنه با نود رد حلش کرد و..‌. از اون موقع من با پشتیبانی تماس میگیرم میگن شما نیستین، اینیستا هم پیام دادم نتیجه ای حاصل نشد. ممنون میشم راهنمایی کنید. باتشکر

    • سلام
      کاربر گرامی ضمن تشکر از توجه شما، سرویس رفع عیب آنلاین مخاطبین زیادی دارد. همچنین دقت داشته باشید که با توجه به فیلتر بودن تلگرام، در حال حاضر امکان پیاده سازی توسط آردوینو وجود ندارد. در این خصوص پیشتر راهنمایی‌های لازم به شما ارایه شده است. اینکه اصرار دارید در شرایط فیلترینگ همچنان از همان برد استفاده کنید، دور از منطق می‌باشد. لازم به ذکر است اینچنین موارد راهنمایی و پشتیبانی در هیچ کجایی بجز سایت امکان پذیر نمی‌باشد.
      شاد و پیروز باشید.

      • ممنون از پاسخگویی شما، اصرار به استفاده برد خاصی ندارم ، فقط میخواستم به اون هدف برسم حالا هر بردی نیاز باشه تهیه میکنم، و هزینه آموزش و راه اندازی هم پرداخت میکنم فقط نتیجه بده و مثل آردنیو محدود نباشه، با تشکر از شما لطفا کمک کنید.

        • برای این منظور به هر حال محدودیت‌ها وجود دارند و برای استفاده همیشگی ممکن است نیاز به تغییراتی وجود داشته باشد. پیشنهاد بنده استفاده از برد رزبری پای و نرم افزار Node Red می‌باشد. با راه اندازی vpn روی برد رزبری پای موارد بدون ایراد اجرا می‌شوند. دقت داشته باشید که این موضوع نیاز به تغییرات آی پی خواهد داشت. آموزش مربوطه هم در دیجی اسپارک منتشر شده است. لطفا بررسی بفرمایید.

          • ممنون از شما، برای راهنمایی دقیق تر پشتیبانی آنلاین تهیه کنم؟ بخاطر فرصت کمی که دارم ،زمانی برای مطالعه جزء‌ ب جزء و جلو رفتن با آموزش ندارم، ممنون میشم اگر خودتون راهنمایی کنید، تسلط شما روی رزبرپای خیلی عالیه.
            با تشکر.

    • سلام
      خیر تنها دقت کنید در تنظیمات و کد آردوینو تغییرات را اعمال و سپس کامپایل کنید.

  • سلام وقت بخیر داخل این برنامه نویسی مشکل شده نود سریال داخا نودرد بهش ارور میده باید چیکار کنم ؟
    چجوری اتصال اردوینو رو انجام بدم ؟

    • سلام
      در این خصوص ارور را ارسال کنید یا یک تصویر از نود ضمیمه کنید تا بررسی گردد.

      • سلام وقت بخیر من مشکلی داخل نود رد داشتم
        ۱_ نود پورت سریال عنوان پورت رو چی بنویسم همین که روی عکس که هستش رو تایپ کنیم یا پورتی ورودی Arduino خودش مشخص میکنه رو بنویسیم ؟
        ۲_ اخر پروژه چجوری که همه node red و Arduino اجرا میکنیم کد یا چیزی میخواد که در تنظیمات القا کنیم ؟

        • سلام
          ۱: خیر، پس از انتخاب نود سریال ورودی، برد آردوینو را به رزبری پای وصل کنید، سپس بر روی مداد کلیک کنید تا وارد تنظیمات نود شوید. پس از آن بر روی علامت سرچ کلیک کنید تا پورت های شناسایی شده برای شما نمایش داده شود. پورت نمایش داده شده باید با پورت نرم افزار آردوینو یکسان باشد.
          ۲: از نود inject و function برای ارتباط بین نرم افزار و برد آردوینو استفاده می‌کنیم. مرحله به مرحله با آموزش پیش رفته و سپس تنظیمات نودها را مطابق با تصویرهای ضمیمه شده انجام دهید.
          نتیجه را از همین طریق اعلام کنید.

  • با سلام و خسته نباشید
    من چند تا سنسور رو روی آردوینو نصب کردم و همزمان هم میخوام خروجیشون به رزبری پای هم فرستاده بشه.
    برای همین توی یک فلو هم خروجی های رزبری رو میخونم هم خروجی های آردوینو
    مشکلم اینه که پورت سریال آردوینو رو مشخص میکنم ولی نه با استفاده از نود سریال و نه با استفاده از یک نود آردوینو موجود نمیتونم کانکشن به آردوینو بگیرم.
    و حتی وقتی فلو رو دیپلوی میکنم رزبری پای هنگ میکنه و فریز میشه.
    ممنون میشم بفرمایید مشکل از کجاست احتمالا
    سخت افزارهای مورد استفاده
    Arduino UNO
    R Pi 4 4GB
    DHT11
    LDR
    PIR

    • با سلام
      سوال بسیار کلی است و قبلا این مورد توسط بنده بدون مشکل انجام شده است، نود رد در صورت عدم برقراری ارتباط بایستی پیغامی نمایش دهد، بررسی کنید و ارسال کنید.