All Products
Search
Document Center

IoT Platform:Menghubungkan ke Platform IoT menggunakan MQTT.fx

Last Updated:Jun 04, 2026

Gunakan MQTT.fx di Windows untuk mensimulasikan perangkat yang terhubung ke Platform IoT Alibaba Cloud dan menguji fitur inti pengiriman pesan.

Prasyarat

  • Produk dan perangkat telah dibuat, serta parameter koneksi MQTT telah diperoleh. Buat produk dan perangkat dan Dapatkan parameter koneksi MQTT.

    Tabel berikut mencantumkan sertifikat perangkat dan parameter koneksi MQTT yang digunakan dalam contoh ini. Untuk detail parameter, lihat Koneksi MQTT-TLS.

    Parameter

    Nilai

    ProductKey

    a1***

    DeviceName

    device1

    DeviceSecret

    f35***d9e

    clientId

    a1***.device1|securemode=2,signmethod=hmacsha256,timestamp=2524608000000|

    username

    device1&a1***

    passwd

    86761***21d

    mqttHostUrl

    a1***.iot-as-mqtt.cn-shanghai.aliyuncs.com

    port

    1883

  • Properti telah didefinisikan dalam model TSL untuk menguji pengiriman pesan upstream dan downstream melalui topik komunikasi TSL. Definisikan model TSL untuk produk.

    Contoh ini mendefinisikan properti berikut: LightCurrent (arus operasi, float, rentang 0–9) dan LightSwitch (sakelar lampu utama, boolean, 1 = nyala, 0 = mati).

Penting

Perangkat yang disimulasikan oleh MQTT.fx hanya dapat menggunakan data non-pass-through. Untuk menguji data pass-through, gunakan perangkat fisik atau SDK.

