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

کنترل وسایل الکترونیکی از راه دور بدون برنامه نویسی با Node Red – بخش اول

iot-with-Nodered---digispark
نوشته شده توسط پریسا پوربلورچیان

دسترسی به تمام وسایل در منزل، محل کار و یا محیط‌هایی خاص که نیاز به کنترل دائم دارند این روزها از اهمیت و جذابیت خاصی برخوردار است. به عنوان مثال خاموش و روشن کردن چراغ‌ها از راه دور ، فرمان باز و بسته شدت درب‌ها  و بسیاری ایده‌های دیگر که تنها از طریق اینترنت اشیا IOT قابل اجرا خواهد بود. دراجرای تمام پروژه‌های IOT ما نیاز به تعریف خروجی داریم. حال این خروجی‌ها می‌توانند  رله ، ال ای دی ، بیزر و … باشند. به این صورت که با تعریف هر یک از پایه‌های GPIO رزبری پای Raspberry Pi به عنوان خروجی، دیتا و اطلاعات پروژه خود را ارسال و مشاهده می‌کنیم. نمایش دیتای خروجی نیز از طریق Debugger و محیط گرافیکی UI امکان پذیر می‌باشد. در این آموزش و آموزش بعدی به بررسی این دو خواهم پرداخت. در ادامه با مرجع تخصصی اینترنت اشیا دیجی اسپارک همراه باشید.

led node red - rpi -digispark

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

رزبری پای ۳

ال ای دی Oval

بردبورد

چند رشته سیم

 

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

در ابتدا وارد منو رزبری پای، Programming شده و Node Red را فعال می‌کنیم. این پروسه با توجه به سرعت اینترنت شما چند دقیقه طول خواهد کشید. سپس وارد ترمینال رزبری پای Raspberry Pi شده و با دستور ifconfig آی پی رزبری پای را به دست می‌آوریم. حال با توجه به IP Addrress رزبری پای، وارد مرورگر شده و ip رزبری پای را با پورت ۱۸۸۰ وارد می‌کنیم. محیط نرم افزار node red در دسترس شما است. در این پروژه من از ۳ ال ای دی به عنوان خروجی استفاده می‌کنم. برای شروع ما نیاز به Node inject داریم.

 

استفاده از Node inject

نود inject در واقع نود استارت و ورودی اولیه ما می‌باشد، که از شاخه input قابل دسترسی است. مانند تصویر زیر این Node را انتخاب کرده و وارد محیط Node-RED میکنیم.

Node-Red--inject--digispark

همانطور که میبینید این Node به صورت پیشفرض بر روی حالت Timestamp قرار دارد. بر روی Node کلیک میکنیم. حالت اول Payload برای تغییر وضعیت ورودی مانند عدد ، متن ، فلو و ..و می‌باشد. در قسمت Topic میتوانید اسمی دلخواه برای این Node انتخاب نمایید.

node-red---inject-2-digispark

حالت سوم Repeat می‌باشد که برای زمانبندی نمایش دیتا استفاده می‌شود؛ شامل ۳ فسمت است.

۱: interval در این حالت نمایش دیتا با زمانبندی به صورت ثانیه ، دقیقه و ساعت قابل تنظیم خواهد بود، به این صورت که مثلا خروجی عدد یا اسم ما هر ۵ ثانیه یک بار تکرار شود.

۲: interval between times در این حالت نمایش دیتا با فواصل زمانی تعریف شده بین ساعت های مختلف و همچنین تعیین روز های هفته زمانبندی میشود.

۳: at a specific time  در این حالت نمایش دیتا فقط در یک زمان مشخص با قابلیت تعیین روز زمانبندی میشود.

 

تا اینجا با Node inject در نرم افزار نود رد آشنا شدیم. حال از این نود به عنوان ورودی اولیه استفاده می‌کنیم. من در این آموزش میخواهم ال ای دی ها به ترتیب مقادیر ۱ و ۰ را به عنوان دیتا ورودی دریافت کنند. پس مانند تصویر زیر از دو ،  Node inject برای مقدار دهی استفاده میکنیم و برای اتصال به رزبری پای از نود Node RPI out استفاده می‌کنیم.

node-red-rpi-gpio1--digispark

 

اتصال به رزبری پای Raspberry Pi

 

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

 

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

 

 

