全部产品
Search
文档中心

IoT Platform:Menghubungkan atau memutuskan perangkat sub

更新时间:Jul 02, 2025

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.

Catatan
  • 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
Catatan Perangkat sub menggunakan gateway untuk berkomunikasi dengan IoT Platform. Topik-topik tersebut terkait dengan gateway. Ganti variabel ${productKey} dan ${deviceName} dalam topik-topik tersebut dengan informasi tentang gateway.

Contoh permintaan dalam format JSON Alink:

{
  "id": "123",
  "params": {
    "productKey": "al12345****",
    "deviceName": "device1234",
    "clientId": "al12345****&device1234",
    "timestamp": "1581417203000",
    "signMethod": "hmacmd5",
    "sign": "9B9C732412A4F84B981E1AB97CAB****",
    "cleanSession": "true"
  }
}
Catatan Ganti nilai parameter productKey dan deviceName dalam badan pesan dengan informasi yang sesuai tentang perangkat sub.
Tabel 1. Parameter Permintaan
ParameterTipeDeskripsi
idStringID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat.
paramsObjectParameter permintaan. Untuk informasi lebih lanjut, lihat tabel params berikut.
Tabel 2. params
ParameterTipeDeskripsi
deviceNameStringNama perangkat sub.
productKeyStringKunci produk tempat perangkat sub milik.
signString

Tanda tangan perangkat sub. Prosedur penandatanganan perangkat sub sama dengan prosedur penandatanganan perangkat yang terhubung langsung.

Prosedur:

  1. Urutkan semua parameter yang dikirimkan ke server secara alfabetis dan gabungkan parameter dan nilainya. Tidak diperlukan simbol penggabungan untuk memisahkan parameter dan nilai ini. Parameter sign, signMethod, dan cleanSession harus dikecualikan.
  2. Gunakan algoritma yang ditentukan oleh parameter signMethod dan nilai parameter DeviceSecret untuk menghitung tanda tangan.

    Gunakan hasil perhitungan sebagai nilai parameter sign.

Contoh cara menghitung nilai parameter sign:

hmac_md5(deviceSecret, clientIdal12345****&device1234deviceNamedevice1234productKeyal12345****timestamp1581417203000)
signMethodStringAlgoritma tanda tangan. Nilai valid: hmacSha1, hmacSha256, hmacMd5, dan Sha256.
timestampStringNilainya adalah cap waktu dalam milidetik.
clientIdStringID perangkat. Anda dapat mengatur parameter ini ke nilai yang menggabungkan kunci produk dan nama perangkat berdasarkan sintaksis berikut: productKey&deviceName.
cleanSessionString
  • Jika parameter ini disetel ke true, semua pesan QoS 1 yang tidak diterima saat perangkat sub terputus akan dihapus.
  • Jika parameter ini disetel ke false, semua pesan yang tidak diterima saat perangkat sub terputus akan tetap ada.

Contoh respons dalam format JSON Alink:

{
  "id":"123",
  "code":200,
  "message":"success"
  "data":{
      "deviceName": "device1234",
      "productKey": "al12345****"
    }
}
Tabel 3. Parameter Respons
ParameterTipeDeskripsi
idStringID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat.
codeIntegerKode status. Nilai 200 menunjukkan bahwa permintaan berhasil.
messageStringPesan respons.
dataObjectInformasi perangkat sub yang dikembalikan terlepas dari apakah permintaan berhasil atau gagal. Untuk informasi lebih lanjut, lihat tabel data berikut.
Tabel 4. data
ParameterTipeDeskripsi
deviceNameStringNama perangkat sub.
productKeyStringKunci produk tempat perangkat sub milik.

Pesan Kesalahan:

