DEV Community

Cover image for منصة API لتطوير إنترنت الأشياء
Yusuf Khalidd
Yusuf Khalidd

Posted on • Originally published at apidog.com

منصة API لتطوير إنترنت الأشياء

خلاصة القول (TL;DR)

تمتلك واجهات برمجة تطبيقات إنترنت الأشياء (IoT APIs) خصائص تكسر افتراضات أدوات واجهة برمجة التطبيقات القياسية: نطاق ترددي مقيد، وحمولات بيانات ثنائية، وأنماط مصادقة الأجهزة، وبروتوكولات ليست HTTP على الإطلاق. تتناول هذه المقالة ما يحتاجه مطورو إنترنت الأشياء من أدوات واجهة برمجة التطبيقات، وأين تتناسب الأدوات القياسية مثل Apidog، وأين تقصر (MQTT هو المثال الصادق)، وكيفية اختبار الطبقة المواجهة لـ HTTP في الواجهة الخلفية لإنترنت الأشياء لديك بفعالية.

جرّب Apidog اليوم

💡Apidog هي منصة مجانية وشاملة لتطوير واجهات برمجة التطبيقات. لمطوري إنترنت الأشياء، يتعامل Apidog مع طبقات HTTP و WebSocket في الواجهة الخلفية لجهازك – نقاط نهاية توفير REST، واختبار الحمولة الثنائية، ورؤوس المصادقة المخصصة، وتكوين SSL/TLS – مع الصراحة بشأن البروتوكولات التي لا تغطيها. جرب Apidog مجانًا، لا يلزم وجود بطاقة ائتمان.

مقدمة

يمتلك تطوير إنترنت الأشياء شخصيتين من حيث واجهات برمجة التطبيقات. من جهة، لديك طبقة الاتصال المواجهة للجهاز: وسطاء MQTT، ونقاط نهاية CoAP، والبروتوكولات الثنائية المخصصة، وتدفقات WebSocket. يتم اختيار هذه البروتوكولات لكفاءة النطاق الترددي، واستهلاك الطاقة المنخفض، وملاءمتها للشبكات المقيدة.

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

معظم أدوات واجهة برمجة التطبيقات تخدم الطبقة الثانية بشكل ممتاز وتتجاهل الأولى. هذا هو الواقع الحالي. إذا كنت تتوقع من أداة قياسية مثل Apidog أن تدعم اختبار MQTT بشكل أصلي، ستواجه حدودها. الحل العملي هو فهم ما تغطيه الأداة، واستخدامها للبروتوكولات المناسبة، واللجوء لأدوات متخصصة عند الحاجة.

في هذا الدليل ستجد خارطة بروتوكولات إنترنت الأشياء، ما يدعمه Apidog (وما لا يدعمه)، وكيفية إعداد اختبارات عملية للواجهات الخلفية لإنترنت الأشياء المعتمدة على HTTP.

مشهد بروتوكولات إنترنت الأشياء

MQTT: نموذج النشر والاشتراك للأجهزة

MQTT هو بروتوكول الاتصال القياسي بين الأجهزة والسحابة. يُستخدم لكفاءة النطاق الترددي، الأجهزة المقيدة، والشبكات غير الموثوقة.

المفاهيم الأساسية:

  • المواضيع (قنوات هرمية)
  • مستويات QoS (مرة واحدة، مرة واحدة على الأقل، مرة واحدة بالضبط)
  • الرسائل المحفوظة
  • LWT لاكتشاف قطع الاتصال

ملاحظة: Apidog لا يدعم MQTT بشكل أصلي.

اختبر MQTT باستخدام:

  • MQTT Explorer: واجهة رسومية لسطح المكتب
  • MQTTX: عميل متعدد المنصات مع دعم البرمجة النصية
  • أدوات Mosquitto CLI (mosquitto_sub و mosquitto_pub)
  • HiveMQ Cloud Broker: وسيط سحابي مع عميل ويب

نصيحة عملية: إذا كان نظامك يعتمد على MQTT، استخدم أداة MQTT مخصصة بجانب أداة REST API.

HTTP/REST: طبقة المنصة

كل منصة إنترنت الأشياء تقريبًا توفر REST API. REST يغطي:

  • توفير الأجهزة: التسجيل، إنشاء الشهادات، تعيين الهوية
  • تحديثات OTA: التحقق من التحديثات وتنزيلها
  • دفع التكوين: إرسال التكوينات للأجهزة
  • استيعاب القياس عن بعد: HTTP POST (JSON أو ثنائي)
  • إدارة الأجهزة: حالة الأسطول، أوامر عن بعد
  • استعلام البيانات: بيانات تاريخية، سجلات
  • تسجيل Webhook: تسليم الأحداث الصادرة

كل هذا يمكن اختباره بأدوات REST القياسية مثل Apidog.

