Platform API untuk Pengembangan IoT

INEZA Felin-Michel

INEZA Felin-Michel

21 April 2026

Platform API untuk Pengembangan IoT

TL;DR

API IoT memiliki karakteristik yang melanggar asumsi alat API standar: bandwidth terbatas, payload biner, pola otentikasi perangkat, dan protokol yang sama sekali bukan HTTP. Artikel ini membahas apa yang dibutuhkan pengembang IoT dari alat API, di mana alat standar seperti Apidog cocok, di mana kekurangannya (MQTT adalah contoh jujur), dan bagaimana menguji lapisan HTTP dari backend IoT Anda secara efektif.

💡
Apidog adalah platform pengembangan API lengkap dan gratis. Untuk pengembang IoT, Apidog menangani lapisan HTTP dan WebSocket dari backend perangkat Anda – titik akhir provisioning REST, pengujian payload biner, header otentikasi kustom, dan konfigurasi SSL/TLS – sambil jujur tentang protokol yang tidak dicakupnya. Coba Apidog gratis, tanpa kartu kredit.
button

Pendahuluan

Pengembangan IoT memiliki kepribadian ganda dalam hal API. Di satu sisi, ada lapisan komunikasi yang menghadap perangkat: broker MQTT, titik akhir CoAP, protokol biner kustom, dan aliran WebSocket. Protokol-protokol ini dipilih untuk efisiensi bandwidth, konsumsi daya rendah, dan kesesuaian untuk jaringan terbatas.

Di sisi lain, ada lapisan yang menghadap platform: API REST untuk provisioning perangkat, pengiriman pembaruan firmware, penyerapan telemetri, dan dasbor manajemen. Ini terlihat seperti backend web lainnya.

Sebagian besar alat API melayani kelompok kedua dengan baik dan mengabaikan kelompok pertama sepenuhnya. Itu adalah celah yang nyata, tetapi juga kenyataan yang jujur. Pengembang IoT yang mengharapkan platform API umum untuk menangani pengujian MQTT secara native akan kecewa. Pendekatan yang tepat adalah memahami protokol mana yang dicakup oleh alat API standar Anda, menggunakannya secara efektif untuk protokol tersebut, dan mengetahui kapan harus menggunakan alat khusus.

Artikel ini memetakan lanskap protokol IoT, menjelaskan apa yang dicakup Apidog (dan apa yang tidak), serta memberikan pengaturan pengujian praktis untuk bagian HTTP dari backend IoT Anda.

Lanskap protokol IoT

MQTT: publish-subscribe untuk perangkat

MQTT adalah protokol dominan untuk komunikasi perangkat-ke-cloud. Protokol ini dirancang untuk jaringan yang tidak andal, perangkat terbatas, dan perutean pesan yang efisien melalui broker.

Konsep MQTT utama: topik (saluran pesan hierarkis), tingkat QoS (fire-and-forget, at-least-once, exactly-once), pesan yang ditahan, last will and testament (LWT) untuk deteksi offline.

Apidog tidak mendukung MQTT secara native. Untuk pengujian MQTT, gunakan:

Jika Anda membangun sistem IoT berbasis MQTT, sediakan waktu untuk alat pengujian MQTT khusus bersama dengan alat API REST Anda.

HTTP/REST: lapisan platform

Setiap platform IoT memiliki permukaan API REST, bahkan jika perangkat tidak menggunakan REST untuk telemetri. REST menangani:

Seluruh permukaan ini dapat diuji dengan alat REST standar.

WebSocket: komunikasi perangkat dua arah

WebSocket berada di antara REST (stateless, request-response) dan MQTT (dimediasi broker, publish-subscribe). Beberapa platform IoT menggunakan WebSocket untuk:

Apidog mendukung pengujian WebSocket dengan dukungan header koneksi, yang mencakup sebagian besar skenario IoT berbasis WebSocket.

CoAP: perangkat terbatas

CoAP (Constrained Application Protocol) adalah protokol seperti HTTP yang dirancang untuk mikrokontroler dan jaringan yang sangat terbatas. Protokol ini berjalan di atas UDP daripada TCP.

Apidog tidak mendukung CoAP. Untuk pengujian CoAP, gunakan copper4cr (ekstensi browser) atau alat CLI libcoap.

Payload biner

Banyak protokol IoT menggunakan pengkodean biner daripada JSON: Protocol Buffers, MessagePack, CBOR, atau format biner kustom. Pengkodean biner sangat penting untuk skenario bandwidth terbatas di mana sensor mengirim ribuan pembacaan per hari melalui koneksi seluler berbayar.

Apidog mendukung badan permintaan biner mentah. Anda dapat mengirim payload biner yang dikodekan heksa atau base64 dalam permintaan HTTP, yang mencakup kasus di mana platform IoT Anda menerima biner melalui HTTP.


Pola otentikasi perangkat di IoT

Otentikasi untuk perangkat IoT berbeda dari otentikasi API web pada umumnya. Alat API tujuan umum mendukung OAuth 2.0, token Bearer, dan kunci API, tetapi IoT menambahkan:

