رزبری پای - Raspberry PIمطالب علمی

محیط برنامه‌نویسی گرافیکی رزبری پای نود رد

معرفی Node-red:

Node-red زبان برنامه‌نویس بر اساس فلوچارت است که توسط بخش مهندسی فناوری IBM توسعه داده‌شده است. Node-red توسط Paul Morrison در سال 1970 توسعه داده شد.

در سال 2013 شرکت IBM نود رد را برای راحتی و سهولت در اتصال ابزارهای الکترونیک به اینترنت منتشر کرد. این نرم‌افزار بر روی سخت‌افزارهایی همچون کامپیوترهای تک بردی رزبری پای، بیگل بن و … و همچنین سرویس‌های ابری مثل IBM آمازون (Amazon Web Service) و مایکروسافت (Microsft Azure) قابل‌استفاده است.

برنامه‌نویسی فلوچارت روشی برای شرح یک برنامه به‌وسیله جعبه‌ها و شبکه‌های مابین آن‌ها بوده که Node-red نامیده می‌شوند. هر Node-red برای یک هدف خاص کاربرد دارد. اطلاعاتی به Node-red داده می‌شود، عملیاتی بر روی آن اطلاعات در Node-red انجام می‌شود و به شبکه برگردانده می‌شود. شبکه مسئول جریان یافتن اطلاعات مابین Node های مختلف است. هرکس بتواند یک مسئله را به قسمت‌های کوچک‌تر تقسیم کند، می‌تواند با نگاه کردن به فلوچارت، بدون اینکه نیاز باشد تا کدهای مربوط به هر یک از Node ها را درک کند، هدف کلی برنامه را متوجه شود.

Node-red بر پایه پلتفرم برنامه‌نویسی نود جی اس (Node.js) نوشته‌شده است. برای طراحی برنامه با Node-red کافی است به فلو ادیتور دسترسی داشته باشید. از طریق یک مرورگر وب می‌توانید به این محیط دسترسی داشته باشید و برنامه خود را با کشیدن Node-red ها از پالت Node ها و رها کردن آن‌ها در Workspace و وصل کردن آن‌ها به هم با یک کلیک طراحی کنید.

پالت node ها را می‌توان با نصب node های جدید گسترش داد. بیش از هزار Node آماده که توسط جامعه کاربری توسعه داده‌شده در وب‌سایت Node-red به‌صورت رایگان در اختیار شماست که هرروز به تعداد آن‌ها افزوده می‌شود. همچنین برنامه نوشته‌شده را می‌توان به‌راحتی به‌وسیله فایل‌های JSON با دیگران به اشتراک گذاشت.

محیط کاربری ساده Node-red باعث شده که مبتدی‌ترین افراد تا خبره‌ترین آن‌ها بتوانند رزبری پای را به یک ابزار هوشمند و کارآمد تبدیل کنند. قدرت و انعطاف‌پذیری Node-red امکان نوشتن پیچیده‌ترین کدها را برای توسعه‌دهندگان محیا می‌کند و هزینه برنامه‌نویسی و طراحی سخت‌افزار را کاهش می‌دهد.

Node-red بر روی رزبری پای:

دو روش برای اجرای Node-red بر روی رزبری پای وجود دارد. یکی نصب دستی از طریق اسکریپت نصاب برای توزیع‌هایی که به‌صورت پیش‌فرض Node-red بر روی آن‌ها نصب نیست؛ و دومی استفاده از نسخه پیش‌فرض نصب‌شده بر روی توزیع رزبین می‌باشد. از نوامبر 2105 نود رد بر روی image رزبین به‌صورت نصب‌شده آماده استفاده است.

اجرای Node-red:

برای اجرای Node-red در رزبین بر روی آیکن رزبری پای کلیک کنید و از منوی Programing گزینه Node-red را انتخاب کنید.

word image

دسترسی به محیط Node-red:

