Anda dapat menghubungkan perangkat ke IoT Platform melalui MQTT. Artikel ini menjelaskan cara membangun koneksi MQTT berbasis IPv6 antara perangkat dan IoT Platform.
Batasan
Hanya wilayah China (Shanghai) yang mendukung koneksi MQTT berbasis IPv6.
Menghubungkan perangkat ke IoT Platform
- Unduh Sertifikat root yang digunakan untuk enkripsi TLS. Untuk informasi lebih lanjut tentang cara menggunakan Sertifikat root, lihat CA Certificates.
- Kembangkan perangkat Anda untuk mengonfigurasi koneksi MQTT.
Disarankan untuk menggunakan SDK perangkat yang disediakan oleh Alibaba Cloud agar terhubung ke IoT Platform. Jika Anda menggunakan SDK perangkat kustom, Anda harus mengonfigurasi mekanisme tanda tangan. Untuk informasi lebih lanjut, lihat Contoh Pembuatan Tanda Tangan untuk Koneksi MQTT.
Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter Deskripsi Nama domain dan port Nama domain adalah ipv6.itls.cn-shanghai.aliyuncs.comdan nomor port adalah 1883.Header variabel: Keep Alive Pesan CONNECT harus mencakup periode keep-alive. Nilai valid untuk periode keep-alive: 30 hingga 1.200 detik. Jika nilai parameter Keep Alive tidak dalam rentang ini, IoT Platform akan menolak koneksi. Kami merekomendasikan agar Anda menetapkan nilai yang lebih besar dari 300 detik. Jika koneksi jaringan tidak stabil, kami sarankan Anda menetapkan periode keep-alive dengan nilai tinggi. Parameter dalam pesan CONNECT MQTT mqttClientId: clientId+"|securemode=2,signmethod=hmacsha1,timestamp=132323232|" mqttUsername: deviceName+"&"+productKey mqttPassword: sign_hmac(deviceSecret,content)mqttPassword: kata sandi. Metode perhitungan: Urutkan secara alfabetis parameter yang dikirimkan ke server dan enkripsi parameter berdasarkan algoritma tanda tangan yang ditentukan.
content: string gabungan dari parameter yang dikirimkan ke server. Parameter ini mencakup productKey, deviceName, timestamp, dan clientId. Parameter diurutkan secara alfabetis dan digabungkan tanpa pemisah.
- clientId: ID klien. Kami merekomendasikan agar Anda menggunakan alamat MAC atau nomor seri (SN) perangkat sebagai ID klien. ID klien tidak boleh melebihi 64 karakter.
- timestamp: waktu saat ini, dalam milidetik. Parameter ini opsional.
- mqttClientId: Parameter tambahan ditempatkan di antara tanda vertikal (
|). - signmethod: algoritma tanda tangan. Nilai valid: hmacmd5, hmacsha1, hmacsha256, dan sha256. Nilai default: hmacmd5.
- securemode: mode keamanan. Tetapkan nilainya menjadi 2 (koneksi TLS langsung).
Contoh:
Asumsikan nilai-nilai berikut ditentukan:
clientId=12345, deviceName=device, productKey=pk, timestamp=789, signmethod=hmacsha1, deviceSecret=secret. Kode berikut menunjukkan parameter dalam pesan CONNECT MQTT yang dikirim melalui TCP:mqttclientId=12345|securemode=2,signmethod=hmacsha1,timestamp=789| mqttUsername=device&pk mqttPassword=hmacsha1("secret","clientId12345deviceNamedeviceproductKeypktimestamp789").toHexString();Kata sandi terenkripsi adalah string heksadesimal yang dikonversi dari string biner. Kode berikut menunjukkan hasilnya:
FAFD82A3D602B37FB0FA8B7892F24A477F85****