JSON, method, status code — cara device "berbicara" dengan cloud API.
HTTP adalah protokol "universal" — semua platform cloud memilikinya. Untuk IoT, HTTP dipakai lewat REST API: endpoint dengan path bermakna + data JSON.
| Method | Arti | Contoh IoT |
|---|---|---|
GET | Ambil data | GET /api/suhu?device=sensor-01 |
POST | Kirim data baru | POST /api/data dengan body JSON |
PUT | Ganti data | PUT /api/lampu/1 → {"nyala": true} |
DELETE | Hapus data | DELETE /api/device/sensor-09 |
| Status Code | Arti |
|---|---|
200 | OK — sukses |
201 | Created — data baru tersimpan |
400 | Bad Request — format salah |
401 / 403 | Unauthenticated / Forbidden — token salah/tidak berhak |
404 | Not Found — path tidak dikenal |
500 | Server Error — masalah di server |
Di simulator, MockServer berperan sebagai cloud API.
Daftarkan handler-nya, lalu POST data JSON dari "device".
| Aspek | MQTT | HTTP/REST |
|---|---|---|
| Model | Pub/sub via broker | Request/response langsung |
| Koneksi | Long-lived (1 koneksi, banyak pesan) | Short-lived (per request) |
| Overhead | Sangat kecil (header 2 byte) | Lebih besar (header per request) |
| Dari cloud ke device | Mudah (cukup publish) | Sulit (device harus polling / webhook) |
| Use case | Telemetri kontinu, kontrol real-time | Sinkron sesekali, integrasi sistem, OTA |
GET /api/terakhir yang mengembalikan data sensor terakhir yang di-POST (simpan di variabel luar handler).POST /api/data yang mengembalikan 400 (pakai Response(400, {...})) jika body tidak punya kunci "device". Uji dengan dan tanpa kunci.PUT /api/lampu/1 yang menyimpan state nyala/mati, lalu GET /api/lampu/1 untuk membacanya. Simulasikan 3 perintah dari "aplikasi HP".