بعد از اجرای Node-red با پنجره ترمینال زیر روبه‌رو می‌شوید. اگر می‌خواهید در محیط دسکتاب رزبری پای با Node-red کارکنید مرورگر وب را بازکنید و آدرسی که در ترمینال مشخص‌شده را بازکنید.

word image

و یا برای دسترسی به محیط نود رد در کامپیوتر دیگر، کافی است آدرس IP دیگری که در ادامه مشخص‌شده را در هر سیستمی که در یک شبکه مشترک با رزبری پای است بازکنید.

توجه شود که به هنگام کار با Node-red نباید صفحه ترمینال بازشده را ببندید.

word image 1

آشنایی با محیط Node-red

word image 1

محیط Node-red از 3 قسمت تشکیل‌شده

قسمت 1 مربوط به پالت Node ها می‌باشد. Node ها را از این قسمت و با کشیدن و رها کردن در قسمت workspace می‌توانید انتخاب کنید.

قسمت 2 در این ناحیه با وصل کردن نودها به یکدیگر به برنامه خود شکل می‌دهید.

قسمت 3 در این قسمت اطلاعات هر نودی که روی آن کیلک شده باشد نمایش داده می‌شود. زبانه debug مربوط به دیباگ و رفع عیوب برنامه می‌باشد.

معرفی نودهای پرکاربرد و اجرای برنامه ساده کنترل GPIO

نود Inject

word image 2

نود Inject، نود ورودی است. این نود را از شاخه input انتخاب کنید و در قسمت workspace رها کنید. روی نود دوبل کلیک کنید تا قسمت تنظیمات Node برای شما باز شود. روی گزینه payload کلیک کنید و آن را روی حالت Number قرار دهید و مقدار 1 را به آن بدهید مانند شکل زیر. در قسمت topic، عبارت LED_ON را وارد کنید.

word image 3

برای خاموش کردن LED نیاز به یک نود Inject دیگر داریم آن را انتخاب کرده و سپس در قسمت Payload مقدار 0 را به آن بدهید.

word image 4

 

نود rpi gpio

برای دسترسی به GPIO رزبری پای باید از نود rpi gpio استفاده شود برای اضافه کردن این نود به شاخه RASPBERRY_PI بروید. توجه کنید که دو نوع خروجی و ورودی از این نود وجود دارد که با توجه به نوع استفاده ما باید نود ورودی rpi gpio را انتخاب کنید.

word image 5

بعد از اضافه کردن آن به workspace روی آن دوبل کلیک کنید و پایه موردنظر خودتان را انتخاب کنید.

word image 6

 

نود Template

word image 7

از نود Template برای نمایش متن استفاده می‌شود. این نود از شاخه function در پالت Node Red قابل انتخاب می‌باشد. از این نود برای نمایش متن در قسمت دیباگ استفاده می‌کنیم به این صورت که وقتی LED روشن می‌شود عبارت LED IS ON! و هنگام خاموش شدن LED عبارت LED IS OFF! نشان داده می‌شود.

word image 8

 

نود Debug

برای مشاهده نتیجه اجرای برنامه در قسمت دیباگ از این نود استفاده می‌کنیم این نود از شاخه output در دسترس می‌باشد. نودها را همانند تصویر زیر به یکدیگر اتصال دهید.

word image 9

و در آخر دکمه Deploy را برای اجرای برنامه بزنید.

word image 10

کلیک بر روی هر یک از نودهای inject باعث روشن و خاموش شدن LED متصل به پایه‌ای که انتخاب کردید می‌شود.

word image 11

آموزش نصب Node های جدید در Node-red

برای نصب Node های جدید در رزبری پای نیاز داریم تا Node-red را به آخرین نسخه آن آپدیت کنیم برای شروع اول دستورات زیر را برای آپدیت برنامه‌های سیستم در ترمینال رزبری پای وارد می‌کنیم

sudo apt-get update

sudo apt-get upgrade

 

