في هذه المقالة سوف نتعلَّم كيفيَّة استخدام لوحات الأردوينو مع منصَّة IFTTT بالتفصيل، سنتعرَّف على:

  • ماهي IFTTT؟
  • كيف تعمل IFTTT مع لوحات الأردوينو؟
  • كيف لخدمات خارجية مثل (مساعد غوغل الصوتي) التحكم بلوحات الأردوينو عبر IFTTT.
  • كيف تقوم لوحات الأردوينو بتشغيل/إرسال بيانات إلى خدمات خارجية (إيميل، رسائل نصية، مكالمات صوتية..) من خلال IFTTT.

 

 تمكّن IFTTT لوحة أردوينو من الآتي:

  •  إرسال الإشعارات إلى هاتفك المحمول. 
  • إرسال رسائل البريد الإلكتروني Emails. 
  •  إرسال الرسائل النصية SMS .
  • السماح لمساعد غوغل الصوتي بالتحكم بالأردوينو. 
  • السماح للمساعد الصوتي من شركة أمازون أليكسا بالتحكم بالأردوينو. 
  • تحديد جدولٍ زمنيِّ لأردوينو عبر تقويم جوجل.

وغير ذلك الكثير.

 

المعدَّات المطلوبة:

  •  لوح أردوينو أونو أو لوح جينينو أونو عدد  1
  • كابل  USB 2.0 من النَّمط A  أو B 

 

ماهي خدمة IFTTT؟

IFTTT هي خدمة ويب مجانيَّة تربط خدمات الويب المختلفة مع بعضها (فيس بوك، ايميل، تويتر…)، على سبيل المِّثال: 

  • إذا وصلت حسابك الفيس بوك بحسابك على خدمة التَّخزين السَّحابي دروب بوكس Dropbox باستخدام خدمة IFTTT، فإن كل مرَّة تقوم بمشاركة صورة على الفيس بوك، ستحفظ خدمة IFTTT تلك الصورة تلقائياً إلى حسابك في دروب بوكس.
  • إذا وصلت مساعد أمازون أليكسا بإيميلك باستخدام خدمة IFTTT، سترسل لك IFTTT بريداً إلكترونياً في كل مرة تسأل فيها أليكسا عن الأشياء الموجودة في قائمة مشترياتك تلقائياً.

 

هناك أربعة مفاهيم مهمة في IFTTT هي: التطبيق المُصغَّر applet، والخدمة service، والمشغِّل trigger، والعملية process. 

تتكون IFTTT من تطبيقات مصغَّرة 

التطبيقات المصغَّرة عادةً ما تتكون من خدمتين IFTTT حيث تعمل إحدى الخدمات كمشغل والأُخرى كعملية. خدمات IFTTT في التطبيق المصغَّر متصلة ببعضها البعض. 

تقوم خدمة IFTTT مثل (تويتر، دروب بوكس، فيس بوك، ايميل، أمازون أليكسا، مساعد غوغل) بإحدى الأمرين:

تلقّي الطلب من مصدر خارجي، ومن ثمَّ تطلق خدمة IFTTT الأُخرى في نفس التطبيق المصغَّر (تعمل على أنها مشغل).

تُشغّلها خدمة IFTTT أُخرى في نفس التطبيقات المصغرة، لتتفاعل بعدها مع مصادر خارجية لتنفيذ شيءٍ ما (أي أنها تمثل العملية).

 

يجب الانتباه للتالي: 

التطبيق المصغَّر قد يتكون من ثلاث خدمات IFTTT أو أكثر، لكنَّنا لن نتطرق لهذا في هذا المقال، أيضًا يرجى عدم الخلط بين الخدمات في IFTTT وبين خدمات المصادر الخارجية، لأنَّ بعض الخدمات قد تحمل نفس الاسم. على سبيل المثال: أليكسا هو نظام صوتي أنشأته وتملكه شركة أمازون بينما IFTTT لديها خدمة تسمى أليكسا أيضاً والتي تقوم بالتفاعل مع أليكسا المملوكة من شركة أمازون لذلك، فلنسمِ الخدمة المقدمة من IFTTT بخدمة IFTTT، والخدمات الأُخرى بالخدمات الخارجية. 


تٌنشَأ التطبيقات المصغرة:

  • من شركة IFTTT: يتوجب عليك فقط تفعيلها لكي تستخدمها.
  • من طرف آخر: يتوجب عليك فقط تفعليها لكي تستخدمها. 
  • يمكنك إنشاء التطبيق المصغر الخاص بك، وتفعيله لكي تستخدمه.  إذ أن صناعة التطبيقات المصغرة أمرٌ سهل. 

 

لتعمل المنصة مع الأردوينو عليك إنشاء تطبيق مصغر بنفسك، لا داعي للقلق، فإنشاء التطبيقات المصغرة أمرٌ بسيط للغاية. 