Konfigurasikan koneksi MQTT.fx

  1. Unduh dan instal MQTT.fx. Untuk instruksi instalasi dan penggunaan, lihat MQTT.fx.

    Topik ini menggunakan mqttfx-5.2.0-windows-x64 sebagai contoh. Antarmuka pengguna Anda mungkin berbeda karena pembaruan versi.

    Catatan

    Anda harus mengajukan permohonan lisensi untuk menggunakan tool MQTT.fx.

  2. Buka perangkat lunak MQTT.fx, klik Extras pada bilah menu, lalu pilih Edit Connection Profiles.

  3. Pada halaman Edit Connection Profiles, konfigurasikan parameter berikut.

    1. Konfigurasikan informasi dasar.

      Parameter

      Deskripsi

      Profile Name

      Masukkan nama kustom, seperti iot connection.

      Profile Type

      Pilih MQTT Broker.

      Broker Address

      Titik akhir koneksi MQTT. Gunakan mqttHostUrl dari bagian Prasyarat: a1***.iot-as-mqtt.cn-shanghai.aliyuncs.com.

      • a1*** adalah ProductKey produk.

      • cn-shanghai adalah ID wilayah.

      Masukkan hanya nama domain. Jangan sertakan nomor port.

      Broker Port

      Atur ke 1883.

      Client ID

      Bidang protokol MQTT.

      Format: ${ClientId}|securemode=${Mode},signmethod=${SignMethod}|timestamp=${timestamp}|.

      Masukkan clientId dari bagian Prasyarat: a1***.device1|securemode=2,signmethod=hmacsha256,timestamp=2524608000000|.

      Deskripsi parameter:

      • ${ClientId}: ID klien untuk perangkat, aplikasi, atau klien web.

        Penting

        Harus kustom dan panjangnya maksimal 64 karakter. Untuk perangkat, gunakan alamat MAC atau nomor seri (SN).

      • ${Mode}: Mode keamanan. Atur ke 2 untuk TLS langsung (memerlukan pengaturan SSL/TLS) atau 3 untuk TCP langsung (tidak memerlukan pengaturan SSL/TLS).

      • ${SignMethod}: Algoritma signature. Didukung: hmacsha256, hmacmd5, dan hmacsha1.

      • ${timestamp}: Waktu saat ini dalam milidetik. Parameter timestamp bersifat opsional.

      Secara default, Platform IoT menetapkan ${ClientId} ke ${ProductKey}.${DeviceName}, ${Mode} ke 2, dan ${SignMethod} ke hmacsha256. Ubah nilai-nilai ini sesuai kebutuhan.

      Penting
      • Jangan kelirukan antara bidang Client ID MQTT.fx dengan nilai ${ClientId} perangkat.

      • Jangan menghilangkan tanda vertikal (|) di antara parameter atau di akhir string.

      • Pastikan nilai parameter tidak memiliki spasi di awal atau akhir.

      • Setelah memasukkan informasi Client ID, jangan klik Generate.

      General

      Pengaturan default digunakan dalam contoh ini. Sesuaikan berdasarkan skenario Anda.

    2. Klik User Credentials, centang kotak Use Username/Password, lalu atur User Name dan Password.

      Parameter

      Deskripsi

      User Name

      Username terdiri dari DeviceName perangkat, tanda ampersand (&), dan ProductKey produk, dalam format ${DeviceName}&${ProductKey}.

      Masukkan username dari bagian Prasyarat: device1&a1***.

      • device1 adalah DeviceName perangkat.

      • a1*** adalah ProductKey produk.

      Password

      Password dihasilkan dengan mengenkripsi parameter yang digabungkan menggunakan DeviceSecret sebagai kunci, dengan algoritma signature yang dipilih.

      Masukkan passwd dari bagian Prasyarat: 86761***21d.

      Penting
      • Pada beberapa versi MQTT.fx, password disembunyikan setelah ditempelkan. Jika kursor berpindah ke akhir, penempelan berhasil. Jangan tempelkan lagi.

      • Parameter dan nilainya bersifat case-sensitive.

      • Jika Anda mengubah ${ClientId} atau ${SignMethod} di Client ID, pastikan nilai signature sesuai dengan yang ada di Client ID, lalu hitung ulang password. Hitung password menggunakan skrip Node.js.

    3. Untuk koneksi TLS langsung (securemode=2), klik SSL/TLS, centang Enable SSL/TLS, lalu atur Protocol ke TLSv1.2.

      Penting

      Untuk koneksi TCP langsung (securemode=3), Anda tidak perlu mengonfigurasi pengaturan SSL/TLS. Lanjutkan ke langkah berikutnya.

  4. Klik OK di pojok kanan bawah.

  5. Klik Connect.

    Indikator hijau menunjukkan koneksi ke Platform IoT berhasil.

    Verifikasi status perangkat di Konsol Platform IoT. Di instans Anda, buka Devices > Devices, pilih produk, lalu pastikan status perangkat adalah Online.

Bagian berikut menguji pengiriman pesan upstream dan downstream menggunakan topik kustom dan topik komunikasi TSL. Jika hasil Anda berbeda, koneksi gagal — perbaiki pengaturan berdasarkan informasi log.

Gunakan topik kustom untuk komunikasi

Untuk detail topik kustom, lihat Gunakan topik kustom untuk komunikasi. Contoh ini menggunakan topik kustom default yang disediakan oleh Platform IoT:

Topik

Izin

Deskripsi

/a1***/device1/user/update/error

publish

Pengiriman pesan upstream: Perangkat mengirim pesan ke Platform IoT melalui topik ini.

/a1***/device1/user/get

subscribe

Pengiriman pesan downstream: Perangkat berlangganan untuk menerima pesan dari Platform IoT.