تنظیمات Node-RED

کلیه مراحل بالا را یکجا مجددا شرح می‌دهم. روی Node inject کلیک می‌کنیم. حالت payload را روی number گذاشته و مقدار ۱ را به معنی روشن شدن ال ای دی به آن می‌دهیم. حال برای حالت دوم دوباره از node inject استفاده کرده و به آن مقدار ۰ به معنی خاموش شدن ال ای دی را می‌دهیم. سپس از طریق Drag & Drop از دو، نود inject به خروجی Node RPI out اتصال می‌دهیم. به همین ترتیب برای ال ای دی های دیگر همین روند را تکرار می‌کنیم.

در آموزش بعدی کنترل ال ای دی از طریق محیط گرافیکی UI با موبایل را به شما آموزش خواهم داد.

 

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

 

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

 

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

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

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

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

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

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

۳۵ دیدگاه

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

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

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

    • سلام
      برای بحث امنیت شبکه باید از پروتکل MQTT استفاده کنیم ، که حتما در آموزش های بعدی به معرفی آن خواهم پرداخت.

    • سلام
      برای این منظور باید از ماژول رله استفاده نمایید و به پین رله وصل نمایید. در آموزش کنترل وسایل الکترونیکی از راه دور بخش سوم توضیح داده شده است.

  • سلام
    سپاس از مطلب مفید
    من به مشکلی بر خوردم که علی رغم اتصال LED و صحت آن، LED روشن نمی شود و عملا gpio را با ترمینال، پایتون و الان هم نود امتحان کردم اما انگار سیگنال ارسال نمی شود.

  • سلام ببخشید بسیار اموزش مفیدی بود فقط برای راه اندازی نود ها به چه سیستم عاملی برای رزبری نیاز داریم؟؟؟

    • سلام
      برای دسترسی به نرم افزار Node-RED ، میتوانید سیستم عامل رزبین را دانلود نمایید.

  • سلام
    نود Gpio out را انتخاب کنید. تیک گزینه ی initialise pin state را بزنید. حال چک کنید LEVEL روی حالت LOW هست یا High . سپس بر روی حالت initial level of pin high-1 انتخاب نمایید.

  • درود برشما.مدت کوتاهیه با این مبحث آشنا شدم.پروژه ای در این ارتباط در دست انجام دارم که در مدت بسیار کوتاهی باید عملی بشه.فرصت مطالعه و انجام این پروژه رو ندارم.خواهش میکنم در این ارتباط کمکم کنید با تشکر فراوان….

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

  • سلام
    اى کاش ویدیو هم قرار میدادید، من اکثر آموزش ها را دنبال میکنم ولى توى این آموزش یه سرى مشکل دارم، دیپلوى که میزنم ارور میده، نمیدونم چطور رفعش کنم.

    • سلام
      اگر تنظیمات نود ها را دقیقا همانندتصویر هایی که گذاشته ام، انجام دهید ، مشکلی نخواهید داشت. چه پیغام خطایی به شما میده؟
      ویدئو نیز اضافه خواهد شد.

  • سلام. با نصب نودرد تا جایی که نود اینجکت رو گفتین میشه پیش رفت، اما شاخه نودهای رزبری و منجمله نودِ RPI out را نیافتم!

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

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

  • سلام خسته نباشید.این که کنترل ازراه دور نیست. لطفا آموزش اتصال بی سیم وسایل به رزبری مثلا به وسیله esp آموزش دهید

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

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

    • سلام
      از توجه شما ممنونم.
      جناب آقای نوری روال کار از زمانی که شما همکاری میکردید بسیار تغییر کرده است. از توجه شما ممنونم، در صورت تمایل شما میتوانید همچنان مانند گذشته موارد را ادامه دهید.

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

    • با سلام
      این مورد توسط بنده تست نشده است. همچنین نود orange pi در لیست نودها قرار دارد و به پایه های GPIO اورنج پای دسترسی خواهید داشت.

  • سلام ، من وقتی روی node-red کلیک میکنم ، خطای زیر رو به من نشون میده ، مشکل از کجاست؟
    “Faild to execute child process “xterm(No such file or directory

    • با سلام
      کامند زیر را در ترمینال اجرا و مجدد تست نمایید. نتیجه را از همین طریق اعلام فرمایید.
      sudo apt-get install xterm