IFTTT اختصارًا لجملة “IF THIS THEN THAT” “إذا كانت هذه فتلك”، بمعنى إذا شٌغلَت خدمة ما فإن خدمات IFTTT أٌخرى تقوم بتنفيذ مهمة. 


المتطلبات المسبقة: إنشاء حساب في منصة IFTTT، وهي منصة يسهل التعامل معها ومجانية بالكامل. 

كيف تعمل لوحات الأردوينو مع :IFTTT

عمومًا، تتفاعل لوحات الأردوينو مع IFTTT، وتتفاعل IFTTT مع الخدمات الخارجية، والعكس صحيح.

 

وبتعبير أدقّ، تتفاعل الأردوينو مع التطبيقات المصغَّرة في IFTTT، وتتفاعل التطبيقات المصغَّرة مع الخدمات الخارجية، والعكس صحيح.  و للإيضاح أكثر، يتفاعل الأردوينو مع خدمة Webhooks الموجودة في IFTTT، تُشغِل الخدمات الموجودة في Webhooks خدمات أُخرى في IFTTT، وتقوم تلك الخدمات في  IFTTT بالتفاعل مع خدمات خارجية، والعكس صحيح. النموذج التالي هو مثال عن كيفية تفاعل الأردوينو مع Amazon Echo dot 

 

نحتاج لإنشاء تطبيق مصغر يتكون من Webhooks وخدمات أُخرى. إذ بإمكان Webhooks أن يعمل كمشغل أو عملية وذلك بحسب حالة الاستخدام التي بدورها تقسم إلى نوعين:

  • تتحكم خدمة أُخرى بالأردوينو من خلال IFTTT (على سبيل المثال: مساعد غوغل أو أمازون الصوتي تتحكم بأردوينو) 
  • ترسل أردوينو بيانات إلى خدمة IFTTT أخرى عن طريق IFTTT (على سبيل المثال: إرسال إشعارات إلى هاتفك، نشر منشور على تويتر)

سنناقش كل حالة على حدى.

 

كيف تتحكم الخدمات الخارجية بلوحات أردوينو عبر IFTTT؟

كما ذكرنا سابقًا، تتضمن IFTTT  في التطبيق المصغر عادة خدمتين: واحدة تعمل كمشغل، والأُخرى عملية، في هذه الحالة Webhooks يعمل كمشغل. 

في التفاعل بين أردوينو وWebhooks، يعمل أردوينو كخادم ويب، ويعمل Webhooks الخاص بـ IFTTT كعميل ويب.

طريقة سير العمل: 

  • تطلق خدمة ما حدثاً لتشغيل الخدمة المتوافقة معها على IFTTT. 
  • تستخرج خدمة IFTTT البيانات من ذلك الحدث إن وجدت. 
  • تُشغل الخدمة الـ  Webhooks الخاصة بـ IFTTT .
  • يأخذ Webhooks الخاص ب IFTTT دوره كعملية عبر إنشاء رسالة طلب وفق برتوكول HTTP   لترسل للأردوينو(مع البيانات إن وُجدت) 
  • تستخرج الأردوينو البيانات من الطلب الذي قامت به HTTP  لتنفذ فعلًا ما.

تعرض الصورة التالية النظام الصوتي من أمازون Amazon Echo  يتحكم بالأردوينو من خلال IFTTT .


كيف تستخدم IFTTT مع الأردوينو؟

  • سجِّل الدُّخول في منصة IFTTT .
  • أنشئ التطبيق المصغَّر الذي يربط الخدمة المرغوبة (تقويم غوغل أو المساعد الصوتي) مع الـ Webhooks. يقوم Webhooks بدور العملية وتمثل الخدمات الأخرى المشغل.
  • اكتب كود الأردوينو للتعامل مع طلبHTTP  القادم من الـ Webhooks. 

عند إنشاء التطبيق المصغَّر، ندخل عنوان الـ IP الخاص بالأردوينو في إعدادات التطبيق المصغر. عندما إطلاق حدث ما، يرسل الـ IFTTT طلب HTTP للأردوينو باستخدام عنوان الـIP المسجل. 

 

كيف تقوم لوحات الأردوينو بإرسال البيانات إلى خدمة خارجية باستخدام IFTTT؟

كما ذُكر سابقاً، IFTTT في التطبيق المصغَّر تتضمن عادةً خدمتين من خدمات IFTTT: واحدة تعمل كمشغل، والأُخرى كعملية، في هذه الحالة Webhooks يُمثل مشغل العملية. 

في التفاعل بين أردوينو وWebhooks، يعمل أردوينو كعميل ويب، يعمل Webhooks الخاص بـ IFTTT كخادم ويب.