Pengiriman pesan upstream

  1. Di MQTT.fx, klik Publish. Di kotak teks Publish, masukkan topik dengan izin publish: /a1***/device1/user/update/error.

  2. Masukkan isi pesan di editor teks lalu klik Publish.

    Pastikan QoS diatur ke QoS 0 dan isi pesan, misalnya, This is a publish test..

  3. Di Konsol Platform IoT, buka halaman Device Log instans Anda dan periksa log device-to-cloud message. Kueri log runtime sisi cloud.

    Klik View untuk entri log. Di kotak dialog View Details, verifikasi bahwa Topik adalah /a[ProductKey]/device1/user/update/error dan isi pesannya adalah This is a publish test..

Pengiriman pesan downstream

  1. Di MQTT.fx, klik Subscribe. Di kotak teks Subscribe, masukkan topik dengan izin Subscribe: /a1***/device1/user/get.

  2. Klik Subscribe.

    Setelah berlangganan, topik akan muncul dalam daftar.

  3. Di Konsol Platform IoT, buka Devices > Devices di instans Anda.

  4. Di kolom Actions perangkat, klik View untuk membuka halaman device details.

  5. Klik tab Topic List. Di kolom Actions untuk topik yang berlangganan, klik Publish Message.

  6. Masukkan pesan, misalnya This is a test., lalu klik OK.

  7. Kembali ke MQTT.fx untuk melihat pesan yang diterima.

    Di tab Subscribe, topik /a{ProductKey}/device1/user/get menerima pesan This is a test (QoS 0, didekode dengan Plain Text Decoder).

Gunakan topik untuk komunikasi TSL

Untuk detail topik komunikasi TSL, lihat Apa itu topik?. Contoh ini menggunakan topik komunikasi TSL berikut:

Topik

Izin

Deskripsi

/sys/a1****/device1/thing/event/property/post

publish

Pengiriman pesan upstream: Perangkat menggunakan topik ini untuk melaporkan data properti ke Platform IoT.

/sys/a1****/device1/thing/event/property/post_reply

subscribe

Pengiriman pesan downstream: Perangkat berlangganan untuk menerima tanggapan setelah melaporkan data properti.

/sys/a1****/device1/thing/service/property/set

subscribe

Pengiriman pesan downstream: Perangkat berlangganan untuk menerima perintah pengaturan properti dari Platform IoT.

Laporkan properti perangkat

  1. Di MQTT.fx, klik Subscribe. Di kotak teks Subscribe, masukkan topik dengan izin subscribe: /sys/a1****/device1/thing/event/property/post_reply.

  2. Di MQTT.fx, klik Publish, lalu di kotak teks Publish, masukkan topik dengan izin publish: /sys/a1****/device1/thing/event/property/post.

  3. Masukkan data properti di editor teks lalu klik Publish.

    Data properti harus menggunakan format JSON Alink standar. Perangkat melaporkan properti. Contoh ini melaporkan properti LightCurrent dan LightSwitch. Topiknya adalah /sys/${ProductKey}/device1/thing/event/property/post, dengan muatan JSON contoh berikut: {"method":"thing.event.property.post","id":"162277852","params":{"LightSwitch":1,"LightCurrent":1.4},"version":"1.0.0"}.

  4. Di tab Subscribe di MQTT.fx, lihat pesan tanggapan dari Platform IoT.

    Jika berhasil, Platform IoT mengembalikan tanggapan seperti:

    /sys/${YourProductKey}/device1/thing/event/property/post_reply
    {"code":200,"data":{},"id":"162277852","message":"success","method":"thing.event.property.post","version":"1.0"}
  5. Di Konsol Platform IoT, buka Devices > Devices di instans Anda.

  6. Klik View di kolom Actions perangkat. Di halaman device details, klik tab TSL Data untuk melihat data yang dilaporkan.

Atur properti perangkat

  1. Di MQTT.fx, klik Subscribe. Di kotak teks Subscribe, masukkan topik dengan izin Subscribe: /sys/a1****/device1/thing/service/property/set.

  2. Di Konsol Platform IoT, buka Maintenance > Online Debug di instans Anda.

  3. Pilih perangkat. Di tab Property Debugging, atur LightSwitch ke 0.

  4. Klik Set untuk mengirim perintah.

  5. Di tab Subscribe di MQTT.fx, lihat pesan yang diterima.

    /sys/axxxxx/device1/thing/service/property/set
    {"method":"thing.service.property.set","id":"2016306076","params":{"LightSwitch":0},"version":"1.0.0"}

