آموزش اینترنت اشیاآموزش رزبری پایپروژه رزبری پایپروژه های اینترنت اشیا

آموزش نصب و کار با Node-RED در رزبری پای و کنترل LED

تا به حال شده است بخواهید پروژه ساده ای از اینترنت اشیا را به صورت ساده و بدون نیاز به صرف وقت و کدنویسی راه اندازی کنید ؟ این کار با بستر Node Red به سادگی انجام میشود. Node-RED توسط IBM ابداع شده است و ابزاری متن باز برای برنامه نویسی به روش جدید و جالب است. Node Red ویرایشگری مبتنی بر مرورگر را فراهم می کند که میتوانید با آن پروژه های جذابی را بسازید.

Node-RED ابزاری قدرتمند برای ساختن پروژه های IoT با هدف ساده کردن برنامه نویسی است. زیرا از برنامه نویسی بصری استفاده می کند که به شما امکان می دهد بلوک های کد را برای انجام یک کار متصل کنید. در این آموزش، ما بررسی خواهیم کرد که چگونه می توانید پروژه های ساده را روی رزبری پای با استفاده از Node-RED طراحی کنید.

فیلم زیر نحوه کار پروژه را نشان میدهد.

در این آموزش بررسی میکنیم :

  1. نصب Node-RED در رزبری پای
  2. آشنایی با رابط کاربری Node-RED
  3. نحوه تنظیم جریانهای Node-RED
  4. نحوه کنترل پین های GPIO با Node-RED
  5. نحوه استفاده از ورودی های Node-RED ، خروجی ها و موارد دیگر مانند سوئیچ ها

من به شما توصیه می کنم از مانیتور متصل به Raspberry pi استفاده کنید یا از نرم افزار VNC Viewer استفاده کنید. Node-Red با یک مرورگر وب کار می کند و می توان از طریق رایانه شخصی که رزبری پای به آن وصل شده است از طریق آدرس IP به آن دسترسی پیدا کرد. لازم است بدانید که Node به معنای گره است و در ادامه از این کلمه بسیار استفاده میشود.

ما ابتدا Node Red را در رزبری پای نصب میکنیم و سپس یک لامپ ال ای دی متصل به GPIO رزبری چای را از طریق آن کنترل میکنیم. سپس یک دکمه را به رزبری پای اضافه میکنیم و با فشردن آن، مسیر های جداگانه ای در Node Red طی میکنیم تا دوباره ال ای دی متصل به Raspberry pi را کنترل کنیم. فیلم عملکرد پروژه در انتهای صفحه قرار داده شده است.

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

آموزش نصب Node RED در Raspberry Pi

مراحل زیر را برای نصب یا ارتقا Node-RED در Raspberry Pi خود دنبال کنید.

نصب را با بروز کردن رزبری پای شروع میکنیم. با دستورات زیر ما مطمئن میشویم که همه چیز بروز باشد تا از مشکلات عدم سازگاری نسخه ها جلوگیری کنیم.

Sudo apt-get update

سپس

sudo apt-get upgrade

سپس اسکریپت bash را در ترمینال اجرا کنید.

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-NodeRed)

اسکریپت bash دستورات زیادی را به عنوان sudo اجرا می کند و Node.js موجود و هسته اصلی Node-RED را حذف می کند.

با نصب کامل ، اکنون باید نماد Node-Red را در زیر لیست برنامه های programming مشاهده کنید.

راه اندازی Node-RED در رزبری پای

Node-Red را می توان از طریق منو دسکتاپ رزبری پای، از طریق ترمینال یا از ssh راه اندازی کرد.

برای راه اندازی روی دسک تاپ raspberry pi ، بر روی نماد رزبری کلیک کنید، ماوس خود را روی Programming ببرید و سپس بر روی (Node-RED Menu>Programming>NodeRed) کلیک کنید.

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

راه اندازی Node-RED در رزبری پای

همچنین می توانید از طریق ssh یا terminal آن را راه اندازی کنید.

node-red-start

شما باید یک پنجره مانند پنجره زیر که نشان دهنده راه اندازی Node Red در دسک تاپ است را ببینید.

