日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Paho-MQTT C(非嵌入式版)接入示例

本文介紹如何使用Paho提供的C語言MQTT開源工程(非嵌入式版),將設備接入阿里云物聯(lián)網(wǎng)平臺,并進行消息收發(fā)。

使用前必讀

本文操作步驟以普通用戶權限為例。如果您在操作過程中涉及到管理員權限才能執(zhí)行的操作,可嘗試使用sudo命令執(zhí)行。

前提條件

已在物聯(lián)網(wǎng)平臺控制臺,對應實例下,創(chuàng)建產(chǎn)品和設備,并獲取MQTT接入域名和設備證書信息(ProductKey、DeviceName和DeviceSecret)。具體操作,請參見:

準備開發(fā)環(huán)境

本示例使用Ubuntu 16.04-LTS作為開發(fā)環(huán)境。執(zhí)行以下命令構建開發(fā)環(huán)境。

sudo apt-get update
sudo apt-get install build-essential git sed cmake

下載C語言Paho MQTT庫

  1. 執(zhí)行以下命令,克隆C語言版本的Paho MQTT庫。

    git clone https://github.com/eclipse/paho.mqtt.c.git
    說明

    編寫本Demo示例時,使用master分支,commit idf7799da95e347bbc930b201b52a1173ebbad45a7

  2. 使用如下命令編譯并安裝Paho庫。

    mkdir build
    cmake ..
    make -j
    sudo make install
    cd ..
    rm -rf build

接入物聯(lián)網(wǎng)平臺

  1. 單擊下載Demo包,解壓縮后,其中包含以下文件:

    文件名

    說明

    CMakeLists.txt

    工程的整體配置文件。

    src/samples/MQTTAsync_publish.c

    該文件包含設備與物聯(lián)網(wǎng)平臺連接和通信的邏輯代碼。

    src/samples/aiot_mqtt_sign.c

    該文件中的代碼用于生成MQTT建連參數(shù)。aiot_c_demo.c運行時,會調(diào)用該文件中定義的aiotMqttSign()函數(shù),計算出連接參數(shù)usernamepasswordclientId

    src/samples/CMakeLists.txt

    Demo的工程配置文件。

  2. src/samples/MQTTAsync_publish.c文件中,將設備信息(ProductKeyDeviceNameDeviceSecret)修改為您的設備信息。

    #define EXAMPLE_PRODUCT_KEY            "產(chǎn)品ProductKey" 
    #define EXAMPLE_DEVICE_NAME            "設備名稱DeviceName" 
    #define EXAMPLE_DEVICE_SECRET          "設備密鑰DeviceSecret"
  3. src/samples/MQTTAsync_publish.c文件中,tcp://iot-0***********l.mqtt.iothub.aliyuncs.com:443為對應接入域名。

    說明

    公共實例和企業(yè)版實例接入域名的格式說明,請參見查看實例終端節(jié)點信息

    #define ADDRESS     "tcp://iot-0***********l.mqtt.iothub.aliyuncs.com:443"
  4. 將步驟1中的文件,按照目錄分別覆蓋下載C語言Paho MQTT庫中的同名文件。

  5. 使用以下命令編譯工程。

    mkdir build    //在工程的根目錄下執(zhí)行
    cd build
    cmake ..
    make -j
  6. 編譯完成后,在build目錄下執(zhí)行以下命令,運行程序。

    ./src/samples/MQTTAsync_publish

    運行成功,接入物聯(lián)網(wǎng)平臺的本地日志如下所示。

    clientid: ty***1&a1****kc|timestamp=2524608000000,_v=paho-c-standard-1.0.0,securemode=3,signmethod=hmacsha256,lan=C|
    username: ty***1&a1****kc
    password: 1BB**************************************************3621
    Waiting for publication of Hello World!
    on topic /sys/a1*****kc/ty********1/thing/event/property/post for client
    Successful connection
    Message with token value 1 delivery confirmed
    Successful disconnection