All Products
Search
Document Center

IoT Platform:Terhubung ke IoT Platform menggunakan MQTT.fx

Last Updated:Aug 21, 2026

MQTT.fx adalah klien MQTT berbasis Java yang dibangun di atas Eclipse Paho dan mendukung Windows, Mac, serta Linux. Gunakan MQTT.fx untuk memverifikasi konektivitas perangkat dengan IoT Platform, berlangganan topik, dan memublikasikan pesan. Topik ini menggunakan MQTT.fx pada Windows untuk mensimulasikan koneksi perangkat MQTT ke IoT Platform.

Prasyarat

  • Buat produk dan perangkat, lalu peroleh parameter koneksi MQTT. Buat produk dan perangkat, Peroleh nilai parameter penandatanganan MQTT.

    Contoh ini menggunakan sertifikat perangkat dan parameter koneksi MQTT dalam tabel berikut, sebagaimana dijelaskan dalam 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
  • Definisikan properti model TSL untuk menguji komunikasi uplink dan downlink. Definisikan model TSL untuk produk.
    Contoh ini mendefinisikan model TSL seperti pada gambar berikut:TSL model
Penting Perangkat online yang disimulasikan oleh MQTT.fx hanya mendukung komunikasi non-pass-through. Untuk menguji komunikasi pass-through, gunakan perangkat fisik atau SDK.

Konfigurasi koneksi MQTT.fx

  1. Unduh dan instal MQTT.fx.
    Topik ini menggunakan mqttfx-5.2.0-windows-x64 sebagai contoh. Antarmuka pengguna aktual mungkin berbeda dari tangkapan layar.
    Catatan Minta lisensi untuk tool MQTT.fx sesuai kebutuhan.
  2. Buka MQTT.fx. Di bilah menu, klik Extras 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, misalnya iot connection.
      Profile Type Untuk koneksi klien ApsaraMQ for MQTT, pilih MQTT Broker.
      Broker Address Domain koneksi MQTT. Gunakan nilai dari bagian Prasyarat: a1***.iot-as-mqtt.cn-shanghai.aliyuncs.com.
      • a1*** adalah ProductKey produk dalam contoh ini.
      • cn-shanghai adalah wilayah dalam contoh ini.

      Jangan sertakan nomor port.

      Broker Port Atur ke 1883.
      Client ID Bidang protokol MQTT.

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

      Masukkan nilai clientId yang Anda peroleh di bagian Prasyarat: a1***.device1|securemode=2,signmethod=hmacsha256,timestamp=2524608000000|.

      Penjelasan parameter:

      • ${ClientId}: ID klien perangkat, aplikasi, atau klien web.
        Penting Nilai ini harus kustom dan panjangnya maksimal 64 karakter. Untuk perangkat, gunakan alamat MAC atau nomor seri (SN). Hal ini membantu Anda mengidentifikasi perangkat yang berbeda.
      • ${Mode}: Mode keamanan. Nilai yang valid adalah 2 (mode koneksi langsung TLS, yang mengharuskan Anda mengonfigurasi pengaturan SSL/TLS) dan 3 (mode koneksi langsung TCP, yang tidak memerlukan pengaturan SSL/TLS).
      • ${SignMethod}: Jenis algoritma. Nilai yang didukung adalah hmacsha256, hmacmd5, dan hmacsha1.
      • ${timestamp}: Waktu saat ini dalam milidetik. Anda dapat mengosongkan timestamp.

      Pada parameter koneksi yang disediakan oleh IoT Platform, ${ClientId} secara default berupa string yang terdiri dari ${ProductKey} + '.' + ${DeviceName}, ${Mode} secara default bernilai 2, dan ${SignMethod} secara default bernilai hmacsha256. Anda dapat memodifikasinya sesuai kebutuhan.

      Penting
      • Jangan tertukar antara Client ID di MQTT.fx dengan ${ClientId} perangkat.
      • Jangan menghilangkan tanda vertikal (|) di antara parameter atau di akhir string.
      • Saat mengatur parameter, pastikan tidak ada spasi di dalam atau di sekitar nilai parameter.
      • Setelah memasukkan Client ID, jangan klik Generate.
      General Gunakan nilai default. Sesuaikan berdasarkan kebutuhan Anda.
    2. Klik User Credentials, centang kotak Use Username/Password, lalu atur User Name dan Password.
      Parameter Deskripsi
      User Name Format: ${DeviceName}&${ProductKey}.

      Masukkan nilai username yang Anda peroleh di bagian Prasyarat: device1&a1***.

      • device1 adalah DeviceName perangkat.
      • a1*** adalah ProductKey perangkat.
      Password Dihasilkan dengan mengenkripsi parameter yang digabung menggunakan DeviceSecret dan metode penandatanganan yang dipilih.

      Masukkan nilai passwd yang Anda peroleh di bagian Prasyarat: 86761***21d.

      Penting
      • Pada beberapa versi MQTT.fx, string password tidak ditampilkan setelah Anda menempelkannya. Jika kursor berpindah ke akhir kotak teks, berarti penempelan berhasil. Jangan tempel password lagi.
      • Parameter dan nilainya bersifat case-sensitive.
      • Client IDJika Anda mengubah ${ClientId} atau ${SignMethod}Client ID pada pengaturan Client ID, Anda harus menghitung ulang password. Pastikan password baru menggunakan nilai yang sesuai dengan parameter yang diperbarui. Untuk informasi tentang pengaturan parameter dan metode perhitungan, lihat Hitung password menggunakan skrip Node.js.
    3. Untuk mode koneksi langsung TLS (securemode=2), klik SSL/TLS, centang kotak Enable SSL/TLS, lalu atur Protocol ke TLSv1.2.
      Penting Untuk mode koneksi langsung TCP (securemode=3), Anda tidak perlu mengonfigurasi pengaturan SSL/TLS. Lanjutkan ke langkah berikutnya.
  4. Setelah selesai mengonfigurasi, klik OK di pojok kanan bawah.
  5. Klik Connect.
    Lampu hijau di sebelah kanan menunjukkan koneksi berhasil.

    Di Konsol IoT Platform, di bawah instans yang sesuai, pilih Device Management > Devices. Pilih produk untuk melihat status perangkat. Status perangkat harus Online.

Bagian berikut menjelaskan cara menguji komunikasi uplink dan downlink menggunakan topik kustom dan topik model TSL. Jika hasil Anda berbeda dari contoh ini, koneksi telah gagal. Perbaiki konfigurasi berdasarkan informasi log.

Berkomunikasi menggunakan topik kustom

Untuk detail topik kustom, lihat Berkomunikasi menggunakan topik kustom. Contoh ini menggunakan topik kustom default yang disediakan oleh IoT Platform:
Topik Izin Deskripsi
/a1***/device1/user/update/error Publish Uplink: Perangkat memublikasikan pesan ke IoT Platform.
/a1***/device1/user/get Subscribe Downlink: Perangkat berlangganan untuk menerima pesan dari IoT Platform.

Komunikasi uplink

  1. Di MQTT.fx, klik Publish. Di kotak teks Publish, masukkan topik yang memiliki izin Publish: /a1***/device1/user/update/error.
  2. Di panel editor teks, masukkan konten pesan, lalu klik Publish.

    Di kotak teks Topic, masukkan path topik kustom, misalnya /${productKey}/${deviceName}/user/update/error. Atur QoS ke QoS 0. Di panel editor pesan, masukkan konten uji, misalnya This is a publish test..

  3. Masuk ke Konsol IoT Platform. Di halaman Simple Log Service instans, lihat log Device-to-Cloud Messages. Kueri log IoT Platform.

    Di daftar log, klik View Details pada entri log target untuk melihat Topic pesan (misalnya /productKey/deviceName/user/update/error) dan Content (misalnya This is a publish test.). Status log 200 menunjukkan bahwa pesan berhasil dikirim.

Komunikasi downlink

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

    Setelah langganan berhasil, topik akan muncul dalam daftar.

  3. Masuk ke Konsol IoT Platform. Di bawah instans, pilih Device Management > Devices.
  4. Di kolom Actions perangkat, klik View untuk membuka halaman Device Details.
  5. Klik tab Topic List. Di kolom Actions topik yang dilanggan, klik Publish Message.
  6. Masukkan konten pesan, misalnya This is a test., lalu klik OK.
  7. Kembali ke MQTT.fx untuk melihat pesan yang diterima.

    Di tab Subscribe, topik kustom yang dilanggan /${productKey}/device1/user/get telah menerima 1 pesan. Konten pesan adalah This is a test, QoS-nya 0, dan Content Type-nya text/plain, yang menunjukkan bahwa pesan perangkat berhasil dikirimkan melalui topik kustom dan diterima oleh klien.

Berkomunikasi menggunakan topik model TSL

Untuk topik komunikasi model TSL, lihat Apa itu topik?. Contoh ini menggunakan topik komunikasi model TSL berikut:
Topik Izin Deskripsi
/sys/a1****/device1/thing/event/property/post Publish Uplink: Perangkat melaporkan data properti ke IoT Platform.
/sys/a1****/device1/thing/event/property/post_reply Subscribe Downlink: Perangkat berlangganan untuk menerima respons laporan properti dari IoT Platform.
/sys/a1****/device1/thing/service/property/set Subscribe Downlink: Perangkat berlangganan untuk menerima perintah pengaturan properti dari IoT Platform.

Perangkat melaporkan properti

  1. Di MQTT.fx, klik Subscribe. Di kotak teks Subscribe, masukkan topik yang memiliki izin Subscribe: /sys/a1****/device1/thing/event/property/post_reply.
  2. Di MQTT.fx, klik Publish. Di kotak teks Publish, masukkan topik yang memiliki izin Publish: /sys/a1****/device1/thing/event/property/post.
  3. Di panel editor teks, masukkan data properti yang ingin dilaporkan, lalu klik Publish.
    Data properti yang dilaporkan harus menggunakan format JSON Alink standar, sebagaimana dijelaskan dalam Perangkat melaporkan properti. Contoh ini melaporkan data untuk properti LightCurrent dan LightSwitch.

    Badan pesan JSON Alink mencakup method (diatur ke thing.event.property.post), id, params (berisi nilai properti LightSwitch dan LightCurrent), dan version.

  4. Di MQTT.fx, klik Subscribe untuk melihat pesan respons yang dikembalikan IoT Platform ke perangkat.
    Perangkat berhasil melaporkan properti.
    /sys/axxxxx/device1/thing/event/property/post_reply
    
    {"code":200,"data":{},"id":"162277852","message":"success","method":"thing.event.property.post","version":"1.0"}
  5. Masuk ke Konsol IoT Platform. Di bawah instans, pilih Device Management > Devices.
  6. Di kolom Actions perangkat, klik View. Di halaman Device Details, klik TSL Model Data untuk melihat data perangkat.

Atur properti perangkat

  1. Di MQTT.fx, klik Subscribe. Di kotak teks Subscribe, masukkan topik yang memiliki izin Subscribe: /sys/a1****/device1/thing/service/property/set.
  2. Masuk ke Konsol IoT Platform. Di bawah instans, pilih O&M > Online Debug.
  3. Pilih perangkat yang akan di-debug. Di tab Property Debugging, atur Main Light Switch ke Off-0.
  4. Klik Set untuk mengirim instruksi.
  5. Di MQTT.fx, di tab Subscribe, lihat pesan yang diterima perangkat.

    Berikut contoh 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

  • Masuk ke Konsol IoT Platform. Di halaman Simple Log Service instans, lihat log operasi termasuk waktu, TraceID, dan jenis bisnis. Kueri log IoT Platform.
  • Di MQTT.fx, klik Log untuk melihat log operasi dan log error. Berikut contoh output log:
    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 --- MqttFX ClientModel           : Cancel script excution.
    INFO --- ScriptsController            : Clear console.
    INFO --- MqttFX ClientModel           : Cancel script excution.
    INFO --- ScriptsController            : Clear console.
    INFO --- ScriptsController            : Clear console.
    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 /a1Kuc5