آموزش نصب Node RED در Raspberry Pi

پس از این ، به menu->internet بروید و مرورگر وب Chromium را راه اندازی کنید. رزبری پای شما برای اجرای Node-Red به اینترنت احتیاج ندارد و فقط  از مرورگر به عنوان رابط کاربری خود استفاده می کند.

پس از راه اندازی کروم ، localhost:1880 را در نوار آدرس وارد کنید و سپس کلید Enter را بزنید. 1880 درگاهی است در رزبری پای برای Node-Red برای برقراری ارتباط تعیین شده است. سپس باید رابط کاربری Node Red را مشاهده کنید.

درک رابط کاربری Node RED

رابط Node-Red شامل flow panel, nodes palette, debug console, info console  است که در تصویر زیر مشخص شده است.

درک رابط کاربری Node RED

پنل flow جایی است که گره ها به یکدیگر وصل می شوند تا برنامه ای را ایجاد کنند که در Node-Red به آن جریان یا همان flow گفته می شود. Node palette از اشیاء تشکیل شده است که نماینده سخت افزار ، پروتکل ها و ویژگی های نرم افزاری مرتبط با دستگاه ها هستند. پالت Node شامل پروتکل هایی مانند MQTT برای اینترنت اشیا و حالت های خروجی و ورودی GPIO برای برد های مانند Raspberry pi است. debug console اطلاعاتی را در مورد کارکرد همه دستگاه ها ارائه میدهد و چیزی شبیه به سریال مانیتور در نرم افزار Arduino IDE است. از دکمه deploy برای بارگذاری جریان در سخت افزار هدف استفاده می شود. دکمه Menu شامل انواع مختلف بارگذاری است تا به شما کمک کند بهترین نتیجه را از پروژه خود کسب کنید.

اجرای پروژه با Node Red و رزبری پای

همانطور که در مقدمه ذکر شد ، پروژه آزمایشی ما کنترل پین GPIO رزبری پای  با استفاده از یک جریان Node-RED خواهد بود. برای نشان دادن تغییر در حالت GPIO ، ما یک LED را به GPIO وصل می کنیم به گونه ای که وقتی آن پین مخصوص GPIO فعال شود ، LED روشن می شود و برعکس.

همانطور که در شکل زیر نشان داده شده است ، LED را به Raspberry PI وصل کنید.

اجرای پروژه با Node Red و رزبری پای

ما پروژه را روی یک برد بورد اجرا کردیم. تصویر نهایی پس از برقرای اتصالات مانند زیر خواهد بود.

برقراری اتصالات برد رزبری پای برای Node Red

این پروژه می تواند به راحتی به یک پروژه خانه هوشمند تبدیل شود ، فقط با تعویض LED با رله و متصل کردن هر وسیله ی AC میتوانید به راحتی پروژه خانه هوشمند را اجرا کنید.

ایجاد یک جریان در Node-RED

با وصل شدن LED می توانیم جریان (flow) را توسعه دهیم. برنامه هایی که در Node Red وجود دارد Flow نامیده میشوند همانطور که در Arduino IDE به آنها sketche گفته می شود. جریان ها با استفاده از ترکیبی از گره ها (Node) ایجاد می شوند. شما می توانید چندین جریان ایجاد کنید که همگی می توانند همزمان اجرا شوند ، اما برای این آموزش ما یک جریان واحد ایجاد می کنیم تا LED را روشن یا خاموش کنیم.

ایجاد یک جریان در Node-RED

برای شروع ، به پایین Nodes palette بروید ، بخش گره های رزبری پای را با دو برچسب rpigpio مشاهده خواهید کرد. این گره ها برای برقراری ارتباط با پین های GPIO رزبری پای استفاده می شوند. یکی از گره ها برای ورودی است و دیگری مربوط به خروجی است که با موقعیت لوگوی Raspberry pi تمایز می یابند. برای گره ورودی، نماد رزبری پای سمت چپ است و برای گره خروجی نماد در سمت راست متن است.

