このトピックでは、Rust用のPaho Message Queuing Telemetry Transport (MQTT) ライブラリを使用してデバイスをIoT Platformに接続し、メッセージングを有効にする方法について説明します。
使用状況ノート
このトピックでは、共通ユーザーの権限を使用してすべての操作を実行します。 管理者権限を必要とする特定の操作を実行する場合は、sudoコマンドを実行します。
前提条件
プロダクトとデバイスは、IoT Platformコンソールのインスタンスに作成されます。 デバイス証明書とMQTTエンドポイントが取得されます。 証明書情報には、ProductKey、DeviceName、およびDeviceSecretが含まれます。 詳細については、以下のトピックをご参照ください。
開発環境の準備
Ubuntu 18.04
貨物1.61.0以降
Linuxを使用する場合は、次のコマンドを実行してCargoをインストールし、依存関係を管理します。
sudo apt-getインストール貨物cmake
デバイスをIoT Platformに接続する
サンプルコードを含むパッケージをダウンロードし、パッケージを
aiot-rust-demoディレクトリに解凍します。 ディレクトリに解凍されるファイルを次の表に示します。ファイル
説明
src/mqtt-basic-demo/main.rsこのファイルには、デバイスをIoT Platformに接続して通信を有効にするために使用されるロジックコードが含まれています。
Cargo.tomlプロジェクトの説明ファイル。
src/mqtt-basic-demo/main.rsファイルで、product_key、device_name、およびdevice_secretパラメーターの値をデバイス証明書情報に置き換えます。product_key = "gb80 *****"; device_name = "mqtt_****** o"; timestamp = "2524 **** 000"; device_secret = b "f *********************** b"; let host = "tcp:// iot-060axxxx.mqtt.iothub.aliyuncs.com:1883"cargo buildコマンドを実行して、プロジェクトをコンパイルします。 次の情報に似た出力が返されます。
で完成したdev [unoptimized + debuginfo] ターゲット16進リテラルv0.3.4のコンパイル コンパイルhmac-sha256 v0.1.7 openssl-src v111.24.0 + 1.1.1sのコンパイル cmake v0.1.49のコンパイル コンパイルスラブv0.4.7 openssl-sys v0.9.80のコンパイル paho-mqtt-sys v0.8.0のコンパイル (https://github.com/eclipse/paho.mqtt.rust.git?branch=master#8e1f7342) コンカレントキューv2.1.0のコンパイル クロスビームチャネルv0.5.6のコンパイル 非同期チャネルv1.8.0のコンパイル 先物のコンパイル-macro v0.3.25 このエラーのコンパイル-impl v1.0.38 先物のコンパイル-executor v0.3.25 先物のコンパイルv0.3.25 paho-mqtt v0.12.0のコンパイル (https://github.com/eclipse/paho.mqtt.rust.git?branch=master#8e1f7342) mqtt-example v0.1.0のコンパイル 20.83代
Alibaba iotのデモを開始してを実行します。/target/debug/mqtt_basic_demoをコマンドで実行します。 次の情報に似た出力が返されます。... subscribe to topic:=/gb80sxxxx/mqtt_basic_demo/user/get トピック:=/gb80sxxxx/mqtt_basic_demo/user/update 受信開始...