طريقة سير العمل: 

  • ترسل أردوينو طلب HTTP إلىWebhooks  الخاص بـ IFTTT.
  • يستخرج ال Webhooks البيانات من طلب الـ HTTP إذا وُجدت.
  • يُشغل ال Webhooks الخاص بـ IFTTT خدمة أُخرى من خدمات الـ IFTTT.
  • تأخذ تلك الخدمة الأُخرى من خدمات IFTTT دور العملية.
  • توضح الصورة أدناه كيف يرسل الأردوينو بريداً إلكترونياً عبر IFTTT.

 

ما علينا فعله: 

  • سجِّل الدُّخول في منصة IFTTT.
  • أنشئ التطبيق المصغَّر الذي يصل Webhooks بالخدمة المرغوبة حيث يلعب Webhooks دور المشغل وتمثل الخدمات الأخرى دور العملية. 
  • انتقل إلى صفحة توثيق الـ Webhooks لتحصل على مفتاح Webhooks.
  • اكتب كود الأردوينو لإرسال طلب  HTTP بأحد نوعيه (POST أو GET) إلى Webhooks.

ما نحتاج تضمينه في طلب HTTP:

  •  المفتاح Webhooks key: مفتاح فريد وسري للتّعرف على Webhooks، الحساب الواحد له مفتاح واحد، يمكنك تسجيل الدخول إلى حسابك ونسخه من موقع IFTTT الإلكتروني. 
  •  اسم الحدث Event name: الاسم المراد تعريف الحدث به، والذي وضعه المستخدم عند إنشاء التطبيق المصغر، يستطيع الحساب الواحد أن ينشئ العديد من الأسماء. 
  • البيانات (اختياري): يمكنك إرسال بيانات المستشعر إلى IFTTT.

 

يعد مفتاح Webhooks واسم الحدث جزءًا أساسيًا من الرابط ((URL. بينما البيانات اختيارية وتٌضمّن في قسم الطلب query، التي تسمح بحد أقصى لثلاث متغيرات ذوات الأسماء: value1, value2, value3

 

صيغة طلب للحصول على معلومات(HTTP GET):

  • إرسال بدون أي بيانات:  http://maker.ifttt.com/trigger/EVENTNAME/with/key/YOUR-KEY
  • إرسال مع متغير واحد: http://maker.ifttt.com/trigger/EVENTNAME/with/key/YOUR-KEY?value1=10
  • إرسال مع متغيرين اثنين: http://maker.ifttt.com/trigger/EVENTNAME/with/key/YOUR-KEY?value1=10&value2-21
  • إرسال مع ثلاث متغيرات: http://maker.ifttt.com/trigger/EVENTNAME/with/key/YOUR-KEY?value1=10&value2=21&value3=25

استبدل EVENT-NAME وYOUR-KEY والقيم أعلاه.

كيفية إرسال البيانات من أردوينو إلى IFTTT

لإرسال البيانات من أردوينو إلى خدمة IFTTT أُخرى (مثل البريد الإلكتروني، فيس بوك) تحتاج إلى القيام بما يلي: 

  • في أردوينو: قم بتضمين البيانات في طلب HTTP.
  • في التطبيق المصغر: عدّل الإعدادات لاستخراج البيانات من طلب HTTP.

 

هناك 5 متغيرات يمكن استخدامها في إعداد تطبيق IFTTT المصغر:

اسم الحدث  مستخرج من طلب HTTP
زمن الحدث  مستخرج من طلب HTTP توقيت النظام عندما حدث الفعل
قيمة 1  مستخرج من القيمة المتغيرة 1 في طلب HTTP
قيمة 2 مستخرج من القيمة المتغيرة 2 في طلب HTTP
قيمة 3 مستخرج من القيمة المتغيرة 3 في طلب HTTP

 

معلومات إضافية:

  • عندما يرسل الأردوينو طلب HTTP إلى Webhooks في IFTTT، كيف تميز IFTTT بين طلب من لوحتك الأردوينو وبين طلب الأردوينو لمستخدم آخر؟
    يحتوي رابط الـ HTTP على مفتاح Webhooks الخاص بك حيث يحتوي كل حساب على مفتاح Webhooks واحد وفريد لذا تستخدم IFTTT مفتاح Webhooks للتعرف عليك. 
  • كيف يمكن للأردوينو تشغيل عدة أحداث؟
    يمكنك إنشاء العديد من التطبيقات المصغرة، كل تطبيق مصغر متصل بمشغل منفصل. 
  • كيف يمكن للأردوينو إرسال أكثر من ثلاث متغيرات إلى IFTTT؟
    يمكنك دمج بعض البيانات في متغير واحد من سلسلة الاستعلام باستخدام فاصل محدد، على سبيل المثال: http://maker.ifttt.com/trigger/EVENTNAME/with/key/YOUR-KEY?value1-10&value2=21&value3=25-31

المصدر: هنا

ترجمة: حنين الرفاعي، مراجعة: رُلا دنوره، تدقيق لغوي: بولا ابراهيم، تصميم: علي العلي، تحرير: حسين اسعد