- ما هي API وكيف تكون مفيدة؟
- 1. OpenHAB REST API
- 2. Mozilla Web Things API
- 3. OpenWeatherMap
- 4. EmonCMS API
- 6. Adafruit IO API
- 7. Home Assistant API
- 8. واجهات برمجة تطبيقات شبكة الأشياء
- 9. ThingSpeak.io REST API
- 10. مسبك EdgeX
في عالم اليوم المتصل بالإنترنت لم يعد إنترنت الأشياء (IoT) كلمة طنانة يتم طرحها من قبل الخبراء. انه حقيقي!! ويمكن العثور عليها في كل مكان حولنا ، وتغيير الحياة ، وتسهيل خدمات أفضل ، وتحسين العمليات ، وتوفير فرص جديدة وزيادة الإيرادات.
مع المليارات من الأجهزة الجديدة التي لم يتم توصيلها بالإنترنت بعد ، فإن تأثير إنترنت الأشياء سيتجاوز بالتأكيد أجهزة إنترنت الأشياء نفسها إلى العديد من التطبيقات الأخرى من خلال الاستفادة من البيانات التي توفرها هذه الأجهزة لتحقيق النمو الاجتماعي والتجاري. يحدث هذا بالفعل لأن معظم المؤسسات اليوم التي ليس لديها حلول إنترنت الأشياء منتشرة ، لا تزال قادرة على جني فوائدها من خلال الوصول إلى البيانات التي تم إنشاؤها بواسطة الأجهزة التي تم نشرها بواسطة أشخاص آخرين باستخدام واجهات برمجة التطبيقات الخاصة بهم.
ما هي API وكيف تكون مفيدة؟
يرمز اختصار API إلى واجهة برمجة التطبيقات ، وهذه ليست جديدة ومقتصرة على إنترنت الأشياء ، فقد تم استخدامها في تطوير البرامج لفترة طويلة. تسهل واجهات برمجة التطبيقات التكامل السهل للخدمات المختلفة في المنتجات ، مما يسمح باستخدام التطبيقات المكتوبة بلغة واحدة بواسطة برنامج مكتوب بلغة أخرى ، مما يساعد في تقليل البنية التحتية الشاملة ومتطلبات الوقت لتطوير المنتج. يتم حاليًا نقل هذه المزايا نفسها إلى تطبيقات إنترنت الأشياء باستخدام واجهات برمجة التطبيقات عبر تطبيقات متنوعة لكشف البيانات التي تتيح دمج أجهزة متعددة وتوصيلها لحل مهام سير عمل جديدة ومثيرة للاهتمام ، مما يكشف عن احتمالات غير مرئية حول إنترنت الأشياء.
عند التسجيل للحصول على خدمات جديدة (على سبيل المثال Spotify) ، فسنجد عادةً خيارات مثل "تسجيل الدخول باستخدام Gmail" أو "تسجيل الدخول باستخدام Facebook". هذه ليست سوى واجهات برمجة التطبيقات التي توفرها Google / Facebook إلى Spotify لتسهيل إجراءات التسجيل. هنا ستشارك API تفاصيل المستخدم الأساسية مثل الاسم ومعرف البريد الإلكتروني ورقم الهاتف وما إلى ذلك مع Spotify وتساعدك في توفير الوقت في إجراء التسجيل. وبالمثل ، تتوفر واجهات برمجة تطبيقات مختلفة لاحتياجات التطبيقات المختلفة.
تمامًا كما هو الحال مع البرامج ، هناك العديد من واجهات برمجة تطبيقات IoT المتاحة لمهام مختلفة ، ولكن معظمها لا يأتي مجانًا في العادة. بالنسبة إلى البرنامج التعليمي اليوم ، سنلقي نظرة على أفضل 10 واجهات برمجة تطبيقات (برأينا) مفتوحة المصدر لإنترنت الأشياء لمساعدتك في تقليل تكلفة التطوير والوقت. واجهات برمجة التطبيقات هذه مفتوحة ومجانية (أو بها حزم مجانية) ويمكن استخدامها ليس فقط من قبل المحترفين ولكن أيضًا من قبل الصانعين والهواة وأي شخص يجدها مفيدة ويتوافق مع شروط الاستخدام. يتم سرد واجهات برمجة التطبيقات هذه بدون ترتيب معين ، وتم اختيارها عشوائيًا عبر القطاعات ، وربما لا يمكن مقارنتها لأنها تؤدي مهام مختلفة.
1. OpenHAB REST API
Open Home Automation Bus (openHAB) عبارة عن منصة أتمتة منزلية مفتوحة المصدر لا تعتمد على التكنولوجيا تساعد على توصيل الأجهزة الذكية والأجهزة المنزلية "غير الذكية" والتحكم فيها في مكان واحد. يسمح بأداء الإجراءات التي يحددها المستخدم بواسطة الأجهزة ، باستخدام المعلومات المعرفة من قبل المستخدم والأدوات المعرفة من قبل المستخدم. لتحقيق ذلك ، يقوم برنامج openHAB بتقسيم وظائف وعمليات معينة إلى تجزئة والتي يمكن الوصول إليها جميعًا من خلال OpenHAB REST API.
من خلال OpenHAB REST API ، يمكن للمستخدمين الوصول إلى بيانات جميع الأجهزة المرتبطة بالمنصة والأجهزة نفسها (الأشياء) والربط ، بالإضافة إلى إصدار أوامر وإجراءات لتغيير حالة أو سلوك أو خصائص الأجهزة المتصلة بـ openHAB. يعتمد التفاعل مع API على بروتوكول ؛ على هذا النحو فمن المهم ضمان اتصالات آمنة ومأمونة عند العمل معها. وفقًا لموقع openHAB الإلكتروني ، تتضمن بعض التفاعلات الممكنة عبر OpenHAB REST API ؛
- استرجاع بيانات OpenHAB من التطبيقات الخارجية
- إدخال البيانات وتشغيل الأحداث في OpenHAB من التطبيقات الخارجية (على سبيل المثال ، بعض أجهزة الكشف عن الحركة أو كاميرات المراقبة)
- افحص روابط OpenHAB / الأشياء أو العناصر ، وتعرف على الحالات أو المعلمات أو المشكلات الحالية
- التفاعل مع openHAB من البرامج الأخرى ؛ يمكن للعديد من لغات البرمجة وأدوات التشغيل الآلي الاستفادة بسهولة من REST API
- استخدام برامج طرف ثالث على الهواتف المحمولة ، مثل Tasker لفتح باب الجراج الخاص بك
يمكن العثور على وثائق ومزيد من الأمثلة والتعليمات التفصيلية حول استخدام واجهة برمجة التطبيقات على موقع OpenHAB على الويب.
تُعد تطبيقات الطرف الثالث مثل Tasker المستخدمة مع openHAB مؤشرًا كبيرًا على كيفية قيام واجهات برمجة التطبيقات بفتح اقتصاديات إنترنت الأشياء ، مما يوفر فرصًا لإنشاء قيمة إضافية على طول السلسلة.
2. Mozilla Web Things API
Mozilla هي منظمة غير ربحية مهمتها الدفاع عن شبكة الويب المجانية والمفتوحة وتمثل واجهة برمجة تطبيقات Web Things جهودها لتوسيع مشاركتها على الويب لتشمل إنترنت الأشياء. وفقًا لموقع Web Things على الويب ، تتيح واجهة برمجة تطبيقات Web Things للمستخدمين توفير عناوين URL فريدة لجميع الأجهزة المتصلة على شبكة الويب العالمية ، مما يسمح باستخدامها كطبقة تطبيق موحدة لجميع أجهزة إنترنت الأشياء.
تعتمد واجهة برمجة تطبيقات Web Things ، مثل معظم واجهات برمجة تطبيقات IoT الأخرى ، على REST وتتيح للمستخدمين ؛ الوصول إلى خصائص الأجهزة وتحديد الحالة الحالية لكل جهاز وإصدار أوامر لتغيير حالة الجهاز أو تنفيذ الإجراءات. تجعل واجهة WebThings API الوصول إلى الموارد ، التي تمثل كل جانب من جوانب الجهاز أمرًا سهلاً ، حيث تتم الإشارة إلى كل مورد بشكل مستقل باستخدام عنوان URL. يمكن العثور على مزيد من المعلومات في موقع Mozilla IoT.
3. OpenWeatherMap
OpenWeatherMap هي خدمة قائمة على الويب توفر الوصول إلى البيانات المتعلقة بالطقس (درجة الحرارة والرطوبة وهطول الأمطار وما إلى ذلك) ، بما في ذلك الطقس الحالي والتنبؤات والبيانات التاريخية لمطوري خدمات الويب والجوّال وتطبيقات إنترنت الأشياء الحديثة. يتم الحصول على البيانات المتاحة عبر OpenWeatherMap من مصادر تتراوح من محطات الطقس DIY إلى خدمات بث الأرصاد الجوية ومحطات الطقس في المطارات والعديد من المصادر الأخرى. لقد ناقشنا بالفعل كيفية استخدام Openweather Map مع Arduino لقراءة بيانات الطقس من الإنترنت باستخدام ESP8266.
تتم معالجة البيانات وفرزها بطريقة يمكن من خلالها بناء حلول إنترنت الأشياء التي تستفيد من هذه البيانات لإعلام المهام وأتمتتها من خلال OpenWeatherMap API. على سبيل المثال ، يمكن إدخال بيانات التنبؤ عبر واجهة برمجة التطبيقات في نظام / جهاز إنذار لتحذير المزارعين من هطول أمطار غزيرة محتملة من بين عدة احتمالات أخرى.
بينما يتم دفع معظم ميزات OpenWeatherMap ، تحتوي الحزمة المجانية على ميزات مفيدة للغاية والتي يمكن أن تخدم معظم مشاريع إنترنت الأشياء بشكل جيد. يمكن العثور على وثائق وتفاصيل أخرى حول API على موقع ويب openWeatherMap.
4. EmonCMS API
EmonCMS هو تطبيق ويب قوي ومفتوح المصدر لمعالجة البيانات وتسجيلها وتصورها. إنه نتاج جهود مجموعة OpenEnergyMonitor ، تمامًا كما يوحي الاسم ، لتسهيل أجهزة مراقبة الطاقة مفتوحة المصدر من خلال تحليل البيانات البيئية. إنها في الأساس أداة تصور البيانات حيث البيانات من العديد من مراقبة الطاقةيمكن عرض أجهزة الاستشعار. لتسهيل وصول المطورين إلى النظام الأساسي ، تم إنشاء واجهة برمجة تطبيقات اتصال للسماح بالتفاعل مع النظام الأساسي عند التشغيل على المضيف المحلي (LAN) أو عبر الإنترنت. تتيح واجهة EmonCMS API للمستخدمين تحديث حالة أجهزة الطاقة على النظام الأساسي ، والحصول على قراءات ومعلمات أخرى تشير إلى حالة الأجهزة (إذا كان الجهاز متوافقًا) من النظام الأساسي إلى جانب العديد من الميزات الأخرى.
هل تتطلع إلى إضافة بعض تصور البيانات إلى حل إنترنت الأشياء التالي القائم على الطاقة؟ قد يكون EmonCMS هو ما تحتاجه. يمكن العثور على مزيد من المعلومات حول النظام الأساسي وواجهة برمجة التطبيقات على موقع الويب الخاص بهم.
5. API الجسيمات
Particle API هي واجهة برمجة التطبيقات التي طورتها شركة Particle للسماح للمطورين بالعمل بسهولة مع نظامهم الأساسي. Particle.IO هو أحد مزودي حلول إنترنت الأشياء الحقيقي في الصناعة ، حيث يوفر أجهزة الجهاز ، والاتصالات الخلوية ، وسحابة الجهاز ، وواجهات التطبيقات. لقد استخدمنا سابقًا Particle Cloud مع Raspberry Pi لأغراض أتمتة المنزل.
تسهل واجهة برمجة تطبيقات Particle للمطورين الوصول إلى الوظائف الكاملة لـ Particle ودمجها مع التطبيقات والأجهزة الأخرى. وفقًا للجسيم ، تسمح واجهة برمجة التطبيقات للمطورين بكتابة وظائف إلى البرامج الثابتة لأجهزتهم ثم الاتصال بها لاستخدامها في جانب التطبيق للأشياء في الوقت الفعلي. تتضمن بعض أمثلة أساليب واجهة برمجة التطبيقات (API) إيقاف تشغيل wifi وتشغيله وتوصيل الأجهزة وتبديل حالة الأجهزة والحصول على البيانات وإدارة الأجهزة بشكل عام.
يمكن العثور على الوثائق والتفاصيل الأخرى حول API على موقع ParticleIO على الويب.
6. Adafruit IO API
Adafruit هي واحدة من العلامات التجارية الأكثر شعبية في عالم الإلكترونيات DIY ، وقد لقي قرارهم بإطلاق منصة Adafruit IO لحلول إنترنت الأشياء منذ فترة وجيزة استقبالًا جيدًا من قبل مجتمع هواة صناعة الإلكترونيات / الإلكترونيات. استمرت المنصة في النمو منذ ذلك الحين وقد خدمت عددًا كبيرًا من المصنّعين بمن فيهم أنا. منصة Adafruit IO هي أساسًا سحابة جهاز بها ميزات تصور البيانات من بين أمور أخرى مدفوعة جميعها بواجهة Adafruit IO API. لقد استخدمنا بالفعل Adafruit IO مع PIC ومنصات تطوير أخرى مثل ESP و Raspberry Pi أيضًا.
وفقًا لـ Adafruit ، توفر واجهة Adafruit IO HTTP API للمستخدمين إمكانية الوصول إلى بيانات Adafruit IO الخاصة بهم من أي لغة برمجة أو بيئة أجهزة يمكنها التحدث بـ HTTP. من خلال ذلك يمكنهم تصميم أنظمة تتخذ إجراءات بناءً على البيانات ، وتؤثر على التغييرات في الجهاز عن طريق إرسال المعلومات إلى الأجهزة.
تعد منصة Adafruit IO واحدة من أسهل المنصات للعمل معها وهي واحدة من المفضلة لدي لمشاريع DIY IoT. يمكن العثور على الوثائق والمزيد من التفاصيل على موقع Adafruit IO.
7. Home Assistant API
Home Assistant هو نظام أتمتة منزلي مفتوح المصدر يقوده المجتمع مشابه لنظام openHAB. مثل الأنظمة الأساسية الأخرى ، يتم تشغيل Home Assistant بواسطة Home Assistant Python REST API الذي يوفر الوصول إلى طرق البيانات لخدمة التحكم في Home Assistant.
إنه يمكّن المستخدمين من تحرير التكوين ، وإرجاع المعلومات الأساسية حول مثيل Home Assistant ، وإرجاع جميع البيانات المطلوبة للتمهيد ، وإرجاع مجموعة من كائنات الأحداث والمزيد. تقبل واجهة برمجة التطبيقات (API) وتعيد فقط الكائنات المشفرة JSON التي تحتوي على اسم الحدث وعدد المستمع والمزيد. يعتمد على Python 3 ويساعد على تتبع جميع الأجهزة المنزلية المسجلة والتحكم فيها بسهولة ، بغض النظر عما إذا كان التسجيل قد تم عبر الويب أو تطبيق الهاتف المحمول. يمكن العثور على وثائق ومزيد من التفاصيل حول API على موقع Home Assistant.
8. واجهات برمجة تطبيقات شبكة الأشياء
أصبحت LoRa واحدة من قنوات الاتصال المفضلة نظرًا لطولها واستهلاكها المنخفض للطاقة من بين ميزات أخرى. شبكة الأشياء (TTN) هي مصدر مفتوح ، جهد مدفوع من قبل المجتمع لبناء شبكة LoRaWAN عالمية مفتوحة لإنشاء بنية تحتية مفتوحة لتسهيل تطوير حلول إنترنت الأشياء القائمة على LoRa. على هذا النحو ، توفر TTN مجموعة من الأدوات المفتوحة وشبكة عالمية مفتوحة تتميز بأقصى درجات الأمان وقابلية التوسع. إذا كنت جديدًا في Lora ، فانتقل إلى مقالة مفصلة حول مقدمة إلى LoRa و LoRaWAN.
يتم تشغيل التفاعل مع منصة TTN بواسطة اثنين من واجهات برمجة التطبيقات الرئيسية ؛ TTN Data API و TTN Application Manager API. تسمح لك Data API بتلقي الأحداث والرسائل من الأجهزة وكذلك إرسال الرسائل إلى الأجهزة ، بشكل عام ، وتبادل المعلومات مع الأجهزة. من ناحية أخرى ، يتم استخدام واجهة برمجة تطبيقات مدير التطبيقات لإدارة التطبيقات والبوابات والأجهزة. تعتمد واجهة برمجة تطبيقات البيانات على بروتوكول MQTT ويمكن استخدامها للتطوير عبر SDK أو مباشرة مع MQTT بينما تعتمد واجهة برمجة تطبيقات مدير التطبيقات على بروتوكول HTTP. يمكن العثور على مزيد من المعلومات حول واجهة برمجة التطبيقات هذه على موقع شبكة The Things Network.
9. ThingSpeak.io REST API
يعتبر ThingSpeak أحد أفضل المنصات السحابية مفتوحة المصدر لأجهزة إنترنت الأشياء. إنها واحدة من أفضل المنصات لمعالجة البيانات من الأجهزة خاصةً بسبب تكاملها مع MATLAB بعد أن استحوذت عليها Mathworks قبل بضع سنوات. يسمح للمستخدمين بتحميل البيانات وتجميعها وتحليلها وتصورها باستخدام MATLABدون الحاجة إلى الحصول على برنامج MATLAB بشكل منفصل. كل ما سبق يسهل استخدام واجهة برمجة تطبيقات ThingSpeak. تمامًا مثل معظم واجهات برمجة التطبيقات الأخرى المذكورة أعلاه ، تتيح واجهة ThingSpeak API للمستخدمين ؛ جمع وتخزين بيانات المستشعر ، واسترداد البيانات والحالة الحالية للأجهزة المتصلة ، وأتمتة الأحداث بناءً على البيانات ، ومشغلات الإعداد بناءً على حالة أجهزة إنترنت الأشياء ، والتكامل مع منصات الوسائط الاجتماعية مثل تويتر من بين ميزات أخرى لمعرفة المزيد حول ThingSpeak ، تحقق من مشاريع IoT السابقة حيث تم استخدام ThingSpeak مع العديد من المتحكمات الدقيقة المختلفة مثل Arduino و Raspberry PI و ESP وما إلى ذلك:
- مراقبة درجة الحرارة والرطوبة الحية عبر الإنترنت باستخدام Arduino و ThingSpeak
- مراقبة ضربات القلب عبر الإنترنت باستخدام Arduino و ThingSpeak
- محطة الطقس Raspberry Pi: مراقبة الرطوبة ودرجة الحرارة والضغط عبر الإنترنت
- نظام مراقبة المريض المعتمد على إنترنت الأشياء باستخدام ESP8266 و Arduino
بعض ميزات ThingSpeak التي تترجم تلقائيًا إلى فوائد استخدام API هي ؛
- تكوين جهاز سهل لنقل البيانات إلى منصة ThingSpeak باستخدام منصات إنترنت الأشياء القياسية.
- تصور في الوقت الحقيقي لبيانات أجهزة الاستشعار وتجميع البيانات باستخدام مصادر خارجية.
- تعمل تحليلات إنترنت الأشياء على أساس الجداول الزمنية أو الأحداث.
- تحليلات MATLAB و RESTful و MQTT APIs.
- تمكن من إنشاء النماذج الأولية وبناء أنظمة إنترنت الأشياء دون أي إعداد خادم وتثبيت برامج الويب.
- التوافق مع منصات التطوير الشائعة مثل Arduino و Raspberry Pi
- يعمل تلقائيًا على البيانات وأتمتة المهام
- التكامل مع خدمات الطرف الثالث مثل تويتر. خير مثال على الموقف الذي يكون فيه هذا مفيدًا هو حل إنترنت الأشياء الذي يقوم تلقائيًا بتغريد مستوى الماء.
بالإضافة إلى واجهة برمجة التطبيقات المستضافة المجانية ، فإن ThingSpeak API مفتوح المصدر ومتاح على GitHub للتنزيل على الخوادم الخاصة.
10. مسبك EdgeX
EdgeX Foundry هو نظام بيئي مفتوح المصدر لمنصات إنترنت الأشياء استنادًا إلى تكوينات مفتوحة المصدر. تقدم واجهة برمجة تطبيقات EdgeX Foundry عدة نقاط نهاية للخدمات بما في ذلك تسجيل العميل والجدولة والتسجيل. واجهة برمجة التطبيقات لديها بنية REST وتستخدم OAuth 2.0 للمصادقة. Edgex لديها سلسلة من الخدمات الصغيرة التي يتم توصيلها بكل جهاز متصل بالشبكة.
تحتوي كل خدمة صغيرة على العديد من استدعاءات API الهامة التي يمكن استخدامها ؛
- تسجيل خدمة الجهاز
- توفير جهاز
- إرسال البيانات من الجهاز إلى منصة Edgex ،
- قراءة البيانات من منصة Edgex لاستخدامها في تطبيقات أخرى
- تصدير البيانات ، من بين أمور أخرى.
يمكن العثور على الوثائق والمزيد من التفاصيل حول API على موقع EdgeX Foundry.
هذه قائمتي! ومع ذلك ، فإن هذه القائمة ليست شاملة بأي حال من الأحوال حيث يتبادر إلى الذهن بعض واجهات برمجة التطبيقات الأخرى مثل IoT-Plotter وغيرها من التي كان بإمكاني إضافتها إلى القائمة. لا تتردد في إسقاط التعليقات حول Open IoT APIs التي عملت معها. قد تقطع تعليقاتك شوطًا طويلاً في مساعدة الآخرين على اختيار واجهة برمجة تطبيقات أو نظام أساسي لاستخدامه في مشاريعهم.
حتى المرة القادمة.