آموزش رزبری پای اینترنت اشیا IOT اینترنت اشیاء عملی پروژه رزبری پای

آموزش کار با نرم افزار اینترنت اشیاء Node-RED – بخش دوم

Node-red-IOT-part-2-digispark
نوشته شده توسط پریسا پوربلورچیان

نرم افزار نودرد Node Red یک پلتفرم اپن سورس برای راه اندازی پروژه‌های اینترنت اشیاءاست. این نرم افزار توسط IBM طرح ریزی و تولید شده است. در آموزش کار با نرم افزار Node-RED بخش اول، به بررسی وضعیت یک خروجی LED و نمایش Result آن بر روی دیباگر پرداختیم. همچنین با نود inject، نود دیباگ Debug و نود RPI GPIO آشنا شدید. در ادامه این آموزش کنترل چند خروجی متفاوت همزمان با هم را بررسی خواهیم کرد.  در این پلت فرم همه چیز به صورت پازل به هم مرتبط می‌شوند. وب سایت دیجی اسپارک به عنوان مرجع تخصصی اینترنت اشیاء IOT به زبان فارسی اولین مرجع نرم افزار اینترنت اشیاء Node Red به زبان فارسی است. در مجموعه آموزش‌های نود رد Node Red به صورت بخش بندی شده کار با این نرم افزار را به صورت پروژه محور آموزش می‌دهیم. در ادامه بخش اول آموزش کار با نرم افزار اینترنت اشیاء Node Red با مرجع تخصصی اینترنت اشیاء دیجی اسپارک همراه باشید.

هدف

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

وسایل مورد نیاز

رزبری پای ۳  raspberry pi

ماژول رله ۴ کاناله اپتوکوپلر برد رزبری پای Raspberry pi

کابل فلت مادگی با مادگی 

 

اتصالات

ماژول رله ۴ کاناله دارای ۶ پایه به ترتیب VCC, GND, IN1, IN2, IN3 , IN4  می‌باشد.

پایه VCC را به پایه ۵ ولت رزبری پای وصل می‌کنیم.

پایه GND را به پایه GND رزبری پای وصل می‌کنیم.

پایه IN1 را به GPIO17 – پین ۷ وصل می‌کنیم.

پایه IN2 را به GPIO27 – پین ۱۳ وصل می‌کنیم.

پایه IN3 را به GPIO22 – پین ۱۵ وصل می‌کنیم.

پایه IN4 را به GPIO25 – پین ۲۲ وصل می‌کنیم.

 

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

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

 

محیط گرافیکی UI

محیط ui یک محیط گرافیکی برای کنترل وضعیت هر یک از خروجی‌های تعریف شده می باشد. دسترسی به محیط UI و بررسی نودهای زیر شاخه آن در پست کنترل وسایل الکترونیکی از راه دور- بخش دوم کامل آموزش داده شده است. در صورت نیاز، روی لینک مربوطه کلیک کرده و مطالعه نمایید. در این آموزش من از نود Switch برای تغییر وضعیت از حالت ۱ به حالت ۰ و تحریک رله استفاده می‌کنم.

 

نود inject

همانطور که در بخش اول توضیح داده شد، نود inject نود ورودی می‌باشد. از این نود برای ارزش گذاری و اختصاص ورودی استفاده می‌شود. این نود را از شاخه ورودی output انتخاب کنید. سپس روی آن کلیک کنید. برای تحریک رله نیاز به تعریف دو ارزش ۱ و ۰ برای قطع و وصل داریم. پس از ۲ نود inject یکی حالت ۱ دیگری حالت ۰ استفاده می‌کنیم.

 

نود switch

نود switch از شاخه UI در دسترس می‌باشد. نود switch در واقع یک رابط کاربری سوییچ مانند برای ما در خروجی تولید می‌کند. به این صورت که با ارزش گذاری on/off به صورت عدد یا پارامتر می‌توانید کنترل خروجی را در اختیار داشته باشید. توجه داشته باشید اگر نود UI در لیست نودها نیست ، می‌توانید با توجه به آموزش نصب نودهای جدید در نرم افزار Node-RED آن را نصب نمایید. نود را انتخاب کرده و وارد صفحه کنید. حال روی آن کلیک کنید. در قسمت TAB می‌توانید یک رابط کاربری با نام مشخص در محیط UI برای خود تعریف کنید. در قسمت Name، اسمی دلخواه برای نود در نظر بگیرید. در نهایت در قسمت Value ارزش گذاری کنید. در این آموزش رله با ارزش ۱  و ۰ تحریک شده و قطع و وصل می‌گردد.

 

