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

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

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

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

 

در این بخش از طریق یک وب سرور – Web Server یک گجت الکترونیکی را کنترل خواهیم کرد. به این صورت که از طریق نود HTTP یک وب سرور مجازی برای کنترل LED و روشن و خاموش کردن آن طراحی میکنیم. در ادامه به تحلیل و بررسی نودهای مورد نیاز در نرم افزار Node-RED میپردازیم.

 

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

رزبری پای ۳ Element14 Raspberry Pi

ال ای دی اوال قرمز Oval LED

کابل فلت ۴۰ رشته نری به مادگی

برد برد شیشه ای Bread Board

 

اتصالات:

LED دارای ۲ پایه می‌باشد. پایه کوتاه – پایه منفی و پایه بلندتر پایه مثبت LED است.

  • پایه منفی را به GND رزبری پای اتصال دهید.
  • پایه مثبت را به پین ۱۱ – GPIO17 اتصال دهید.

 

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

وارد محیط رزبین شده سپس از منو Programming ، نودرد Node-RED را انتخاب نمایید. آی پی آدرس IP Address برای اجرای نرم افزار در اختیار شما قرار داده می‌شود. حال در مرورگر IP Addrees:1880 را وارد کرده و سپس وارد محیط نود رد Node Red شوید.

 

 نود Node inject

نود inject نود ورودی می باشد. از طریق این نود مقادیر ۱ و ۰ برای کنترل LED و روشن و خاموش شدن آن را اعمال می‌کنیم. همانند تصویر زیر این نود را از شاخه input انتخاب کرده و وارد محیط نودرد کنید. برای حالت ۱ ( روشن بودن LED ) نیاز به یک نود inject و برای حالت ۰ ( خاموش بودن LED ) به یک نود دیگر inject نیاز داریم.

 

نود Node rpi gpio out

نود rpi out نود خروجی رزبری پای  Raspberry-pi می‌باشد. در این آموزش ال ای دی – led را به پین ۱۱ – GPIO17 وصل می‌کنیم. نود  rpi gpio out را از شاخه Raspberry-pi انتخاب کنید و سپس پین را تعیین کنید.

 

نود Node HTTP

نود HTTP برای ساخت وب سرویس می‌باشد. نود HTTP دارای دو حالت http in و http response می‌باشد. نود http in از شاخه input در دسترس است. نود را انتخاب کرده و سپس روی آن کلیک کنید. نود http دارای Method – متودهای متفاوتی از جمله GET-  POST – PUT – DELETE – PATCH می‌باشد. در این آموزش از متود GET برای ورود به وب سرور با URL انتخابی خودمان استفاده می‌کنیم.

URL یا به عبارتی Universal Resource Locator همان وب آدرس می‌باشد که شما در قسمت URL نود http می‌توانید آدرس دلخواه خود را برای ورود به صفحه وب – web page خود انتخاب کنید. همانند تصویر حالت متود – Method روی GET تنظیم کنید. در قسمت URL ، همان عبارت URL را تایپ کنید. دقت کنید که انتخاب اسم این فیلد دلخواه است.

 

Node http response

نود http response از شاخه output در دسترس است. این نود به عنوان خروجی http عمل می‌کند.

 

نود Node Debug

نود دیباگر برای نمایش Result و خروجی دیتا استفاده می‌شود. در ابتدا همانند توضیحات، تنظیمات نود http in و http response را انجام دهید. سپس همانند تصویر زیر به نود Debug وصل کنید. Deploy کنید. حال در این مرحله IP Address را کپی کرده و همانند زیر در تب جدید وارد کنید.

می‌خواهیم با وارد کردن پارامتری خاص در وب سرویس ایجاد شده ، ال ای دی LED را کنترل کنیم. به این صورت که وارد کردن پارامتر ۱۰ در وب سرور ال ای دی روشن و با وارد کردن پارامتر ۱۱ ال ای دی خاموش گردد. حال باید در مرورگر بعد از URL، پارامتر را وارد کنیم. برای اینکار از پارامتر test استفاده می‌کنیم.

حال به تحلیل دیگر نودها برای کنترل ال ای دی LED میپردازیم:

نود Node Json

نود json برای تبدیل کامند -command به Text می‌باشد. برای ارسال کامند و دریافت آن در وب سرویس از نود Node json برای تبدیل به جاوا اسکریپت – JavaScript استفاده می‌کنیم.

 

