全部产品
Search
文档中心

阿里云物联网平台:Paho-MQTT Rust接入示例

更新时间:Apr 25, 2023

本文介绍如何调用Rust语言的Paho MQTT类库,将设备接入阿里云物联网平台并进行消息收发。

使用前必读

本文操作步骤以普通用户权限为例。如果您在操作过程中涉及到管理员权限才能执行的操作,可尝试使用sudo命令执行。

前提条件

已在物联网平台控制台,对应实例下,创建产品和设备,并获取MQTT接入域名和设备证书信息(ProductKey、DeviceName和DeviceSecret)。具体操作,请参见:

准备开发环境

  • Ubuntu 18.04版本。

  • 推荐使用Cargo 1.61.0及以上版本。

  • Linux系统可通过如下命令安装依赖关系。

    sudo apt-get install cargo cmake

接入物联网平台

  1. 单击下载示例代码包,并解压缩为文件aiot-rust-demo,其中包含以下文件:

    文件

    说明

    src/mqtt-basic-demo/main.rs

    该文件包含设备与物联网平台连接和通信的逻辑代码。

    Cargo.toml

    工程描述文件。

  2. 在文件src/mqtt-basic-demo/main.rs中,将product_keydevice_namedevice_secret替换为您的设备证书信息。

    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"
  3. 使用命令cargo build编译工程,运行结果如下所示。

       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.83s
  4. 使用命令./target/debug/mqtt_basic_demo运行工程,运行结果如下所示。

    starting Alibaba iot demo...
    subscribed to topic:=/gb80sxxxx/mqtt_basic_demo/user/get
    published to topic:=/gb80sxxxx/mqtt_basic_demo/user/update
    start receiving...