Mutual TLS (mTLS)

Banyak platform IoT (AWS IoT Core, Azure IoT Hub, Google Cloud IoT Core) menggunakan mTLS untuk otentikasi perangkat. Setiap perangkat memiliki sertifikat klien yang dikeluarkan selama provisioning. Perangkat menampilkan sertifikat ini saat terhubung.

Menguji titik akhir mTLS memerlukan pemuatan sertifikat klien dan kunci privat. Apidog mendukung konfigurasi sertifikat klien untuk koneksi TLS, sehingga Anda dapat menguji titik akhir mTLS dengan memuat file sertifikat perangkat Anda.

Kunci API khusus perangkat

Platform IoT sederhana sering mengeluarkan kunci API atau pasangan token per perangkat. Ini berfungsi seperti token Bearer standar atau header kunci API, yang ditangani Apidog secara native.

JWT dengan klaim perangkat

Beberapa platform mengeluarkan JWT dengan klaim khusus perangkat (ID perangkat, model, versi firmware). Otentikasi Bearer JWT standar berfungsi di sini. Skrip pra-permintaan dapat menangani penyegaran token jika token berumur pendek.

Otentikasi header kustom

Beberapa platform IoT proprietary menggunakan header otentikasi non-standar. Apidog mendukung header kustom arbitrer, sehingga header otentikasi khusus platform seperti X-Device-Token atau X-Device-Serial mudah dilakukan.


Menguji API REST IoT dengan Apidog

Di sinilah Apidog memberikan nilai nyata untuk pengembangan backend IoT.

Alur provisioning perangkat

Provisioning IoT seringkali merupakan alur REST multi-langkah:

  1. Meminta registrasi perangkat (POST dengan serial perangkat, model, versi firmware)
  2. Menerima ID perangkat dan kredensial dalam respons
  3. Mengonfigurasi perangkat dengan kredensial yang diterima
  4. Memverifikasi status registrasi (GET status perangkat)

Dukungan permintaan berantai Apidog membuatnya dapat diuji secara end-to-end. Skrip pasca-permintaan pada langkah 1 mengekstrak ID perangkat dan menyimpannya sebagai variabel lingkungan. Langkah 3 menggunakan variabel tersebut dalam URL permintaan. Alur provisioning lengkap berjalan sebagai sebuah urutan.

Titik akhir pembaruan firmware OTA

Alur pembaruan OTA biasanya melibatkan:

  1. GET /devices/{id}/update-check – mengembalikan apakah pembaruan tersedia
  2. GET /devices/{id}/firmware – mengembalikan URL unduhan firmware atau biner
  3. POST /devices/{id}/update-status – melaporkan hasil instalasi

Menguji ini dengan Apidog mudah dilakukan. Untuk respons biner firmware, Anda dapat memeriksa header (Content-Type, Content-Length) dan memverifikasi bahwa respons adalah format biner yang diharapkan.

Penyerapan telemetri melalui HTTP

Banyak platform menerima telemetri melalui HTTP POST. Payload mungkin JSON, tetapi semakin banyak yang biner (Protocol Buffers, MessagePack) untuk efisiensi bandwidth.

Untuk menguji penyerapan telemetri biner dengan Apidog:

  1. Setel tipe badan permintaan ke raw
  2. Pilih binary sebagai format badan
  3. Tempel payload heksa atau base64 yang telah dikodekan
  4. Setel Content-Type: application/octet-stream (atau tipe yang diharapkan platform Anda)
  5. Kirim dan periksa responsnya

Khusus untuk payload protobuf, Anda perlu mengodekan payload pengujian Anda menggunakan pustaka protobuf sebelum menempelkannya ke Apidog. Alat ini tidak memiliki pengkodean protobuf bawaan, tetapi menangani transport dengan benar.

Pengujian dengan sertifikat SSL kustom

Backend IoT sering berjalan di jaringan privat dengan sertifikat self-signed, atau menggunakan pin sertifikat. Pengaturan SSL Apidog memungkinkan Anda untuk:

Untuk lingkungan pengembangan dengan sertifikat self-signed, menonaktifkan verifikasi SSL segera membuka blokir Anda. Untuk pengujian produksi, muat sertifikat CA Anda untuk memvalidasi sertifikat server dengan benar.


Pengujian WebSocket untuk aliran perangkat IoT

Platform IoT semakin banyak menawarkan titik akhir WebSocket untuk komunikasi perangkat real-time. Kasus penggunaan umum:

Aliran bayangan/kembar perangkat: Beberapa platform (AWS IoT, Azure IoT) menyediakan titik akhir WebSocket yang mengalirkan pembaruan bayangan perangkat. Ketika perangkat melaporkan status, cloud mencerminkannya melalui koneksi WebSocket ke klien yang berlangganan.

Aliran telemetri langsung: Dasbor tampilan data sensor real-time terhubung melalui WebSocket ke titik akhir streaming telemetri.

Pengiriman perintah: Beberapa platform mengirimkan perintah real-time ke perangkat online melalui WebSocket daripada menunggu perangkat untuk melakukan polling.