نود Node split

نود Node split به عبارتی نود جدا کننده می‌باشد. دقت کنید با وارد کردن IP Address گفته شده عبارت Test=10 در خروجی Debug نمایش داده می‌شود. در بسیاری از پروژه‌ها ما نیاز به دیتای خام داریم و همراه بودن عبارت‌های بدون کاربرد مانند Test در Result پروژه چندان جالب و کاربردی به نظر نمی‌رسد. برای حذف عبارت Test و پارمتر های اضافه مانند { , “ از نود Split استفاده می‌کنیم. همانند تصویر زیر تنظیمات این نود را انجام دهید.

 

نود Node Switch

نود Node Switch از شاخه فانکشن – Function در دسترس می‌باشد. از این نود برای ارزش گذاری و آدرس دهی پارامترها استفاده می‌شود. نود Switch نرم افزار اینترنت اشیاء Node Red را انتخاب کرده و سپس روی آن کلیک کنید. همانطور که گفته شد می‌خواهیم با وارد کردن پارامتر ۱۰ ال ای دی روشن گردد. با کلیک بر روی Add یک تب جدید باز می‌شود. عبارت ۱۰== به این معنی است که با وارد کردن پارامتر ۱۰ ال ای دی تغییر وضعیت داده و روشن می‌شود. به همین صورت برای خاموش شدن ال ای دی پارامتر ۱۱== ارسال می‌شود. همانند تصویر زیر تنظیمات این نود را انجام دهید.

 

نود Node change

از نود Node change برای تنظیم ، جا به جایی ، حذف و انتقال مشخصات دیتا استفاده می‌کنیم. با وارد کردن پارامتر ۱۰ فرمان روشن شدن ال ای دی برای سرور ارسال می‌گردد. از طریق نود Switch  انتقال وضعیت و ارسال فرمان روشن شدن ال ای دی به خروجی GPIO ارسال می‌کنیم. به همین صورت برای حالت دوم نیز عمل می‌کنیم. با وارد کردن پارامتر ۱۱ فرمان خاموش شدن ال ای دی برای سرور ارسال می‌گردد که از طریق نود Node change این‌کار صورت خواهد گرفت. پس از ۲ نود change برای اعمال وضعیت ال ای دی LED استفاده می‌کنیم. همانند تصویر زیر تنظیمات را انجام دهید.

 

 

اتصال نودها Node:

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

 

حال در مرورگر کد زیر را وارد نمایید. با وارد کردن IP و پارامتر test=10  ال ای دی – LED روشن خواهد شد و در Debug پارامتر ۱۰ نمایش داده می‌شود.

با وارد کردن کد زیر در مرورگر ال ای دی – LED خاموش خواهد شد و در Debug پارامتر ۱۱ نمایش داده می‌شود.

ویدیو ساخت وب سرور با نرم افزار اینترنت اشیاء Node RED

 

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

 

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

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

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

۱۳ دیدگاه

    • سلام
      از توجه شما ممنونم.
      نه استفاده از این نود الزامی نیست، تنها برای نمایش اطلاعات خالص و خام دیتا استفاده می‌شود.

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

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

  • سلام خانم پوربلورچیان
    ممنون بابت این آموزش
    چقدر منتظر این آموزش بودم چون تنظیمات ند node http واسم‌ نامفهوم بود. مرسی

  • سلام
    اگر بخواهیم یک رابط کاربری ایجاد کنیم باید چیکار کنیم؟ یعنی یک وب سرور‌‌با رابط کاربری بسازیم؟!!!!!

    • سلام
      برای طراحی رابط کاربری باید از کدهای HTML با استفاده از نود node template ایجاد کنید. در آموزش بعدی کامل به این موضوع خواهیم پرداخت.
      منتظر باشید.

    • سلام
      این ارور زمانی بوجود خواهد آمد که تنظیمات نود ها را به درستی انجام ندادید و سپس Deploy کردید. برای رفع مشکل از منو نود رد گزینه configuration nodes را انتخاب کنید. سپس در قسمت سمت راست نود رد تمامی نود هایی که در فلو های مختلفی ایجاد کرده اید و تنظیم نشده اند، نمایش داده میشود. روی آنها کلیک کنید و سپس Delete کنید. در نهایت پس از حذف نودها Deploy را بزنید مشکل برطرف خواهد شد.