نود show toast

از این نود برای نمایش دیتای پروژه در محیط گرافیکی UI استفاده می‌شود. با تغییر وضعیت خروجی پیغامی مبنی بر حالت به وجود آمده در محیط ui برای ما نمایش داده می‌شود.

 

نود rpi gpio

نود rpi gpio out از شاخه raspberry pi در دسترس می‌باشد. از این نود برای ارتباط با gpio های برد رزبری پای استفاده می‌شود. در این آموزش هر یک از خروجی‌های رله را به یکی از gpioهای رزبری پای وصل می‌کنیم.

 

اتصال نودها 

برای هر یک از ۳ کانال دیگر همانند قبل تنظیمات را انجام داده و مانند تصویر زیر اتصالات بین نودها را برقرار نمایید.

 

 

سپس وارد محیط UI شوید. با تغییر وضعیت رله تحریک خواهد شد و سپس مقادیر ۱ و ۰ در محیط UI نمایش داده می‌شود.

 

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

 

 

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

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

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

۸ دیدگاه

  • ممنون بخاطر این مطلب خانوم مهندس
    این آموزش واقعا کامل و جامع هستش خیلی کاربردی و مورد استفاده هستش👌👌👌👌

  • سلام من میخوام یه ربات بسازم که از طریق اینترنت اشیا کنترل بشه :
    چیزی که فهمیدم اینه که node-red یه نرم افزار برای همین حوزه هست اما بیشتر آموزش ها با رزپری پای هست
    حالا من یه برد مګا۲۵۶۰ دارم + یه ماژول وای فای ESP12E (که با تحقیقاتی که کردم همون node MCU هست)
    میخوام که از طریق node-red بهش دستور بدم که با موتوراش جلو وعقب بره
    چند تا مشکل دارم :
    ۱ از طریق نرم افزار نود رد چطوری پروتکل mqtt رو نصب کنم ؟
    در واقع این نرم افزار رو روی ویندوزم نصب کردم تا تو مرورګر بازش کنه
    چون نود رد نصب میشه ولی برای mqtt broker خطای Connection failed to broker میزنه
    npm install mqtt –save
    npm install mqtt -g

    دو تا دستورم امتحان کردم فایده ای نداشت چون خطا میده
    ۲ چطور سروری که قراره برای نرم افزار node-red انتخاب میشه رو تنظیم کنم؟
    مثلا یه مدل دیدم از .iot.eclipse.org استفاده می کرد و یکی دیګه از LOCALHOST.1883
    ۳ اتصال ماژول esp8266 به اردویینو mega2560 چه مدلیه ؟
    چون تو همه اموزش ها به ګونه ای که از طریق وای فای به نرم افزار اندرویدی (که معمولا خاص کاری که میخوان انجامش بدن تولید میشه ) متصل میشه
    و با دستورات AT اونو طبق کاری که میخواد تنظیم میکنه
    ولی برای این پروژه و ارتباط با nodered چطوری باید تنظیمش کرد؟

    • سلام
      از توجه شما ممنونم.
      در مورد سوال اول براى نصب MQTT که البته به صورت پیش فرض در لیست نودها قرار دارد. بسته به ورژن نرم افزار نود رد ممکن است نصب نباشد و در صورت نصب نبودن، با کامند npm install node-red-contrib-mqtt از طریق کامند لاین آن را نصب نمایید.

      براى سوال دوم، سرویس هاى اوایه دهنده mqtt زیاد هستن، که eclipse یکى از سرویس هاى رایگان در این مورد است. شما از eclipse میتونین استفاده کنید که درآموزش کنترل وسایل الکترونیکى از راه دور بدون نیاز به برنامه نویسى با پروتکل MQTT کاملا آموزش داده شده است، آن را مطالعه نمایید.

      و سوال سوم هم براى ارتباط با node mcu
      نیازى به برد mega2569 ندارید و بلکه به صورت مجزا از طریق نرم افزار آردوینو قابل دسترسى و برنامه ریزى است. چنانچه نیازمند اطلاعات دقیق تر هستید از آموزش ارتباط node mcu استفاده کنید.

      • ممنون از پاسخ
        چون نیاز به اتصال موتور ها و سنسور فاصله سنج دارم فکر میکنم باید از برد Mega2560 استفاده کنم . در این صورت چه طور باید به برد نود متصل شود ؟

        • براى اتصال آردوینو و نودرد دو روش وجود دارد: یکى نصب نود arduino و انتخاب پورت سریال آن و درنهایت باهم کانفیگ میشوند. روش دوم هم نصب نودرد روى ویندوز است که بعد از نصب از طریق نود serial پورت آردوینو را شناسایی میکند که البته کدهاى آردوینو را باید به صورت مجزا کامپایل و آپلود کرده باشید. سپس میتوانید با نودرد برنامه هاى دیگرى مانند نمایش ui و ارسال فرمان و… استفاده کنید.

  • سلام وقتی نرم افزار نودرد رو اجرا می کنم این خطا رو میده ولی نرم افزار اجرا میشه . چطوری باید مشکلشو حل کنم؟
    کدهای npm install node-red-contrib-mqtt رو هم امتحان کردم ولی نشد.
    Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation. All rights reserved.

    C:\Users\MAZ>node-red
    ۱۵ Aug 16:36:47 – [info]

    Welcome to Node-RED
    ===================

    ۱۵ Aug 16:36:47 – [info] Node-RED version: v0.17.5
    ۱۵ Aug 16:36:47 – [info] Node.js version: v8.3.0
    ۱۵ Aug 16:36:47 – [info] Windows_NT 6.1.7601 x64 LE
    ۱۵ Aug 16:36:56 – [info] Loading palette nodes
    { Error: Cannot find module ‘../build/Release/bson’
    at Function.Module._resolveFilename (module.js:489:15)
    at Function.Module._load (module.js:439:25)
    at Module.require (module.js:517:17)
    at require (internal/module.js:11:18)
    at Object. (C:\Users\MAZ\AppData\Roaming\npm\node_modules\node-re
    d-contrib-mqtt-broker\node_modules\bson\ext\index.js:15:10)
    at Module._compile (module.js:573:30)
    at Object.Module._extensions..js (module.js:584:10)
    at Module.load (module.js:507:32)
    at tryModuleLoad (module.js:470:12)
    at Function.Module._load (module.js:462:3) code: ‘MODULE_NOT_FOUND’ }
    js-bson: Failed to load c++ bson extension, using pure JS version
    ۱۵ Aug 16:37:28 – [warn] [mosca in] Deprecated call to RED.runtime.nodes.registe
    rType – node-set name must be provided as first argument
    ۱۵ Aug 16:37:31 – [info] Dashboard version 2.4.3 started at /ui
    ۱۵ Aug 16:37:31 – [warn] ——————————————————
    ۱۵ Aug 16:37:31 – [warn] [rpi-gpio] Info : Ignoring Raspberry Pi specific node
    ۱۵ Aug 16:37:31 – [warn] [tail] Not currently supported on Windows.
    ۱۵ Aug 16:37:31 – [warn] ——————————————————
    ۱۵ Aug 16:37:31 – [info] Settings file : \Users\MAZ\.node-red\settings.js
    ۱۵ Aug 16:37:31 – [info] User directory : \Users\MAZ\.node-red
    ۱۵ Aug 16:37:31 – [info] Flows file : \Users\MAZ\.node-red\flows_MAZ-PC.json

    ۱۵ Aug 16:37:31 – [info] Server now running at http://127.0.0.1:1880/
    ۱۵ Aug 16:37:31 – [info] Starting flows
    ۱۵ Aug 16:37:31 – [info] Started flows

    • سلام
      شما نرم افزار Node-RED را در ویندوز اجرا کردید و اینکه طبق ارور هایی که داده شده بعضی از نود ها نصب نشده است به عنوان مثال برای نود MQTT باید دستور npm install node-red-contrib-mqtt-broker را در CMD تایپ کنید. در پست آموزش نصب Node-RED در windows برای پروژه IOT ، نحوه نصب و راه اندازی به صورت کامل آموزش داده شده است. ابتدا از اول طبق آموزش مراحل را پیش بروید اگر مشکل برطرف نشد از همین طریق اعلام نمایید تا مشکل را بررسی کنیم.

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