Sebelum menghubungkan perangkat ke IoT Platform, Anda harus mendaftarkannya terlebih dahulu agar IoT Platform dapat mengidentifikasi perangkat tersebut.
Ikhtisar
Anda dapat menggunakan metode berikut untuk mendaftarkan perangkat:
Verifikasi sertifikat unik per perangkat: Buat perangkat di IoT Platform, dapatkan sertifikat perangkat, dan gunakan informasi sertifikat sebagai pengenal unik. Informasi sertifikat mencakup ProductKey, DeviceName, dan DeviceSecret. Bakar informasi sertifikat ke dalam firmware perangkat. Setelah perangkat terhubung ke IoT Platform, perangkat dapat berkomunikasi dengan IoT Platform. Untuk informasi lebih lanjut, lihat Verifikasi sertifikat unik per perangkat.
Tabel berikut menjelaskan protokol yang dapat digunakan untuk mendaftarkan perangkat.
Perangkat
Protokol yang didukung
Pendaftaran perangkat
Referensi
Perangkat yang terhubung langsung
MQTT
HTTPS
Gateway dan sub-perangkat
MQTT
Verifikasi sertifikat unik per produk: Bakar sertifikat produk ke semua perangkat dari produk tersebut. Sertifikat produk mencakup ProductKey dan ProductSecret. Aktifkan fitur pendaftaran dinamis untuk produk tempat perangkat Anda termasuk.
Metode pendaftaran dinamis berikut didukung:
Prapendaftaran: Jika menggunakan metode ini, daftarkan perangkat di konsol IoT Platform. Perangkat akan didaftarkan secara dinamis untuk mendapatkan DeviceSecret.
Tanpa prapendaftaran: Jika menggunakan metode ini, Anda tidak perlu mendaftarkan perangkat di konsol IoT Platform. Perangkat akan didaftarkan secara dinamis untuk mendapatkan ClientID dan DeviceToken.
CatatanAnda tidak dapat menerapkan verifikasi sertifikat unik per produk tanpa prapendaftaran melalui HTTPS.
Untuk informasi lebih lanjut tentang cara mendaftarkan perangkat, lihat Verifikasi sertifikat unik per produk. Sub-perangkat gateway hanya mendukung metode prapendaftaran. Untuk informasi lebih lanjut tentang proses pendaftaran, lihat Gateway dan sub-perangkat.
Tabel berikut menjelaskan protokol yang dapat digunakan untuk mendaftarkan perangkat.
Perangkat
Protokol yang didukung
Pendaftaran perangkat
Deskripsi format data
Perangkat yang terhubung langsung
MQTT
HTTPS
Gateway dan sub-perangkat
MQTT
Pendaftaran dinamis berbasis MQTT untuk sub-perangkat
Topik permintaan:
/sys/{productKey}/{deviceName}/thing/sub/registerTopik respons:
/sys/{productKey}/{deviceName}/thing/sub/register_reply
Contoh permintaan:
{
"id": "123",
"version": "1.0",
"sys":{
"ack":0
},
"params": [
{
"deviceName": "deviceName1234",
"productKey": "a1234******"
}
],
"method": "thing.sub.register"
}Contoh respons:
{
"id": "123",
"code": 200,
"data": [
{
"iotId": "12344",
"productKey": "a1234******",
"deviceName": "deviceName1234",
"deviceSecret": "xxxxxx"
}
]
}Tabel berikut menjelaskan parameter.
Parameter | Tipe data | Deskripsi |
id | String | ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat. |
version | String | Nomor versi protokol. Atur nilai menjadi 1.0. |
sys | Objek | Parameter untuk fitur ekstensi. Nilainya berisi bidang untuk setiap fitur. Catatan Jika tidak ada fitur ekstensi yang dikonfigurasikan saat Anda menggunakan SDK perangkat untuk mengembangkan fitur perangkat, parameter ini tidak tersedia. Fitur ekstensi menggunakan konfigurasi default. |
ack | Integer | Bidang fitur ekstensi dalam parameter sys. Bidang ini menentukan apakah IoT Platform mengembalikan data respons untuk permintaan pendaftaran. Nilai valid:
Penting Untuk informasi lebih lanjut tentang parameter, lihat Contoh penggunaan model TSL. Jika fitur tidak dikonfigurasikan, parameter ini tidak tersedia. Secara default, IoT Platform mengembalikan data respons untuk permintaan pendaftaran. |
params | Daftar | Parameter yang digunakan untuk pendaftaran dinamis. |
deviceName | String | DeviceName dari sub-perangkat. |
productKey | String | ProductKey dari produk tempat sub-perangkat tersebut termasuk. |
iotId | String | Pengenal unik dari sub-perangkat. |
deviceSecret | String | DeviceSecret dari perangkat. |
method | String | Metode permintaan. Atur nilai menjadi thing.sub.register. |
code | Integer | Kode status yang menunjukkan hasilnya. |
Tabel berikut menjelaskan kode kesalahan.
Kode kesalahan | Pesan | Deskripsi |
460 | request parameter error | Parameter permintaan tidak valid. |
6402 | topo relation cannot add by self | Perangkat tidak dapat ditambahkan sebagai sub-perangkat dari dirinya sendiri. |
401 | request auth error | Sistem gagal memverifikasi tanda tangan. |
Pendaftaran dinamis berbasis HTTPS untuk perangkat yang terhubung langsung
Format URL:
https://iot-auth.${YourRegionId}.aliyuncs.com/auth/register/deviceMetode HTTP: POST.
Contoh permintaan:
POST /auth/register/device HTTP/1.1 Host: iot-auth.cn-shanghai.aliyuncs.com Content-Type: application/x-www-form-urlencoded Content-Length: 123 productKey=a1234******&deviceName=deviceName1234&random=567345&sign=adfv123hdfdh&signMethod=HmacMD5Contoh respons:
{ "code": 200, "data": { "productKey": "a1234******", "deviceName": "deviceName1234", "deviceSecret": "adsfw******" }, "message": "success" }Tabel berikut menjelaskan parameter.
Parameter
Tipe data
Deskripsi
Method
String
Metode permintaan. Nilai valid: POST.
Host
String
Titik akhir yang digunakan untuk mendaftarkan perangkat secara dinamis melalui HTTPS. Format:
iot-auth.${YourRegionId}.aliyuncs.com.${YourRegionId}: Ganti variabel ini dengan ID wilayah tempat perangkat IoT Platform Anda berada.Wilayah berikut mendukung pendaftaran dinamis berbasis HTTPS: semua wilayah kecuali wilayah China (Beijing) dan China (Shenzhen).
Untuk informasi tentang format ID wilayah, lihat Wilayah yang didukung.
Content-Type
String
Format penyandian data upstream yang dikirim perangkat ke IoT Platform.
productKey
String
Pengenal unik dari produk.
deviceName
String
DeviceName dari perangkat.
random
String
String acak.
sign
String
Tanda tangan.
Anda dapat membuat tanda tangan menggunakan metode berikut:
Urutkan semua parameter yang dikirimkan ke IoT Platform, kecuali sign dan signMethod, dalam urutan abjad, dan gabungkan parameter dan nilai secara berurutan tanpa operator penggabungan.
Gunakan metode tanda tangan yang ditentukan oleh parameter signMethod dan ProductSecret dari produk untuk menghasilkan tanda tangan.
Contoh:
hmac_sha1(productSecret, deviceNamedeviceName1234productKeya1234******random123)signMethod
String
Metode tanda tangan. Nilai valid: hmacmd5, hmacsha1, dan hmacsha256.
code
Integer
Kode status yang menunjukkan hasilnya.
deviceSecret
String
DeviceSecret dari perangkat.