WebSocket: الاتصال ثنائي الاتجاه

يستخدم WebSocket في بعض منصات إنترنت الأشياء من أجل:

  • تدفقات أوامر الأجهزة اللحظية
  • عرض القياس عن بعد المباشر
  • تحديثات التكوين ثنائية الاتجاه

Apidog يدعم اختبار WebSocket مع تخصيص رؤوس الاتصال.

CoAP: الأجهزة المقيدة

CoAP (بروتوكول التطبيقات المقيدة) شبيه بـ HTTP، لكن يعمل عبر UDP ومناسب جدًا للأجهزة الصغيرة.

Apidog لا يدعم CoAP.

اختبر CoAP باستخدام copper4cr (امتداد متصفح) أو libcoap (سطر أوامر).

الحمولات الثنائية

بروتوكولات إنترنت الأشياء غالبًا ما تستخدم ترميز ثنائي (Protocol Buffers، MessagePack، CBOR، أو تنسيقات خاصة).

Apidog يقبل نص طلب ثنائي خام (hex/base64) في HTTP، مما يغطي سيناريوهات HTTP الثنائية.


أنماط مصادقة الأجهزة في إنترنت الأشياء

مصادقة أجهزة إنترنت الأشياء تختلف عن مصادقة الويب الكلاسيكية. بجانب OAuth وBearer، يوجد:

الموثوقية المتبادلة (mTLS)

كثير من المنصات (AWS IoT Core، Azure IoT Hub، Google Cloud IoT Core) تعتمد mTLS. كل جهاز يمتلك شهادة عميل.

اختبار نقاط نهاية mTLS:

يمكنك رفع شهادة الجهاز ومفتاحه الخاص في إعدادات TLS لـ Apidog.

مفاتيح API خاصة بالجهاز

بعض المنصات تصدر مفاتيح API فردية للأجهزة. تُستخدم كرؤوس Bearer أو API-Key.

Apidog يدعم ذلك مباشرة.

رموز JWT مع مطالبات الجهاز

بعض المنصات تصدر JWT بمطالبات (device_id، النموذج، إلخ).

Apidog يدعم Bearer JWT ويمكن تحديث الرمز عبر البرمجة النصية.

رؤوس المصادقة المخصصة

بعض المنصات تستخدم رؤوسًا غير قياسية (مثل X-Device-Token).

يمكنك تعريف أي رأس مخصص في Apidog بسهولة.


اختبار واجهات برمجة تطبيقات IoT REST باستخدام Apidog

هنا تحصل على قيمة حقيقية من Apidog.

تدفقات توفير الجهاز

عادةً توفير الأجهزة يتم عبر REST متعدد الخطوات:

  1. POST تسجيل الجهاز (رقم تسلسلي، نموذج، إصدار)
  2. استلام معرف الجهاز وبيانات الاعتماد
  3. تكوين الجهاز بالاعتماد المستلم
  4. GET حالة الجهاز للتحقق من التسجيل

Apidog يدعم الطلبات المتسلسلة:

استخدم نص برمجي بعد الطلب لاستخراج معرف الجهاز وتخزينه كمتغير بيئة لاستخدامه في باقي الخطوات.

نقاط نهاية تحديث البرامج الثابتة عبر الهواء (OTA)

تدفق تحديث OTA عادةً يتضمن:

  1. GET /devices/{id}/update-check – هل يوجد تحديث؟
  2. GET /devices/{id}/firmware – عنوان URL للبرنامج الثابت
  3. POST /devices/{id}/update-status – إرسال نتيجة التثبيت

في Apidog:

افحص رؤوس الاستجابة الثنائية (Content-Type، Content-Length) وتأكد من صحة التنسيق.

استيعاب القياس عن بعد عبر HTTP

لاختبار استيعاب القياس عن بعد الثنائي:

  1. اختر نوع نص الطلب raw
  2. اختر تنسيق binary
  3. الصق الحمولة المرمزة (hex أو base64)
  4. اضبط Content-Type: application/octet-stream
  5. أرسل الطلب وافحص الاستجابة

لـ protobuf:

استخدم مكتبة الترميز بلغتك لتحويل الرسالة، ثم الصق الناتج.

الاختبار باستخدام شهادات SSL مخصصة

الواجهات الخلفية لإنترنت الأشياء غالبًا ما تعمل على شبكات خاصة وشهادات موقعة ذاتيًا.

في Apidog:

  • عطل التحقق من SSL للتطوير
  • ارفع شهادة CA مخصصة للتحقق في بيئة الإنتاج
  • ارفع شهادة عميل لاختبار mTLS

اختبار WebSocket لتدفقات أجهزة إنترنت الأشياء

منصات إنترنت الأشياء توفر نقاط نهاية WebSocket للاتصال الفوري.

