すべてのプロダクト
Search
ドキュメントセンター

IoT Platform:Rust用のPaho MQTTライブラリを使用してデバイスをIoT Platformに接続する

最終更新日:Apr 09, 2025

このトピックでは、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に接続する

  1. サンプルコードを含むパッケージをダウンロードし、パッケージaiot-rust-demoディレクトリに解凍します。 ディレクトリに解凍されるファイルを次の表に示します。

    ファイル

    説明

    src/mqtt-basic-demo/main.rs

    このファイルには、デバイスをIoT Platformに接続して通信を有効にするために使用されるロジックコードが含まれています。

    Cargo.toml

    プロジェクトの説明ファイル。

  2. src/mqtt-basic-demo/main.rsファイルで、product_keydevice_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" 
  3. cargo buildコマンドを実行して、プロジェクトをコンパイルします。 次の情報に似た出力が返されます。

    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代
    で完成したdev [unoptimized + debuginfo] ターゲット
  4. を実行します。/target/debug/mqtt_basic_demoをコマンドで実行します。 次の情報に似た出力が返されます。

    Alibaba iotのデモを開始して
    ...
    subscribe to topic:=/gb80sxxxx/mqtt_basic_demo/user/get
    トピック:=/gb80sxxxx/mqtt_basic_demo/user/update
    受信開始...