Topik ini menjelaskan cara menggunakan pustaka Paho Message Queuing Telemetry Transport (MQTT) untuk Rust guna menghubungkan perangkat ke IoT Platform dan mengaktifkan pengiriman pesan.
Catatan penggunaan
Dalam topik ini, izin pengguna biasa digunakan untuk semua operasi. Jika Anda perlu melakukan operasi tertentu yang memerlukan izin administrator, jalankan perintah sudo.
Prasyarat
Sebuah produk dan perangkat telah dibuat di dalam instance di Konsol IoT Platform. Sertifikat perangkat dan titik akhir MQTT telah diperoleh. Informasi sertifikat mencakup ProductKey, DeviceName, dan DeviceSecret. Untuk informasi lebih lanjut, lihat topik-topik berikut:
Persiapkan lingkungan pengembangan
Ubuntu 18.04
Cargo 1.61.0 atau versi lebih baru
Jika Anda menggunakan Linux, jalankan perintah berikut untuk menginstal Cargo guna mengelola dependensi:
sudo apt-get install cargo cmake
Menghubungkan perangkat ke IoT Platform
Unduh paket yang berisi kode contoh dan ekstrak paket tersebut ke direktori
aiot-rust-demo. Tabel berikut menjelaskan file yang diekstrak ke direktori tersebut.File
Deskripsi
src/mqtt-basic-demo/main.rsFile ini berisi kode logika yang digunakan untuk menghubungkan perangkat ke IoT Platform dan mengaktifkan komunikasi.
Cargo.tomlFile deskripsi proyek.
Di dalam file
src/mqtt-basic-demo/main.rs, ganti nilai parameterproduct_key,device_name, dandevice_secretdengan informasi sertifikat perangkat Anda.let product_key = "gb80*****"; let device_name = "mqtt_******o"; let timestamp = "2524****000"; let device_secret = b"f***********************b"; let host = "tcp://iot-060axxxx.mqtt.iothub.aliyuncs.com:1883"Jalankan perintah
cargo builduntuk mengompilasi proyek Anda. Keluaran serupa dengan informasi berikut akan ditampilkan.Compiling hex-literal v0.3.4 Compiling hmac-sha256 v0.1.7 Compiling openssl-src v111.24.0+1.1.1s Compiling cmake v0.1.49 Compiling slab v0.4.7 Compiling openssl-sys v0.9.80 Compiling paho-mqtt-sys v0.8.0 (https://github.com/eclipse/paho.mqtt.rust.git?branch=master#8e1f7342) Compiling concurrent-queue v2.1.0 Compiling crossbeam-channel v0.5.6 Compiling async-channel v1.8.0 Compiling futures-macro v0.3.25 Compiling thiserror-impl v1.0.38 Compiling futures-executor v0.3.25 Compiling futures v0.3.25 Compiling paho-mqtt v0.12.0 (https://github.com/eclipse/paho.mqtt.rust.git?branch=master#8e1f7342) Compiling mqtt-example v0.1.0 Finished dev [unoptimized + debuginfo] target(s) in 20.83sJalankan perintah
./target/debug/mqtt_basic_demountuk mengeksekusi proyek. Keluaran serupa dengan informasi berikut akan ditampilkan.starting Alibaba iot demo... subscribed to topic:=/gb80sxxxx/mqtt_basic_demo/user/get published to topic:=/gb80sxxxx/mqtt_basic_demo/user/update start receiving...