حالات استخدام:

  • تدفقات ظلال الأجهزة (Device Shadows)
  • بث القياس عن بعد المباشر
  • تسليم الأوامر الفورية

خطوات اختبار WebSocket في Apidog:

  1. اتصل بعنوان WebSocket مع رؤوس المصادقة (Bearer أو API Key)
  2. أرسل رسالة اشتراك إذا لزم الأمر
  3. راقب تدفق الرسائل
  4. أرسل أوامر اختبار وتحقق من استجابة الجهاز

Apidog يدعم تحديد البروتوكولات الفرعية (Sec-WebSocket-Protocol).


ماذا تستخدم لاختبار MQTT؟

نظرًا لأن Apidog لا يدعم MQTT:

  • MQTTX: الأفضل بشكل عام، يدعم جميع بروتوكولات MQTT وTLS/mTLS ووضع البرمجة النصية
  • MQTT Explorer: بسيط ومرئي لتصفح المواضيع
  • Mosquitto CLI: سريع للاختبارات النصية والآلية
  • مكتبات اللغة (paho-mqtt لـ Python، MQTT.js لـ Node): لدمج CI/CD

إعداد اختبار عملي للواجهة الخلفية لإنترنت الأشياء

هيكل بيئة Apidog:

Environments:
  local-dev: base_url = http://localhost:8080, ssl_verify = false
  staging: base_url = https://iot-staging.example.com, ssl_verify = true
  prod: base_url = https://api.iot.example.com, ssl_verify = true

Variables:
  device_id = dev_test_001
  device_serial = SN-TEST-00001
  auth_token = {{fetched via pre-request script}}
  firmware_version = 2.1.4
Enter fullscreen mode Exit fullscreen mode

هيكل المجلدات:

  • provisioning/ – تدفقات تسجيل الأجهزة وإصدار الاعتماد
  • telemetry/ – اختبارات الاستيعاب (JSON وثنائي)
  • ota/ – تدفقات تحديث البرامج الثابتة
  • device-management/ – عمليات CRUD للأجهزة
  • websocket/ – اختبارات الاتصال اللحظي
  • error-cases/ – بيانات اعتماد خاطئة، رموز منتهية، حمولات مشوهة

قائمة التحقق لاختبار الحمولة الثنائية:

  • اختبار بحمولة صالحة (المسار الطبيعي)
  • اختبار بحمولة مبتورة (رسالة ناقصة)
  • اختبار برأس Content-Type خاطئ
  • اختبار على الحد الأقصى الموثق للحجم
  • اختبار بمصادقة صحيحة وخاطئة

الأسئلة الشائعة

هل يدعم Apidog اختبار MQTT؟

لا. استخدم MQTTX، MQTT Explorer، أو أدوات Mosquitto CLI لاختبار MQTT. Apidog يغطي فقط HTTP وWebSocket.

هل يمكن لـ Apidog اختبار نقاط نهاية CoAP؟

لا. CoAP يعمل عبر UDP. استخدم copper4cr أو libcoap.

كيف أختبر حمولات protobuf الثنائية في Apidog؟

رمّز رسالتك باستخدام مكتبة protobuf، حولها إلى hex أو base64، ثم الصقها كنص ثنائي في Apidog، واضبط Content-Type على application/protobuf أو النوع المناسب.

هل يدعم Apidog mTLS لمصادقة الجهاز؟

نعم. يمكنك رفع شهادة عميل ومفتاح خاص لاتصالات mTLS في إعدادات SSL.

هل يمكن استخدام Apidog لاختبار AWS IoT Core أو Azure IoT Hub أو Google Cloud IoT؟

نعم، بالنسبة لواجهات برمجة تطبيقات HTTP REST فقط. للاتصال عبر MQTT استخدم أدوات MQTT.

ما هو أفضل نهج لاختبار ترميز القياس عن بعد الثنائي؟

أنشئ حمولات اختبار ثنائية (صالحة ومشوهة) باستخدام مكتبة الترميز، وخزنها كمتغيرات أو ملفات. استخدم Apidog لإرسالها وتحقق من الاستجابة.


يمتد اختبار الواجهة الخلفية لإنترنت الأشياء إلى بروتوكولات لا توجد أداة واحدة تغطيها بالكامل. عمليًا ستحتاج لأداتين: واحدة لـ MQTT (مثل MQTTX أو mosquitto) وأخرى لـ REST/WebSocket (مثل Apidog). استخدم Apidog للطبقة HTTP بشكل شامل: التوفير، الإدارة، الاستيعاب، الحمولات الثنائية، mTLS، وWebSocket. أما MQTT فله أدواته المتخصصة. معرفة الأداة المناسبة لكل طبقة هو مفتاح اختبار فعال لنظام إنترنت الأشياء.

Top comments (0)