DEV Community

Cover image for Platform API untuk Pengembangan IoT
Walse
Walse

Posted on • Originally published at apidog.com

Platform API untuk Pengembangan IoT

TL;DR

API IoT memiliki ciri khas yang tidak sesuai dengan asumsi alat API standar: bandwidth terbatas, payload biner, pola otentikasi perangkat, dan protokol non-HTTP. Artikel ini membahas kebutuhan pengembang IoT terhadap alat API, posisi Apidog di ekosistem ini, keterbatasannya (misal: MQTT), serta cara menguji lapisan HTTP backend IoT secara efektif.

Coba Apidog hari ini

💡 Apidog adalah platform pengembangan API lengkap dan gratis. Untuk pengembang IoT, Apidog menangani lapisan HTTP dan WebSocket pada backend perangkat Anda – endpoint provisioning REST, pengujian payload biner, header otentikasi kustom, serta konfigurasi SSL/TLS – dan transparan tentang protokol yang tidak didukungnya. Coba Apidog gratis tanpa kartu kredit.

Pendahuluan

Pengembangan IoT memiliki dua sisi dalam hal API. Sisi perangkat: broker MQTT, endpoint CoAP, protokol biner kustom, dan aliran WebSocket—semua dipilih demi efisiensi bandwidth dan daya. Sisi platform: API REST untuk provisioning perangkat, pembaruan firmware, telemetri, serta dasbor manajemen—mirip backend web konvensional.

Sebagian besar alat API hanya fokus pada sisi platform, mengabaikan protokol perangkat. Pengembang IoT harus paham protokol yang ditangani alat API mereka, memanfaatkannya untuk HTTP/WebSocket, dan tahu kapan harus menggunakan alat khusus seperti MQTTX.

Artikel ini memetakan protokol IoT, cakupan Apidog, dan contoh pengujian praktis HTTP backend IoT.

Lanskap Protokol IoT

MQTT: publish-subscribe untuk perangkat

MQTT adalah protokol utama komunikasi perangkat-ke-cloud: efisien, tahan terhadap jaringan buruk, dan hemat sumber daya.

Konsep utama:

  • Topik (channel hierarkis)
  • QoS (fire-and-forget, at-least-once, exactly-once)
  • Retained messages, Last Will and Testament (LWT)

Apidog tidak mendukung MQTT secara native. Gunakan:

  • MQTT Explorer: GUI desktop untuk broker MQTT
  • MQTTX: Klien MQTT multiplatform dengan scripting
  • mosquitto_pub/mosquitto_sub: CLI dari Mosquitto
  • HiveMQ Broker: Broker MQTT cloud dengan klien web gratis

Testing MQTT memerlukan alat khusus di luar alat API HTTP/REST.

HTTP/REST: lapisan platform

Platform IoT selalu menyediakan API REST, digunakan untuk:

  • Provisioning perangkat: Registrasi, pembuatan sertifikat, identitas
  • Pembaruan firmware OTA: Cek dan unduh firmware
  • Push konfigurasi: Kirim konfigurasi ke perangkat/grup
  • Penyerapan telemetri: POST data sensor (bisa JSON/biner)
  • Manajemen perangkat: Status, perintah remote, grup
  • Kueri data: Telemetri, log, histori event
  • Registrasi Webhook: Konfigurasi pengiriman event keluar

Semua endpoint ini bisa diuji dengan alat REST seperti Apidog.

WebSocket: komunikasi perangkat dua arah

WebSocket mengisi celah antara REST (stateless) dan MQTT (brokered pub-sub). Digunakan untuk:

  • Pengiriman perintah real-time
  • Streaming data sensor ke dashboard manajemen
  • Pembaruan konfigurasi dua arah

Apidog mendukung pengujian WebSocket dengan header kustom.

CoAP: perangkat terbatas

CoAP (Constrained Application Protocol) mirip HTTP tapi didesain untuk mikrokontroler, berjalan di atas UDP.

Apidog tidak mendukung CoAP. Gunakan copper4cr (browser extension) atau CLI libcoap.

Payload biner

Banyak protokol IoT memakai encoding biner (Protobuf, MessagePack, CBOR, format kustom) untuk efisiensi bandwidth.

Apidog mendukung body request biner mentah: kirim payload heksa/base64 via HTTP sesuai kebutuhan endpoint Anda.


Pola Otentikasi Perangkat di IoT

Otentikasi perangkat IoT berbeda dari API umum. Selain OAuth 2.0, Bearer, dan API key, IoT menambahkan:

Mutual TLS (mTLS)

Platform besar (AWS, Azure, Google IoT) memakai mTLS: setiap perangkat punya sertifikat klien. Apidog mendukung konfigurasi sertifikat klien untuk koneksi TLS—uji endpoint mTLS dengan memuat file sertifikat perangkat.

Kunci API khusus perangkat

Platform sederhana sering memakai API key/token per perangkat. Apidog menangani header API key dan Bearer secara native.

JWT dengan klaim perangkat

JWT dengan klaim khusus perangkat (ID, model, firmware) juga umum. Gunakan Bearer JWT di header, refresh token via pre-request script jika perlu.

Otentikasi header kustom

