全部产品
Search
文档中心

IoT Platform:Koneksi MQTT berbasis IPv6

更新时间:Jun 21, 2025

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

  1. Unduh Sertifikat root yang digunakan untuk enkripsi TLS. Untuk informasi lebih lanjut tentang cara menggunakan Sertifikat root, lihat CA Certificates.
  2. 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.

    ParameterDeskripsi
    Nama domain dan portNama domain adalah ipv6.itls.cn-shanghai.aliyuncs.com dan nomor port adalah 1883.
    Header variabel: Keep AlivePesan 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****

Referensi

Membuat Koneksi MQTT Melalui TCP