Menguji ini dengan klien WebSocket Apidog:

  1. Sambungkan ke URL WebSocket dengan header otentikasi yang diperlukan (biasanya token Bearer atau kunci API)
  2. Kirim pesan langganan jika protokol membutuhkannya (misalnya, berlangganan aliran peristiwa perangkat)
  3. Amati aliran pesan masuk di log pesan
  4. Kirim pesan perintah uji dan verifikasi perilaku di sisi perangkat

Untuk platform yang menggunakan subprotokol (header Sec-WebSocket-Protocol), Apidog mendukung penentuan subprotokol dalam konfigurasi koneksi.


Apa yang digunakan untuk pengujian MQTT

Karena Apidog tidak mendukung MQTT, berikut adalah pengaturan pengujian MQTT praktis:

MQTTX adalah klien MQTT umum yang paling mumpuni. Ini memiliki GUI desktop, mendukung semua versi protokol MQTT (3.1.1 dan 5.0), menangani koneksi TLS/mTLS, dan menyertakan mode skrip untuk urutan pesan otomatis. Untuk pengujian MQTT interaktif, MQTTX adalah titik awal terbaik.

MQTT Explorer lebih sederhana dan sangat baik untuk menjelajahi pohon topik secara visual. Jika kebutuhan utama Anda adalah memahami pesan apa yang mengalir melalui broker, MQTT Explorer membuatnya terlihat.

Alat CLI mosquitto (mosquitto_pub, mosquitto_sub) tersedia di sebagian besar mesin pengembangan (melalui manajer paket) dan berfungsi dengan baik untuk pengujian cepat yang di-skrip. Jika Anda perlu menyalurkan data uji ke topik MQTT atau berlangganan dan mencatat pesan masuk, alat CLI seringkali lebih cepat daripada GUI.

Untuk integrasi CI/CD, kode uji kustom menggunakan pustaka MQTT asli bahasa (paho-mqtt untuk Python, MQTT.js untuk Node) adalah pendekatan yang paling fleksibel.


Pengaturan pengujian backend IoT praktis

Struktur lingkungan 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

Struktur folder:

Daftar periksa pengujian payload biner:


FAQ

Apakah Apidog mendukung pengujian MQTT?Tidak. Apidog tidak memiliki dukungan MQTT native. Untuk pengujian MQTT, gunakan MQTTX, MQTT Explorer, atau alat CLI mosquitto. Apidog mencakup lapisan HTTP dan WebSocket dari backend IoT Anda, bukan lapisan broker MQTT.

Bisakah Apidog menguji titik akhir CoAP?Tidak. CoAP berjalan di atas UDP, yang tidak didukung Apidog. Untuk pengujian CoAP, gunakan copper4cr atau libcoap.

Bagaimana cara menguji payload protobuf biner di Apidog?Kodekan pesan protobuf Anda menjadi biner menggunakan pustaka protobuf bahasa Anda, lalu konversikan ke heksa atau base64. Di Apidog, setel badan ke biner mentah dan tempel payload yang dikodekan. Setel Content-Type ke application/protobuf atau apa pun yang diharapkan platform Anda.

Apakah Apidog mendukung mTLS untuk otentikasi sertifikat perangkat?Ya. Pengaturan SSL Apidog memungkinkan Anda memuat sertifikat klien dan kunci privat untuk koneksi mTLS. Ini mencakup pengujian titik akhir yang memerlukan otentikasi sertifikat perangkat.

Bisakah kita menggunakan Apidog untuk menguji AWS IoT Core, Azure IoT Hub, atau Google Cloud IoT?Ya, untuk API REST HTTP dari platform ini. AWS IoT Core memiliki API manajemen REST, Azure IoT Hub memiliki titik akhir REST untuk manajemen perangkat dan pemanggilan metode langsung, dan Google Cloud IoT Core memiliki API REST. Semuanya dapat diuji dengan Apidog. Koneksi MQTT ke platform ini memerlukan MQTTX atau yang serupa.

Apa pendekatan terbaik untuk menguji pengkodean telemetri biner bandwidth rendah?Buat perlengkapan uji dari payload biner yang diketahui (valid, terpotong, cacat) menggunakan pustaka pengkodean Anda. Simpan ini sebagai variabel lingkungan atau file uji. Gunakan Apidog untuk mengirimnya ke titik akhir penyerapan Anda dan verifikasi kode respons dan perilaku pemrosesannya.

Pengembangan backend IoT mencakup protokol yang tidak dapat dicakup sepenuhnya oleh satu alat pun. Jawaban jujurnya adalah Anda memerlukan setidaknya dua alat: satu untuk pengujian MQTT dan satu untuk REST/WebSocket. Apidog menangani lapisan HTTP secara menyeluruh – provisioning, manajemen, penyerapan telemetri, payload biner, mTLS, dan aliran WebSocket. Untuk MQTT, MQTTX atau mosquitto mengisi celah tersebut. Mengetahui alat mana yang harus digunakan dan kapan lebih berguna daripada berpura-pura satu alat mencakup semuanya.

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.