Kode kesalahanPesan kesalahanCatatan
460kesalahan parameter permintaanPesan kesalahan yang dikembalikan karena parameter permintaan tidak valid.
429batas laju, terlalu banyak pesan subDeviceOnline dalam satu menitPesan kesalahan yang dikembalikan karena jumlah permintaan autentikasi yang dikirim dari perangkat melebihi batas. Perangkat dibatasi.
428terlalu banyak perangkat sub di bawah gatewayPesan kesalahan yang dikembalikan karena jumlah perangkat sub yang terhubung melebihi batas.
6401hubungan topo tidak adaPesan kesalahan yang dikembalikan karena hubungan topologi antara gateway dan perangkat sub tidak ada.
6100perangkat tidak ditemukanPesan kesalahan yang dikembalikan karena perangkat sub tidak ada.
521perangkat dihapusPesan kesalahan yang dikembalikan karena perangkat sub dihapus.
522perangkat dilarangPesan kesalahan yang dikembalikan karena perangkat sub dinonaktifkan.
6287tanda tangan tidak validPesan kesalahan yang dikembalikan karena kata sandi atau tanda tangan perangkat sub tidak valid.

Menghubungkan perangkat sub secara massal

Penting Anda dapat menghubungkan maksimal 50 perangkat sub ke IoT Platform sekaligus.

Data upstream:

  • Topik permintaan: /ext/session/${productKey}/${deviceName}/combine/login
  • Topik respons: /ext/session/${productKey}/${deviceName}/combine/batch_login_reply
Catatan Perangkat sub menggunakan gateway untuk berkomunikasi dengan IoT Platform. Topik-topik tersebut terkait dengan gateway. Ganti variabel ${productKey} dan ${deviceName} dalam topik-topik tersebut dengan informasi tentang gateway.

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****",
     }]
  }
}
Catatan Ganti nilai parameter productKey dan deviceName dalam badan pesan dengan informasi yang sesuai tentang perangkat sub.
Tabel 5. Parameter Permintaan
ParameterTipeDeskripsi
idStringID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat.
paramsObjectParameter permintaan. Parameter deviceList mencakup parameter yang diperlukan untuk mengautentikasi perangkat sub yang ingin Anda hubungkan. Untuk informasi lebih lanjut, lihat tabel deviceList berikut.
Tabel 6. deviceList

Contoh respons dalam format JSON Alink:

{
  "id":"123",
  "code":"200",
  "message":"success",
  "data":[{
      "productKey": "al12345****",
      "deviceName": "device1234"
    },{
      "deviceName": "device4321",
      "productKey": "al12345****"
    }]
}
Tabel 3. Parameter Respons
ParameterTipeDeskripsi
idStringID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat.
codeIntegerKode status. Nilai 200 menunjukkan bahwa permintaan berhasil.
messageStringPesan respons.
dataObjectInformasi perangkat sub yang dikembalikan terlepas dari apakah permintaan berhasil atau gagal. Untuk informasi lebih lanjut, lihat tabel data berikut.
Tabel 4. data
ParameterTipeDeskripsi
deviceNameStringNama perangkat sub.
productKeyStringKunci produk tempat perangkat sub milik.

Pesan Kesalahan:

Kode kesalahanPesan kesalahanCatatan
460kesalahan parameter permintaanPesan kesalahan yang dikembalikan karena parameter permintaan tidak valid.
429batas laju, terlalu banyak pesan subDeviceOnline dalam satu menitPesan kesalahan yang dikembalikan karena jumlah permintaan autentikasi yang dikirim dari perangkat melebihi batas. Perangkat dibatasi.
428terlalu banyak perangkat sub di bawah gatewayPesan kesalahan yang dikembalikan karena jumlah perangkat sub yang terhubung melebihi batas.
6401hubungan topo tidak adaPesan kesalahan yang dikembalikan karena hubungan topologi antara gateway dan perangkat sub tidak ada.
6100perangkat tidak ditemukanPesan kesalahan yang dikembalikan karena perangkat sub tidak ada.
521perangkat dihapusPesan kesalahan yang dikembalikan karena perangkat sub dihapus.
522perangkat dilarangPesan kesalahan yang dikembalikan karena perangkat sub dinonaktifkan.
6287tanda tangan tidak validPesan 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
Catatan Perangkat sub menggunakan gateway untuk berkomunikasi dengan IoT Platform. Topik-topik tersebut terkait dengan gateway. Ganti variabel ${productKey} dan ${deviceName} dalam topik-topik tersebut dengan informasi tentang gateway.

