Anda dapat menghubungkan atau memutuskan perangkat sub secara individu maupun dalam jumlah besar. Sebelum menghubungkan perangkat sub, Anda harus mendaftarkannya di IoT Platform untuk menetapkan hubungan topologi antara perangkat sub dan gateway. Saat terhubung, IoT Platform akan memverifikasi identitas perangkat sub berdasarkan hubungan topologi tersebut guna menentukan apakah perangkat sub dapat mengakses gateway.
- Hanya pesan dengan kualitas layanan (QoS) 0 yang dapat dikirimkan antara perangkat sub dan IoT Platform.
- Jumlah perangkat sub yang terhubung ke IoT Platform tidak boleh melebihi 2.000 untuk satu gateway. Jika jumlah perangkat sub mencapai 2.000, IoT Platform akan menolak semua permintaan koneksi tambahan.
- Jumlah perangkat sub yang terhubung atau diputuskan dalam satu proses tidak boleh lebih dari 50.
- Jika permintaan untuk menghubungkan atau memutuskan beberapa perangkat sub berhasil, semua perangkat sub akan terhubung atau diputuskan sesuai harapan. Namun, jika permintaan gagal, semua perangkat sub juga akan gagal terhubung atau diputuskan, dan parameter respons data akan berisi informasi perangkat.
Menghubungkan perangkat sub ke IoT Platform
Data upstream:
- Topik permintaan:
/ext/session/${productKey}/${deviceName}/combine/login - Topik respons:
/ext/session/${productKey}/${deviceName}/combine/login_reply
Contoh permintaan dalam format JSON Alink:
{
"id": "123",
"params": {
"productKey": "al12345****",
"deviceName": "device1234",
"clientId": "al12345****&device1234",
"timestamp": "1581417203000",
"signMethod": "hmacmd5",
"sign": "9B9C732412A4F84B981E1AB97CAB****",
"cleanSession": "true"
}
}| Parameter | Tipe | Deskripsi |
| id | String | ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat. |
| params | Object | Parameter permintaan. Untuk informasi lebih lanjut, lihat tabel params berikut. |
| Parameter | Tipe | Deskripsi |
| deviceName | String | Nama perangkat sub. |
| productKey | String | Kunci produk tempat perangkat sub milik. |
| sign | String | Tanda tangan perangkat sub. Prosedur penandatanganan perangkat sub sama dengan prosedur penandatanganan perangkat yang terhubung langsung. Prosedur:
Contoh cara menghitung nilai parameter sign: |
| signMethod | String | Algoritma tanda tangan. Nilai valid: hmacSha1, hmacSha256, hmacMd5, dan Sha256. |
| timestamp | String | Nilainya adalah cap waktu dalam milidetik. |
| clientId | String | ID perangkat. Anda dapat mengatur parameter ini ke nilai yang menggabungkan kunci produk dan nama perangkat berdasarkan sintaksis berikut: productKey&deviceName. |
| cleanSession | String |
|
Contoh respons dalam format JSON Alink:
{
"id":"123",
"code":200,
"message":"success"
"data":{
"deviceName": "device1234",
"productKey": "al12345****"
}
}| Parameter | Tipe | Deskripsi |
| id | String | ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat. |
| code | Integer | Kode status. Nilai 200 menunjukkan bahwa permintaan berhasil. |
| message | String | Pesan respons. |
| data | Object | Informasi perangkat sub yang dikembalikan terlepas dari apakah permintaan berhasil atau gagal. Untuk informasi lebih lanjut, lihat tabel data berikut. |
| Parameter | Tipe | Deskripsi |
| deviceName | String | Nama perangkat sub. |
| productKey | String | Kunci produk tempat perangkat sub milik. |
Pesan Kesalahan:
| Kode kesalahan | Pesan kesalahan | Catatan |
| 460 | kesalahan parameter permintaan | Pesan kesalahan yang dikembalikan karena parameter permintaan tidak valid. |
| 429 | batas laju, terlalu banyak pesan subDeviceOnline dalam satu menit | Pesan kesalahan yang dikembalikan karena jumlah permintaan autentikasi yang dikirim dari perangkat melebihi batas. Perangkat dibatasi. |
| 428 | terlalu banyak perangkat sub di bawah gateway | Pesan kesalahan yang dikembalikan karena jumlah perangkat sub yang terhubung melebihi batas. |
| 6401 | hubungan topo tidak ada | Pesan kesalahan yang dikembalikan karena hubungan topologi antara gateway dan perangkat sub tidak ada. |
| 6100 | perangkat tidak ditemukan | Pesan kesalahan yang dikembalikan karena perangkat sub tidak ada. |
| 521 | perangkat dihapus | Pesan kesalahan yang dikembalikan karena perangkat sub dihapus. |
| 522 | perangkat dilarang | Pesan kesalahan yang dikembalikan karena perangkat sub dinonaktifkan. |
| 6287 | tanda tangan tidak valid | Pesan kesalahan yang dikembalikan karena kata sandi atau tanda tangan perangkat sub tidak valid. |
Menghubungkan perangkat sub secara massal
Data upstream:
- Topik permintaan:
/ext/session/${productKey}/${deviceName}/combine/login - Topik respons:
/ext/session/${productKey}/${deviceName}/combine/batch_login_reply
Contoh permintaan dalam format JSON Alink:
{
"id": "123",
"params":{
"deviceList":[{
"productKey": "al12345****",
"deviceName": "device1234",
"clientId": "al12345****&device1234",
"timestamp": "1581417203000",
"cleanSession": "false",
"signMethod": "hmacmd5",
"sign": "9B9C732412A4F84B981E1AB97CAB****",
}, {
"productKey": "al12345****",
"deviceName": "device4321",
"clientId": "al12345****&device4321",
"timestamp": "1581417203000",
"cleanSession": "true",
"signMethod": "hmacmd5",
"sign": "9B9C732412A4F84B981E1AB97CAB****",
}]
}
}| Parameter | Tipe | Deskripsi |
| id | String | ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat. |
| params | Object | Parameter permintaan. Parameter deviceList mencakup parameter yang diperlukan untuk mengautentikasi perangkat sub yang ingin Anda hubungkan. Untuk informasi lebih lanjut, lihat tabel deviceList berikut. |
Contoh respons dalam format JSON Alink:
{
"id":"123",
"code":"200",
"message":"success",
"data":[{
"productKey": "al12345****",
"deviceName": "device1234"
},{
"deviceName": "device4321",
"productKey": "al12345****"
}]
}| Parameter | Tipe | Deskripsi |
| id | String | ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat. |
| code | Integer | Kode status. Nilai 200 menunjukkan bahwa permintaan berhasil. |
| message | String | Pesan respons. |
| data | Object | Informasi perangkat sub yang dikembalikan terlepas dari apakah permintaan berhasil atau gagal. Untuk informasi lebih lanjut, lihat tabel data berikut. |
| Parameter | Tipe | Deskripsi |
| deviceName | String | Nama perangkat sub. |
| productKey | String | Kunci produk tempat perangkat sub milik. |
Pesan Kesalahan:
| Kode kesalahan | Pesan kesalahan | Catatan |
| 460 | kesalahan parameter permintaan | Pesan kesalahan yang dikembalikan karena parameter permintaan tidak valid. |
| 429 | batas laju, terlalu banyak pesan subDeviceOnline dalam satu menit | Pesan kesalahan yang dikembalikan karena jumlah permintaan autentikasi yang dikirim dari perangkat melebihi batas. Perangkat dibatasi. |
| 428 | terlalu banyak perangkat sub di bawah gateway | Pesan kesalahan yang dikembalikan karena jumlah perangkat sub yang terhubung melebihi batas. |
| 6401 | hubungan topo tidak ada | Pesan kesalahan yang dikembalikan karena hubungan topologi antara gateway dan perangkat sub tidak ada. |
| 6100 | perangkat tidak ditemukan | Pesan kesalahan yang dikembalikan karena perangkat sub tidak ada. |
| 521 | perangkat dihapus | Pesan kesalahan yang dikembalikan karena perangkat sub dihapus. |
| 522 | perangkat dilarang | Pesan kesalahan yang dikembalikan karena perangkat sub dinonaktifkan. |
| 6287 | tanda tangan tidak valid | Pesan kesalahan yang dikembalikan karena kata sandi atau tanda tangan perangkat sub tidak valid. |
Memutuskan perangkat sub dari IoT Platform
Data upstream:
- Topik permintaan:
/ext/session/${productKey}/${deviceName}/combine/logout - Topik respons:
/ext/session/${productKey}/${deviceName}/combine/logout_reply
Contoh permintaan dalam format JSON Alink:
{
"id": "123",
"params": {
"productKey": "al12345****",
"deviceName": "device1234"
}
}| Parameter | Tipe | Deskripsi |
| id | String | ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat. |
| params | Object | Parameter permintaan. Parameter ini menentukan informasi tentang perangkat sub yang ingin Anda putuskan. |
| Parameter | Tipe | Deskripsi |
| deviceName | String | Nama perangkat sub. |
| productKey | String | Kunci produk tempat perangkat sub milik. |
Contoh respons dalam format JSON Alink:
{
"id": "123",
"code": 200,
"message": "success",
"data": {
"deviceName": "device1234",
"productKey": "al12345****"
}
}| Parameter | Tipe | Deskripsi |
| id | String | ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat. |
| code | Integer | Kode status. Nilai 200 menunjukkan bahwa permintaan berhasil. |
| message | String | Pesan respons. |
| data | Object | Informasi perangkat sub yang dikembalikan terlepas dari apakah permintaan berhasil atau gagal. Untuk informasi lebih lanjut, lihat tabel data berikut. |
| Parameter | Tipe | Deskripsi |
| deviceName | String | Nama perangkat sub. |
| productKey | String | Kunci produk tempat perangkat sub milik. |
Pesan Kesalahan:
| Kode kesalahan | Pesan kesalahan | Catatan |
| 460 | kesalahan parameter permintaan | Pesan kesalahan yang dikembalikan karena parameter permintaan tidak valid. |
| 520 | perangkat tanpa sesi | Pesan kesalahan yang dikembalikan karena sesi perangkat sub tidak ada. |
Memutuskan beberapa perangkat sub secara massal
Data upstream:
- Topik permintaan:
/ext/session/${productKey}/${deviceName}/combine/batch_logout - Topik respons:
/ext/session/${productKey}/${deviceName}/combine/batch_logout_reply
Contoh permintaan dalam format JSON Alink:
{
"id": "123",
"params":[{
"productKey": "al12345****",
"deviceName": "device1234"
},{
"productKey": "al12345****",
"deviceName": "device4321"
}]
}| Parameter | Tipe | Deskripsi |
| id | String | ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat. |
| params | Object | Parameter permintaan. Parameter ini menentukan informasi tentang perangkat sub yang ingin Anda putuskan. |
| Parameter | Tipe | Deskripsi |
| deviceName | String | Nama perangkat sub. |
| productKey | String | Kunci produk tempat perangkat sub milik. |
Contoh respons dalam format JSON Alink:
{
"id":"123",
"code":"200",
"message":"success",
"data":[{
"productKey": "al12345****"
"deviceName": "device1234"
},{
"deviceName": "device4321",
"productKey": "al12345****"
}]
}| Parameter | Tipe | Deskripsi |
| id | String | ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat. |
| code | Integer | Kode status. Nilai 200 menunjukkan bahwa permintaan berhasil. |
| message | String | Pesan respons. |
| data | Object | Informasi perangkat sub yang dikembalikan terlepas dari apakah permintaan berhasil atau gagal. Untuk informasi lebih lanjut, lihat tabel data berikut. |
| Parameter | Tipe | Deskripsi |
| deviceName | String | Nama perangkat sub. |
| productKey | String | Kunci produk tempat perangkat sub milik. |
Pesan Kesalahan:
| Kode kesalahan | Pesan kesalahan | Deskripsi |
| 460 | kesalahan parameter permintaan | Pesan kesalahan yang dikembalikan karena parameter permintaan tidak valid. |
| 520 | perangkat tanpa sesi | Pesan kesalahan yang dikembalikan karena sesi perangkat sub tidak ada. |
Referensi
Untuk informasi lebih lanjut tentang cara menghubungkan perangkat sub ke IoT Platform, lihat Daftarkan Perangkat.
Untuk informasi lebih lanjut tentang kode kesalahan dan solusi, lihat Kode Kesalahan untuk Perangkat.