Beberapa platform menggunakan header otentikasi non-standar seperti X-Device-Token. Apidog mendukung header arbitrer.


Menguji API REST IoT dengan Apidog

Alur provisioning perangkat

Provisioning biasanya multi-step REST:

  1. POST registrasi (serial, model, firmware)
  2. Terima ID perangkat + kredensial
  3. Konfigurasi perangkat dengan kredensial
  4. GET verifikasi status

Gunakan fitur chaining Apidog: extract ID perangkat via post-request script, simpan sebagai variabel, gunakan di langkah berikutnya.

Endpoint pembaruan firmware OTA

Alur umum:

  1. GET /devices/{id}/update-check
  2. GET /devices/{id}/firmware (URL/binary)
  3. POST /devices/{id}/update-status

Uji respons biner: cek header (Content-Type, Content-Length) dan validasi format file.

Penyerapan telemetri via HTTP

Kirim POST dengan payload JSON/biner (Protobuf, MessagePack):

  1. Set body ke raw
  2. Pilih binary
  3. Tempel payload heksa/base64
  4. Set header Content-Type: application/octet-stream
  5. Kirim & cek respons

Untuk protobuf, encode payload dengan library Anda, lalu paste ke Apidog.

Pengujian dengan sertifikat SSL kustom

Backend IoT umumnya memakai sertifikat self-signed atau CA privat:

  • Nonaktifkan SSL verification (dev)
  • Muat custom CA (staging/production)
  • Muat sertifikat klien untuk mTLS

Setel opsi SSL di Apidog sesuai kebutuhan environment.


Pengujian WebSocket untuk aliran perangkat IoT

Platform IoT banyak menyediakan endpoint WebSocket untuk komunikasi real-time:

  • Device shadow stream: Streaming status perangkat (AWS, Azure IoT)
  • Live telemetry: Dashboard real-time lewat WebSocket
  • Command delivery: Pengiriman perintah instan

Langkah pengujian di Apidog:

  1. Koneksi ke URL WebSocket dengan header otentikasi (Bearer/API key)
  2. Kirim pesan subscribe (jika perlu)
  3. Amati pesan masuk di log
  4. Kirim pesan perintah uji, verifikasi efek pada perangkat

Apidog mendukung pengaturan subprotocol via header Sec-WebSocket-Protocol.


Apa yang digunakan untuk pengujian MQTT

Karena Apidog tidak mendukung MQTT, gunakan:

  • MQTTX: GUI canggih, support MQTT 3.1.1/5.0, TLS/mTLS, scripting.
  • MQTT Explorer: Visualisasi topik, bagus untuk debugging arus pesan.
  • CLI mosquitto: (mosquitto_pub, mosquitto_sub) untuk scripting dan automasi cepat.
  • Library MQTT bahasa: (paho-mqtt Python, MQTT.js Node.js) untuk CI/CD testing custom.

Pengaturan Pengujian Backend IoT Praktis

Struktur environment 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 = {{diambil melalui skrip pra-permintaan}}
  firmware_version = 2.1.4
Enter fullscreen mode Exit fullscreen mode

Struktur folder:

  • provisioning/ – registrasi perangkat & kredensial
  • telemetry/ – endpoint penyerapan (JSON/biner)
  • ota/ – update/pengiriman firmware
  • device-management/ – operasi CRUD perangkat
  • websocket/ – tes koneksi real-time
  • error-cases/ – tes kredensial error, token kadaluwarsa, payload rusak

Checklist pengujian payload biner:

  • Payload biner valid (happy path)
  • Payload biner terpotong (incomplete)
  • Header Content-Type salah
  • Payload ukuran maksimum
  • Otentikasi perangkat benar/salah

FAQ

Apakah Apidog mendukung pengujian MQTT?

Tidak. Gunakan MQTTX, MQTT Explorer, atau CLI mosquitto. Apidog hanya untuk HTTP & WebSocket backend.

Bisakah Apidog menguji endpoint CoAP?

Tidak. CoAP di atas UDP, bukan HTTP. Gunakan copper4cr atau libcoap.

Bagaimana menguji payload protobuf biner di Apidog?

Encode pesan protobuf Anda, convert ke heksa/base64, set body ke biner mentah di Apidog, set header Content-Type sesuai.

Apakah Apidog mendukung mTLS untuk otentikasi perangkat?

Ya. Muat sertifikat klien & private key di pengaturan SSL Apidog.

Bisakah Apidog menguji AWS IoT Core, Azure IoT Hub, Google Cloud IoT?

Ya, untuk API REST HTTP mereka. Untuk MQTT, gunakan MQTTX/alat lain.

Bagaimana menguji pengkodean telemetri biner bandwidth rendah?

Siapkan payload biner valid dan error (prototipe, corrupt), simpan sebagai variabel/file; kirim via Apidog, cek respons dan proses backend.

Pengembangan backend IoT membutuhkan lebih dari satu alat. Apidog efektif untuk HTTP—provisioning, manajemen, telemetri, payload biner, mTLS, WebSocket. Untuk MQTT, gunakan MQTTX atau mosquitto. Pilih alat sesuai protokol, jangan berharap satu alat bisa semuanya.

Top comments (0)