برای این آموزش ما از گره خروجی استفاده خواهیم کرد پس آن را به بخش Flow بکشید. این مرحله مانند اعلام یک پین خاص از Arduino به عنوان خروجی با استفاده از دستور pinMode () است. بر روی گره خروجی دوبار کلیک کنید و پنجره پاپ آپ مانند شکل زیر باز خواهد شد تا ویژگی های گره را ویرایش کنید.

تعریف پین خروجی GPIO در Node Red

در قسمت pin property ، GPIO17 (پین 11) را انتخاب کنید. سپس ویژگی آن را روی “digital Output” تنظیم کرده و “Initialize pin state?”” را تیک بزنید و سپس initial level of pin را با حالت Low یا همان 0 قرار دهید. سپس نام دلخواه خود را به گره بدهید و روی دکمه Done بزنید.

نام دهی به گره ها در Node Red

برای روشن یا خاموش کردن چراغ ، باید از یک ورودی استفاده کنیم ، چیزی که عملکرد آن را هدایت کند. در حالی که می توانیم از دکمه فشاری استفاده کنیم ، من می خواهم از این ویژگی برای معرفی ویژگی در Node-RED استفاده کنیم که امکان تزریق پیام به جریان را فراهم می کند. این ویژگی Node inject نام دارد. ما از دو گره استفاده خواهیم کرد. یکی روشن کردن LED است و دیگری خاموش کردن آن خواهد بود.

به node palette بروید و Node inject را به سمت جریان بکشید. این اولین گره در پالت با علامت فلش است.

گره تزریقی در Node-Red

روی آن دوبار کلیک کنید تا خصوصیات آن را ویرایش کنید. با کلیک کردن بر روی فلش در مقابل payload ، نوع داده را به String تغییر دهید و در کادر 1 را وارد کنید. مقدار payload همان چیزی است که هنگام فشار دادن گره به جریان تزریق می شود. نام گره را “On” بگذارید و دکمه “Done” را بزنید.

تغییر مشخصات دکمه در جریان گره قرمز

موارد بالا را برای گره دوم تکرار کنید ، مقدار payload را بر روی “0” و نام آن را مطابق شکل زیر “Off” تنظیم کنید.

ایجاد دکمه خاموش کردن پین در Node Red

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

ایجاد جریان برای کنترل LED در Node Red

با انجام این کار ، ما اکنون اولین جریانNode Red خود را به اتمام رسانده ایم.

مرحله بعدی برای ما این است که جریان را روی رزبری پای راه اندازی کنیم. روی دکمه Deploy قرمز کلیک کنید. مطابق شکل زیر باید در بالای صفحه “successfully deployed” را مشاهده کنید.

راه اندازی پروژه خانه هوشمند با Node Red

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

فعال سازی گره ها در Node Red

با کلیک بر روی گره “on” ، باید “on” با موفقیت تزریق شده و LED روشن شود. هنگام کلیک روی گره “Off”، باید LED باید خاموش شود.

افزودن سوئیچ در Node-RED با رزبری پای

دکمه خود را به رزبری پای متصل کنید به گونه ای که یک پین دکمه به GND و دکمه دیگر به پین ​​GPIO 4 (پین 11) Raspberry pi وصل شود ، همانطور که در شماتیک زیر نشان داده شده است.

افزودن سوئیچ در Node-RED با رزبری پای

با این کار ، دوباره به Node-Red برگردید و دو گره تزریقی را که قبلاً از آنها استفاده کرده بودیم حذف کنید. با انجام این کار ، به به قسمت رزبری پای در node palette بروید و گره ورودی را انتخاب کنید. بریا گره های ورودی، نماد رزبری پای در سمت چپ ، قبل از نام گره است.

قرار دادن یک گره ورودی در Node Red

گره را به جریان بکشید و بر روی آن دوبار کلیک کنید تا خصوصیات را ویرایش کنید. پین را روی GPIO 4 (پین 11) تنظیم کنید و Resistor را به عنوان pull-up تنظیم کنید.

تنظیم ویژگی های دکمه ورودی در Node Red

در قسمت node palette گزینه switch را انتخاب کنید.

استفاده از سوئیچ ها در Node Red

