بناء التدفقات

مبتدئ

image_pdf

التدفق الثاني : تنبيهات الطقس

في هذا المثال ، سيتم مراقبة الطقس لمدينتك و إرسال لنفسك تغريدة في حال يبدو الطقس جيد. عليك استخدام عقدة الطقس  (openweathermap) والتي تسترد الطقس من openweathermap.org  حول الموقع الذي تم تحديده من قبلك. و سوف يتم استخدام عقدة function للتحقق من الطقس ما اذا كان جيد و عقدة التويتر سيتم استخدامها لإرسال لنفسك تغريدة في حال كان الطقس جيد.

أولا، سوف تحتاج إلى الحصول على مفتاح API  في OperWeatherMap . تقدم penWeatherMap  معلومات تفصيلية حول الطقس لمواقع في جميع أنحاء العالم . قم بزيارة  http://openweathermap.org/appid  واتبع المعلومات ادناه .

building-your-first-flows

سوف تحتاج إلى الاشتراك للحصول على حساب OpenWeather كما هو موضح ادناه :

building-your-first-flows

بعد الإشتراك سيتم توجيهك إلى الصفحة الرئيسية الخاصة بك حيث أنك ستكون قادرا على الوصول أو إعادة توليد مفتاح API  خاص بك .

building-your-first-flows

الآن ، دعونا نستخدم مفتاح API  لبناء تدفق تنبيهات الطقس. قم بسحب و اسقاط عقدة الطقس من الجزء الأيمن على مساحة العمل ، كما هو مبين بالشكل ادناه :

building-your-first-flows

اذا قمت بتحديد لوحة info  لظهور المعلومات على الجانب الايمن ، يمكنك أن ترى وصفا لعقدة openweathermap  مع معلومات مفصلة حول كيفية إعدادها و استخدامها. ستلاحظ بعض الأمور المهم :

1- أن لديها بنية JSON  كما ان لها msg.payload ، تحتوي على الكثير من التفاصيل حول الطقس على سبيل المثال : سرعة الرياح و درجة الحرارة tempc.

2- العقدة تعرف ثلاث خصائص  للرسالة الجديدة : msg.time ، msg.location و msg.data. وكما ذكر أعلاه، انت لك الحريه في إضافة خصائص الرسائل ، openweathermap  اضافت هذة الخصائص الجديدة لتحمل معلومات إضافية مرتبطة مع الرسالة .

 سنقوم بإعداد العقدة و النظر في بنية البيانات الفعلية التي يتم توليدها بعد أن تسأل عن الطقس المحلي الخاص بك . قم بالنقر المزدوج على العقدة وملء النموذج حسب موقعك. اكتب المدينة و الدولة في الحقول المخصصة او وضع احداثيات مدينتك. قم بإضافة API  الذي تم الحصول عليه من  http://openweathermap.org/appid ثم انقر موافق كما هو مبين بالشكل التالي:

building-your-first-flows

في الصورة ادناه تم تحديد موقع مدينة جدة في المملكة العربية السعودية.

building-your-first-flows

 ثم قم بسحب و إسقاط عقدة debug  و قم بتوصيل العقد معا عن طريق السلك  قم بالضغط على زر Deploy  لرؤية رسالة payload من عقدة openweathermap في لوحة debug  .

building-your-first-flows

كما ترون في الصورة اعلاه على لوحة الاخراج،  العقدة توفر الكثير من المعلومات حول الطقس المحلي الخاص بك، بالعادة تتوفر المعلومات كأزواج من اللإسم: القيمة . على سبيل المثال ،  استخدام حقل الطقس “weather” لاختبار ما اذا كان الطقس جيد “Clear ” . في حال كان جيد عليك ارسال تغريدة.

لبرمجة هذا المنطق، عليك استخدام عقدة function .  تم عرضها في الدرس الأول ولكن دون ذكر التفاصيل. دعونا نرى كيف يتم استخدامها عن طريق سحب واحدة على مساحة عمل التدفق و النقر المزدوج لفتح محرر العقدة .

building-your-first-flows

الان انقر نقرا مزدوجا فوق عقدة function وقم بكتابة الشرط التالي:

building-your-first-flows

في الشرط تم التحقق ما اذا كان الطقس جيد “Clear”  أو لا . اذا تحقق الشرط ، فإنه سيتم إعادة كتابة رسالة payload  لتصبح “Clear skies ahead today!” (في السطر 2) . و اذا لم يتحقق سيعيد رسالة فارغة . السطر الأخير مهم لأن الـ Node-RED  تتجاهل الرسائل الفارغة.

if (msg.payload.weather === "Clear") {
msg.payload = "Clear skies ahead today!"
return msg;
}
return null;

يمكنك الأن أن تفعل عدة تطبيقات على هذا التدفق مثلا توصيل هذة الرسالة إلى عقدة البريد الإلكتروني أو عقدة pushbullet .  لهذا الدرس سيتم استخدام عقدة التويتر. قم بسحب عقدة التويتر على مساحة العمل ، انقر نقرا مزدوجا فوق العقدة و قم بملء اعتماد حساب التويتر الخاص بك كما هو موضح بالصورة ادناه :

building-your-first-flows

وبمجرد الانتهاء من إعداد هذة الوثائق، تقوم Node-RED  بتخزين هذة الوثائق التي يمكنك استخدامها في التدفقات المستقبلية. و أخيرا قم بالضغط على زر النشر Deploy  و راقب حساب التويتر الخاص بك لرؤية التغريدة الجديدة في كل مرة يتم التحقق أن حالة الطقس جيدة .

building-your-first-flows

X
Product added to the cart