دعونا نبدأ من خلال النظر إلى بعض الأمثلة البسيطة لأنواع الأشياء التي يمكنك القيام بها باستخدام الـ Node-RED . الهدف من هذا الدرس ليس تحصيل البرمجة باستخدام Node-RED ، ولكن لتتمكن من معرفة قدراتها التي يمكن من خلالها تنفيذ المهام من خلال تقديم بعض الأمثلة على مستوى عال. اذا كنت تريد البدأ مباشرة ، يمكنك القفذ إلى الدرس الثاني هناك سيتم تقديم خطوات لإنشاء و تشغيل التدفق الأول .
في أول مثال للتدفق في هذا الدرس ، سيتم استقبال رسالة من التويتر تحتوي على علامة hashtag للتحكم في تشغيل و ايقاف الـ LED عند وصول تغرييدة جديدة. على سبيل المثال دعونا نفترض أن Node-RED يعمل على Raspberry pi .
المثال الأول: استخدام التويتر للتحكم بالراسبيري باي
يتم انشاء تدفق الـ Node-RED للتحقق من التويتر و لمعرفة ما اذا تم الكشف عن hashtag #led، و التحكم بالـ LED الموصل على الراسبيري باي كما هو موضح بالشكل أدناه . كما تلاحظ ، يتكون التدفق من ثلاث عقد متصلة معا – عقدة التويتر على اليسار ، و عقدة trigger في الوسط ، و عقدة الراسبيري باي (gpionode) على اليمين. كل العقد ممثلة بمستطيلات وعادة ما تحتوي على رمز لتمثيل نوعها ، على سبيل المثال عقدة التويتر تحتوي على رمز التويتر (الطائر) و مع اسم النص الذي يمكن تعيينها من قبل المبرمج.
كل من هذة العقد بنيت في أداة البرمجية المرئية Node-RED ، و يمكن سحبها من لوحة العقد إلى مساحة العمل الرئيسية .ثم يتم توصيلهم معا عن طريق دمج /ربط علامة التبويب الخاصة بالإخراج إلى علامة التويب الخاصة بالإدخال من العقدة التالية في التدفق( النقط الرمادية الصغيرة على يمين و يسار مربعات العقد ). في المحاضرة القادة سيتم عرض واجهة المستخدم بالتفصيل .
عقدة التويتر هي عقدة مضمنة في Node-RED و تخفي كل من تعقيدات استخدام تويتر API . يمكن تكوينها / تهيئتها باستخدام بيانات اعتماد حساب المستخدم و مجموعة متنوعة من سلاسل البحث، في حالتنا تبحث عن العلامة hashtag “#led”. عندما تكتشف عقدة التويتر هذة العلامة في حساب تويتر المستخدم، فإنها تنشئ رسالة جديدة تحتوي على تفاصيل التغريدة، و التي يتم تدفقها إلى العقدة التالية في التدفق. في مثالنا ، عقدة trigger تستقبل الرسالة مع تفاصيل التغريدة.
عقدة Trigger هي ايضا عقدة مضمنة في Node-RED و السلوك الافتراضي الخاص بها هو انتظار اي رسالة على مدخلاتها. عندما تتلقى الرسالة، فإنها تطلق اشارة ، و ترسل رسالة على تبويب الاخراج لديها مع قيمة “1” كنص للرسالة. ومن ثم ينتظر لمدة ثانية و يرسل رسالة ثانية مع قيمة 0 في نص الرسالة.
و نظرا لربط عقدة الـ trigger إلى عقدة الـ gpionode، التي تسيطر على المداخل و المخارج على الراسبيري باي ، و التي تتلقى هذه الرسائل الاثنين على مدخلاتها.
مرة أخرى، gpionode هي عقدة مضمنة في Node-RED و التي تخفي تفاصيل اعدادات منافذ الادخال و الإخراج على الراسبيري باي. فعندما تستقبل رسالة مع قيمة “1” في نص الرسالة ، فإنها تعطي المنفذ قيمة high، و عندما تتلقى رسالة مع نص بقيمة “0” فإنها تعطي قيمة LOW للمنفذ. في هذا المثال ، يتم تكوين عقدة gpionode للتحكم على نفذ رقم 12 .
اذا كان لديك راسبيري باي مع LED موصل على المنفذ رقم 12 ، عقدة gpionode ستقوم بإخراج قيمة HIGH لمدة ثانية واحدة ثم قيمة LOW ، و سوف يسبب وميض على الـ LED لمدة ثانية واحدة.
اذا كنت تفكر في ما يحدث هنا، في الوقع هذا مثال قوي من Node-RED و انترنت الاشياء. فهو يكون ربط “Twitterverse” الى الراسبيري باي و LED ، وهو لا يتطلب اي برمجة- يتم تنفيذ جميع المهام من قبل العقد التي تم انشاءها في Node-RED و التي تحتاج فقط للتهيئة/الاعدادات.