Lihat log

  • Di Konsol Platform IoT, buka halaman Device Log instans Anda untuk melihat pesan log waktu proses, termasuk waktu, TraceID, dan jenis bisnis. Kueri log runtime sisi cloud.

  • Di MQTT.fx, klik tab Log untuk melihat log operasi dan error.

    INFO --- MqttFX ClientModel            : messageArrived() with topic: /ext/error/axxx0/device1
    INFO --- PublishController              : publish
    INFO --- MqttFX ClientModel            : attempt to add PublishTopic
    INFO --- MqttFX ClientModel            : addPublishTopic : /a1xxx/device1/user/get
    INFO --- MqttFX ClientModel            : sucessfully published message test to topic /axxx/device1/user/g
    INFO --- PublishController              : publish
    INFO --- MqttFX ClientModel            : attempt to add PublishTopic
    INFO --- MqttFX ClientModel            : sucessfully published message test to topic /axxx/device1/user/g
    INFO --- PublishController              : publish
    INFO --- MqttFX ClientModel            : attempt to add PublishTopic
    INFO --- MqttFX ClientModel            : sucessfully published message test to topic /axxx/device1/user/g
    INFO --- BrokerConnectorController     : onDisconnect
    INFO --- ScriptsController              : Clear console.
    INFO --- ScriptsController              : Cancel script excution.
    INFO --- ScriptsController              : Clear console.
    INFO --- ScriptsController              : Cancel script excution.
    INFO --- ScriptsController              : Clear console.
    INFO --- ScriptsController              : Cancel script excution.
    INFO --- BrokerConnectorController     : onConnect
    INFO --- ScriptsController              : Clear console.
    INFO --- MqttFX ClientModel            : MqttClient with ID a1xxx0.device1|securemode=2,signmethod=hmacsha...
    INFO --- MqttFX ClientModel            : session present: false
    INFO --- SubscribeController            : onSubscribe
    INFO --- MqttFX ClientModel            : rebuildMessagesList()
    INFO --- MqttFX ClientModel            : attempt to addRecentSubscriptionTopic
    INFO --- MqttFX ClientModel            : addRecentSubscriptionTopic : de.jensd.mqttfx.entities.Topixxx1
    INFO --- MqttFX ClientModel            : attempt to add PublishTopic
    INFO --- MqttFX ClientModel            : addPublishTopic : /axxx/device1/user/get
    INFO --- MqttFX ClientModel            : sucessfully subscribed to topic /a1xxxSp0/device1/user/get (QoS 0)
    INFO --- MqttFX ClientModel            : messageArrived() with topic: /a1Kucxxx/device1/user/get
    INFO --- MqttFX ClientModel            : messageArrived() added: message #1 to topic '/axxx/device1/user/...
    INFO --- PublishController              : publish
    INFO --- MqttFX ClientModel            : attempt to add PublishTopic
    INFO --- MqttFX ClientModel            : addPublishTopic : /a1xxx/device1/user/update/error
    INFO --- MqttFX ClientModel            : sucessfully published message This is a publish test. to topic /a1Kuc5xxx/device1/user/get

Dokumen terkait

  • Platform IoT mendukung protokol MQTT, yang banyak digunakan dalam IoT untuk lingkungan dengan sumber daya terbatas dan bandwidth rendah. Spesifikasi protokol MQTT.

  • Untuk menghubungkan perangkat ke Platform IoT, lihat panduan koneksi perangkat.

  • Topik berfungsi sebagai perantara untuk penerbitan dan berlangganan pesan MQTT. Untuk konsep dan definisi topik, lihat Apa itu topik?.