سپس برای آپدیت Node-red دستور زیر را در ترمینال رزبری پای وارد کنید، توجه کنید که اجرای فرایند آپدیت بسته به‌سرعت اینترنت و سرعت حافظه فلش شما شاید 20 الی 30 دقیقه زمان ببرد.

update-nodejs-and-nodered

word image 12

بعد از آپدیت دوباره Node-red را اجرا کنید. مشاهده می‌کنید که ورژن Node-red و Node.js به آخرین نسخه ارتقا یافته است.

C:\Users\Ali\AppData\Local\Microsoft\Windows\INetCache\Content.Word\ap01.bmp

بعد از آپدیت Manage palette به منوی Node-red افزوده می‌شود.

word image 13

توسط این گزینه می‌توانید نود جدید اضافه کنید یا Node های موجود را مدیریت کنید.

توسط تب Nodes می‌توانید Node های نصب‌شده را غیرفعال کنید و یا برای نصب Node جدید از تب install استفاده کنید. برای مثال در ادامه قصد نصب Node های UI را بر روی Node-red داریم. عبارت node-red-contrib-ui در قسمت جست‌وجو وارد کنید و دکمه install را بزنید منتظر بمانید تا Node های UI بر روی Node-red نصب شود توجه کنید که بعد از پایان نصب هیچ پیامی درباره اتمام نصب داده نمی‌شود.

word image 14 word image 15

بعد از اتمام نصب باید یک‌بار صفحه Node-red ریستارت شود تا بتوانید به Node هایی UI دسترسی داشته باشید.

word image 16

نمایش دمای CPU رزبری پای به‌صورت گرافیکی در محیط Node-red

برای به دست آوردن دمای CPU رزبری پای می‌توانید از دستور

/opt/vc/bin/vcgencmd measure_temp

استفاده کنید. حال می‌خواهیم توسط این دستور هر 2 ثانیه یک‌بار دمای CPU رزبری پای را بر روی یک گیج آپدیت کنیم. به این منظور از node inject استفاده می‌کنیم، تنظیمات node inject را مانند تصویر زیر انجام دهید.

word image 17

برای اجرای دستور به دست آوردن دما از قسمت advance نود exec را انتخاب کنید و مانند تصویر زیر تنظیمات را انجام دهید.

word image 18

خروجی این نود به‌صورت temp=53.7’C خواهد بود درصورتی‌که نود gauge فقط ورودی عددی قبول می‌کند. به این منظور از نود split برای حذف عبارت‌های temp= و ‘C استفاده می‌کنیم.

تنظیمات به‌صورت زیر انجام می‌شود.

word image 19

و

word image 20

برای نمایش صحیح دما نیاز داریم تا فقط اعداد بزرگ‌تر از صفر بر روی gauge نمایش داده شود به این منظور از نود switch استفاده می‌کنیم که از قسمت function در دسترس است. مثل تصویر زیر این نود تنظیم کنید.

word image 21

برای نمایش دما به نود gauge از قسمت UI نیاز داریم آن را به برنامه اضافه کنید و مقدار حداکثر 100 را تنظیم می‌کنیم.

word image 22

درنهایت نمودار به شکل زیر خواهد شد.

word image 23

برای اجرا دکمه deploy را می‌زنیم و برای مشاهده خروجی به آخر آدرس IP خود /ui اضافه کنید به‌عنوان‌مثال 192.168.1.5:1880/ui و درنهایت دمای CPU به‌صورت گرافیکی نمایش داده خواهد شد.

word image 24

در این شماره آشنایی کلی با محیط برنامه‌نویسی Node-red ارائه شد. شما می‌توانید با اتکا به توانایی‌های Node-red و برد رزبری پای پروژه‌های کوچک و بزرگی را طراحی کنید. در این محیط هیچ‌چیز مانع روند خلاقیت و طراحی شما نیست.

در پایان اگر سوال یا نظری در مورد این مقاله داشتید آن را در قسمت نظرات با ما در میان بگذارید.

نوشته های مشابه

4 دیدگاه

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

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

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

دکمه بازگشت به بالا