گره سوئیچ به شما امکان می دهد تصمیم گیری را به روشی مشابه جمله های “if” انجام دهید. بسته به مقدار ورودی می توان خروجی های مختلفی تنظیم کرد. برای این آموزش ، آن را با دو مسیر خروجی پیکربندی می کنیم ، به گونه ای که ، هنگامی که خاصیت msg.payload برابر شود با 1 (یعنی سوئیچ فشرده نشده است) باید از مسیر اول اجرا شود و در صورت ورود ورودی دیگر ، مسیر دوم دنبال شود. مسیرها با استفاده از دکمه “+ add” اضافه می شوند. بر روی گره دوبار کلیک کنید و مطابق شکل زیر آن را پیکربندی کنید. بعد از اتمام روی Done کلیک کنید.

تغییر ویژگی های دکمه در پلتفرم Node-Red

در مرحله بعد ، باید گره “Change” را وارد کنیم. گره Change برای تنظیم وضعیت LED بر اساس نتیجه گره سوئیچ استفاده خواهد شد.

استفاده از Change node در رزبری پای

ما از دو گره Change استفاده خواهیم کرد. payload اول همانطور که در تصویر زیر نشان داده شده است 0 است و مقدار payload دوم روی 1 تنظیم می شود. بعد از ویرایش خصوصیات برای هر دو ، روی دکمه Done کلیک کنید.

تغییر ویژگی های گره Change در Node Red

توجه داشته باشید که از مقاومت استفاده کرده ایم؟ بنابراین ، هنگامی که دکمه فشرده نشده است ، خروجی در آن پین HIGH (1) خواهد بود ، به این معنی که اگر ما آن را از طریق گره سوئیچ عبور دهیم، LED “روشن” خواهد بود. با استفاده از گره “change” آن را در حالت Low (0) تنظیم میکنیم. گره “تغییر” دوم برای تنظیم مقدار به 1 استفاده می شود که وقتی هر چیزی غیر از حالت HIGH در پین 4 GPIO تشخیص داده شود ، باید LED را “روشن” کند زیرا این بدان معنی است که دکمه فشار داده شده است. همانطور که در تصویر زیر نشان داده شده ، گره های تغییر و بقیه گره ها را به هم وصل کنید.

پروژه های پیشرفته با Node Red

با انجام این کار ، اکنون ما آماده Deploy کردن این پروژه هستیم. اکنون میتوانید با فشردن دکمه ال ای دی را کنترل کنید. Node Red یک ابزار عالی است که به شما امکان می دهد نمونه های اولیه را در عرض چند دقیقه بسازید.

5 (6 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید قرار بدهم. سوالات مربوط به این مطلب را در قسمت نظرات همین مطلب اعلام کنید. سعی میکنم در اسرع وقت به نظرات شما پاسخ بدهم.

7 نظر

  1. سلام وقت بخیر
    ایا این نرم افزار سیستم خودمونو تبدیل به سرور میکنه و از شهر دیگه هم میشه کنترل کرد؟

    1. سلام عزیز
      خیر این پروژه محلی هست. برای کنترل از شهر دیگر میتوانید دوره اینترنت اشیا را مشاهده کنید

  2. سلام نود رد را روی رزبری پای نصب کردم اما وقتی آدرس IP میگیرم و در مرورگر وارد میکنم صفحه نود رد ناقص باز می‌شود چکار کنم؟

  3. سلام وقت شما بخیر. فرصت اموزش و برنامه نویسی ندارم .پول یک دوره رو بهتون بدم یه برنامه کنترل لوازم منزل بوسیله سیم کارت و برد رزبری پای یا میکرو ارم رو ارسال میکنین.و حدود یکی دو ساعت پشتیبانی تلفنی

    1. سلام عزیز، فعالیت ما در زمینه دوره های آموزشی هست پروژه سفارشی انجام نمیدیم.

  4. سلام من نود رد رو نصب کردم ولی گره های رزبری پای رو نداره

    1. سلام عزیز، نود رد رو در رزبری پای با روشی که ما گفتیم نصب کردید؟

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *