MQTT.fx adalah klien Message Queuing Telemetry Transport (MQTT) berbasis Eclipse Paho yang ditulis dalam Java. Alat ini mendukung sistem operasi Windows, macOS, dan Linux. Anda dapat menggunakan MQTT.fx untuk memeriksa apakah sebuah perangkat dapat terhubung ke IoT Platform. MQTT.fx juga memungkinkan Anda untuk berlangganan dan menerbitkan pesan menggunakan topik. Bagian ini menjelaskan cara menghubungkan perangkat simulasi ke IoT Platform melalui MQTT dengan menggunakan MQTT.fx di Windows.
Prasyarat
Sebuah produk dan perangkat telah dibuat, serta parameter koneksi MQTT telah diperoleh. Untuk informasi lebih lanjut, lihat Buat produk dan perangkat dan Cara Mendapatkan Parameter MQTT untuk Autentikasi.
Tabel berikut menjelaskan sertifikat perangkat dan parameter koneksi MQTT yang digunakan dalam contoh ini. Untuk informasi lebih lanjut tentang parameter, lihat Membangun Koneksi MQTT melalui TCP.
Parameter
Nilai
ProductKey
a1***DeviceName
device1DeviceSecret
f35***d9eclientId
a1***.device1|securemode=2,signmethod=hmacsha256,timestamp=2524608000000|username
device1&a1***passwd
86761***21dmqttHostUrl
a1***.iot-as-mqtt.cn-shanghai.aliyuncs.comport
1883Model TSL telah didefinisikan. Model ini digunakan untuk menguji komunikasi dua arah antara perangkat uji dan IoT Platform melalui topik komunikasi TSL. Untuk informasi lebih lanjut, lihat Tentukan Model TSL untuk Produk.
Gambar berikut menunjukkan definisi model TSL yang digunakan dalam contoh ini.

MQTT.fx digunakan untuk mensimulasikan perangkat online dan mendukung transmisi data non-pass-through. Untuk mentransmisikan data pass-through, Anda dapat menggunakan perangkat aktual atau SDK untuk pengujian.
Konfigurasi MQTT.fx
Unduh dan instal alat MQTT.fx.
Dalam contoh ini, mqttfx-5.2.0-windows-x64 digunakan. Alat pihak ketiga ini tidak diperbarui secara berkala. Kami sarankan Anda mengunduh versi terbaru dari situs web di tautan referensi sebelumnya.
CatatanAnda harus mengajukan lisensi untuk menggunakan MQTT.fx.
Mulai alat MQTT.fx, klik Extras di bilah menu, lalu pilih Edit Connection Profiles.

Pada halaman Edit Connection Profiles, konfigurasikan parameter.
Tentukan informasi dasar.
Parameter
Deskripsi
Nama Profil
Masukkan nama kustom. Dalam contoh ini, masukkan iot connection.
Tipe Profil
Tentukan mode koneksi. Pilih MQTT Broker.
Alamat Broker
Masukkan titik akhir MQTT, yaitu nilai parameter mqttHostUrl yang Anda peroleh di bagian Prasyarat. Dalam contoh ini, masukkan a1***.iot-as-mqtt.cn-shanghai.aliyuncs.com.
a1*** menunjukkan ProductKey.
cn-shanghai menunjukkan ID wilayah.
Nomor port tidak diperlukan.
Port Broker
Masukkan nomor port. Atur parameter ini ke 1883.
ID Klien
Konfigurasikan parameter dalam protokol MQTT.
Format:
${ClientId}|securemode=${Mode},signmethod=${SignMethod}|timestamp=${timestamp}|.Masukkan nilai parameter clientId yang Anda peroleh di bagian "Prasyarat" dari topik ini. Dalam contoh ini, a1***.device1|securemode=2,signmethod=hmacsha256,timestamp=2524608000000| ditentukan.
Deskripsi parameter:
${ClientId}: ID klien, seperti perangkat, aplikasi, atau browser web.
PentingAnda harus menentukan ID klien kustom. ID klien harus memiliki panjang 1 hingga 64 karakter. Saat klien adalah perangkat, kami sarankan Anda mengatur parameter ini ke alamat MAC atau nomor seri (SN) perangkat. Ini memungkinkan Anda dengan mudah mengidentifikasi perangkat Anda.
${Mode}: mode keamanan. Nilai valid: 2 dan 3. Jika Anda menggunakan koneksi TLS langsung, tentukan securemode=2. Kemudian, Anda harus mengonfigurasi parameter SSL/TLS. Jika Anda menggunakan koneksi TCP langsung, tentukan securemode=3. Anda tidak perlu mengonfigurasi parameter SSL/TLS.
${SignMethod}: algoritma tanda tangan. Nilai valid: hmacmd256, hmacmd5, dan hmacsha1.
${timestamp}: timestamp permintaan. Unit: milidetik. Parameter ini opsional.
Dalam parameter koneksi yang disediakan oleh IoT Platform, nilai parameter ${ClientId} adalah string dalam format
${ProductKey} + '.' + ${DeviceName}. Nilai default ${Mode} adalah 2, dan nilai default ${SignMethod} adalah hmacsha256. Anda dapat mengonfigurasi parameter berdasarkan kebutuhan bisnis Anda.PentingJangan kelirukan parameter Client ID alat MQTT.fx dengan parameter ${ClientId} perangkat.
Jangan hilangkan tanda vertikal (|) di antara dan di akhir parameter.
Saat Anda mengonfigurasi parameter, pastikan Anda menghapus semua spasi dari nilai parameter.
Setelah Anda menentukan parameter Client ID, jangan klik Generate.
Umum
Dalam contoh ini, nilai default parameter digunakan. Anda dapat mengonfigurasi parameter berdasarkan kebutuhan bisnis Anda.
Klik User Credentials. Pada tab yang muncul, pilih Use Username/Password dan masukkan username dan password.

Parameter
Deskripsi
Nama Pengguna
Nama pengguna terdiri dari DeviceName, ampersand (&), dan ProductKey. Format:
${DeviceName}&${ProductKey}.Masukkan nilai parameter username yang Anda peroleh di bagian "Prasyarat" dari topik ini. Dalam contoh ini, device1&a1*** ditentukan.
device1menunjukkan DeviceName perangkat.a1***menunjukkan ProductKey perangkat.
Kata Sandi
Untuk menghasilkan kata sandi, Anda harus memilih algoritma tanda tangan, menggunakan DeviceSecret perangkat sebagai kunci rahasia, lalu menggabungkan parameter yang diperlukan dan nilainya.
Masukkan nilai parameter passwd yang Anda peroleh di bagian "Prasyarat" dari topik ini. Dalam contoh ini, 86761***21d ditentukan.
PentingAlat MQTT.fx Anda mungkin menampilkan kata sandi yang tertutup. Jika kata sandi sudah ditempel, penunjuk bergerak ke akhir kata sandi. Dalam hal ini, Anda tidak perlu menempel kata sandi lagi.
Pastikan huruf dalam nama parameter dan nilainya dalam kasus yang benar.
Anda dapat memodifikasi parameter ${clientId} dan ${SignMethod} saat Anda mengonfigurasi parameter Client ID. Dalam hal ini, pastikan algoritma tanda tangan yang ditentukan sama dengan nilai parameter yang sesuai di Client ID. Lalu, hitung ulang kata sandi. Untuk informasi lebih lanjut tentang parameter dan metode perhitungan, lihat Gunakan skrip Node.js.
Jika Anda menggunakan koneksi TLS (securemode=2), klik tab SSL/TLS, pilih Enable SSL/TLS, lalu atur parameter Protocol ke TLSv1.2.
PentingJika Anda menggunakan koneksi TCP (
securemode=3), gunakan pengaturan default pada tab SSL/TLS, dan lanjutkan ke langkah berikutnya.
Klik OK di sudut kanan bawah.
Klik Connect.
Jika indikator di sisi kanan berubah menjadi hijau, koneksi berhasil.

Untuk melihat status perangkat, lakukan langkah-langkah berikut: Masuk ke Konsol IoT Platform. Pergi ke halaman detail instance dari instance tempat perangkat tersebut berada. Di panel navigasi di sebelah kiri, pilih . Pada tab Daftar Perangkat, temukan perangkat dan lihat status perangkat. Perangkat berada dalam status Online jika terhubung dengan IoT Platform.

Pada bagian berikutnya, pengiriman downstream dan upstream diuji menggunakan topik kustom dan topik untuk komunikasi TSL untuk memeriksa apakah klien MQTT.fx terhubung ke IoT Platform. Jika hasil pengujian Anda berbeda dari hasil sampel berikut, koneksi belum terbentuk. Anda harus memodifikasi pengaturan berdasarkan log.
Gunakan topik kustom
Untuk informasi lebih lanjut tentang topik kustom, lihat Gunakan Topik Kustom untuk Komunikasi. Dalam contoh ini, topik kustom default yang disediakan oleh IoT Platform digunakan.
Topik | Izin | Deskripsi |
| Publish | Pengiriman upstream: Perangkat mengirim pesan ke IoT Platform melalui topik. |
| Subscribe | Pengiriman downstream: Perangkat berlangganan topik dan menerima pesan yang dikirim dari IoT Platform. |
Pengiriman Upstream
Di MQTT.fx, klik Publish. Di bidang Publish, masukkan jalur topik yang memiliki izin Publish:
/a1***/device1/user/update/error.Di editor, masukkan pesan yang ingin Anda publikasikan dan klik Publish.

Pergi ke halaman Device Log di Konsol IoT Platform dan lihat log yang jenis beban kerjanya adalah Cloud-to-device-Message. Untuk informasi lebih lanjut, lihat Kueri Log IoT Platform.

Pengiriman Downstream
Di MQTT.fx, klik Subscribe. Di bidang Subscribe, masukkan jalur topik yang memiliki izin Subscribe:
/a1***/device1/user/get.Klik Subscribe.
Jika langganan berhasil, topik kustom akan muncul di tab Subscribe.

Untuk melihat status perangkat, lakukan langkah-langkah berikut: Masuk ke Konsol IoT Platform. Pergi ke halaman detail instance dari instance tempat perangkat tersebut berada. Di panel navigasi sebelah kiri, pilih .
Pada tab Daftar Perangkat, klik View di kolom Tindakan yang sesuai dengan perangkat. Halaman device details akan muncul.
Pada tab Topic List, temukan topik dan klik Publish Message di kolom Tindakan.
Di kotak dialog yang muncul, masukkan pesan, seperti Ini adalah tes., dan klik OK.
Di alat MQTT.fx, periksa apakah pesan diterima.

Gunakan topik untuk komunikasi TSL
Untuk informasi lebih lanjut tentang topik untuk komunikasi TSL, lihat Topik.
Topik | Izin | Deskripsi |
| Publish | Pengiriman upstream: Perangkat mengirimkan data properti ke IoT Platform melalui topik. |
| Subscribe | Pengiriman downstream: Perangkat berlangganan topik dan menerima data properti yang dikirim dari IoT Platform. |
| Subscribe | Pengiriman downstream: Perangkat berlangganan topik dan menerima pesan yang dikirim dari IoT Platform. |
Kirimkan Properti Perangkat
Di MQTT.fx, klik Subscribe. Di bidang Subscribe, masukkan jalur topik yang memiliki izin Subscribe:
/sys/a1****/device1/thing/event/property/post_reply.Di MQTT.fx, klik Publish. Di bidang Publish, masukkan jalur topik yang memiliki izin Publish:
/sys/a1****/device1/thing/event/property/post.Di editor, masukkan data properti yang ingin Anda publikasikan dan klik Publish.
Data properti yang akan dipublikasikan harus dalam format Alink JSON. Untuk informasi lebih lanjut, lihat Perangkat Mengirimkan Data Properti ke IoT Platform. Dalam contoh ini, data properti LightCurrent dan LightSwitch dipublikasikan.

Untuk melihat status perangkat, lakukan langkah-langkah berikut: Masuk ke Konsol IoT Platform. Pergi ke halaman detail instance dari instance tempat perangkat tersebut berada. Di panel navigasi sebelah kiri, pilih .
Klik View di kolom Tindakan untuk pergi ke halaman Device Details. Klik tab TSL Data, dan lihat data tersebut.
Tetapkan Properti Perangkat
Di MQTT.fx, klik Subscribe. Di bidang Subscribe, masukkan jalur topik yang memiliki izin Subscribe:
/sys/a1****/device1/thing/service/property/set.Untuk melihat status perangkat, lakukan langkah-langkah berikut: Masuk ke Konsol IoT Platform. Pergi ke halaman detail instance dari instance tempat perangkat tersebut berada. Di panel navigasi sebelah kiri, pilih .
Pada halaman yang muncul, pilih perangkat yang ingin Anda debug. Pada tab Property Debugging, atur LightSwitch ke 0.
Klik Set untuk mengirim perintah.
Di alat MQTT.fx, klik tab Subscribe dan lihat pesan yang diterima oleh perangkat.

Lihat log
Pergi ke halaman Device Log di Konsol IoT Platform dan lihat informasi log, seperti waktu, ID jejak, dan jenis beban kerja. Untuk informasi lebih lanjut, lihat Kueri Log IoT Platform.
Di alat MQTT.fx, klik tab Log. Pada tab yang muncul, lihat log operasi dan log kesalahan.