Contoh permintaan dalam format JSON Alink:

{
  "id": "123",
  "params": {
    "productKey": "al12345****",
    "deviceName": "device1234"
  }
}
Catatan Ganti nilai parameter productKey dan deviceName dalam badan pesan dengan informasi yang sesuai tentang perangkat sub.
Tabel 7. Parameter Permintaan
ParameterTipeDeskripsi
idStringID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat.
paramsObjectParameter permintaan. Parameter ini menentukan informasi tentang perangkat sub yang ingin Anda putuskan.
Tabel 8. params
ParameterTipeDeskripsi
deviceNameStringNama perangkat sub.
productKeyStringKunci produk tempat perangkat sub milik.

Contoh respons dalam format JSON Alink:

{
  "id": "123",
  "code": 200,
  "message": "success",
  "data": {
      "deviceName": "device1234",
      "productKey": "al12345****"
    }
}
Tabel 9. Parameter Respons
ParameterTipeDeskripsi
idStringID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat.
codeIntegerKode status. Nilai 200 menunjukkan bahwa permintaan berhasil.
messageStringPesan respons.
dataObjectInformasi perangkat sub yang dikembalikan terlepas dari apakah permintaan berhasil atau gagal. Untuk informasi lebih lanjut, lihat tabel data berikut.
Tabel 10. data
ParameterTipeDeskripsi
deviceNameStringNama perangkat sub.
productKeyStringKunci produk tempat perangkat sub milik.

Pesan Kesalahan:

Kode kesalahanPesan kesalahanCatatan
460kesalahan parameter permintaanPesan kesalahan yang dikembalikan karena parameter permintaan tidak valid.
520perangkat tanpa sesiPesan kesalahan yang dikembalikan karena sesi perangkat sub tidak ada.

Memutuskan beberapa perangkat sub secara massal

Penting Anda dapat memutuskan maksimal 50 perangkat sub dari IoT Platform sekaligus.

Data upstream:

  • Topik permintaan: /ext/session/${productKey}/${deviceName}/combine/batch_logout
  • Topik respons: /ext/session/${productKey}/${deviceName}/combine/batch_logout_reply
Catatan Perangkat sub menggunakan gateway untuk berkomunikasi dengan IoT Platform. Topik-topik tersebut terkait dengan gateway. Ganti variabel ${productKey} dan ${deviceName} dalam topik-topik tersebut dengan informasi tentang gateway.

Contoh permintaan dalam format JSON Alink:

{
  "id": "123",
  "params":[{
            "productKey": "al12345****",
            "deviceName": "device1234"
          },{
            "productKey": "al12345****",
            "deviceName": "device4321"
      }]
}
Catatan Ganti nilai parameter productKey dan deviceName dalam badan pesan dengan informasi yang sesuai tentang perangkat sub.
Tabel 7. Parameter Permintaan
ParameterTipeDeskripsi
idStringID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat.
paramsObjectParameter permintaan. Parameter ini menentukan informasi tentang perangkat sub yang ingin Anda putuskan.
Tabel 8. params
ParameterTipeDeskripsi
deviceNameStringNama perangkat sub.
productKeyStringKunci 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****"
    }]
}
Tabel 9. Parameter Respons
ParameterTipeDeskripsi
idStringID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat.
codeIntegerKode status. Nilai 200 menunjukkan bahwa permintaan berhasil.
messageStringPesan respons.
dataObjectInformasi perangkat sub yang dikembalikan terlepas dari apakah permintaan berhasil atau gagal. Untuk informasi lebih lanjut, lihat tabel data berikut.
Tabel 10. data
ParameterTipeDeskripsi
deviceNameStringNama perangkat sub.
productKeyStringKunci produk tempat perangkat sub milik.

Pesan Kesalahan:

Kode kesalahanPesan kesalahanDeskripsi
460kesalahan parameter permintaanPesan kesalahan yang dikembalikan karena parameter permintaan tidak valid.
520perangkat tanpa sesiPesan 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.