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

C Link SDK

本文以夜燈開關為例,介紹如何快速使用C Link SDK,模擬設備采用MQTT協議接入物聯網平臺,并通過自定義Topic上報數據至物聯網平臺的完整操作。

前提條件

已開通物聯網平臺服務。

說明

開通阿里云物聯網平臺不收費。開通后,您可以根據免費額度試用服務,試用流程,請參見阿里云免費試用的物聯網平臺產品。

創建產品和設備

  1. 登錄物聯網平臺控制臺,單擊目標實例卡片。

  2. 在左側導航欄,選擇設備管理 > 產品,單擊創建產品

  3. 新建產品頁面,輸入產品名稱:夜燈開關,所屬品類選擇自定義品類,其他參數使用默認值,單擊確認

    創建產品
  4. 在完成創建產品的頁面,單擊添加設備下的前往添加。

  5. 設備頁面,單擊添加設備。

  6. 添加設備對話框中,輸入設備名稱,例如:LightSwitch。然后,單擊確認。

    添加設備
  7. 添加完成對話框中,單擊一鍵復制設備證書。將設備證書信息保存至本地備用。關于設備證書的更多信息,請參見設備證書。

準備開發環境

本示例的開發環境為Ubuntu 16.04,開發工具為GCC和Make。關于環境的更多說明,請參見環境說明。

  1. 安裝Ubuntu 16.04。

    更多信息,請參見Ubuntu。

  2. 執行以下命令,安裝GCC和Make。

    sudo apt-get -y install gcc make

配置設備端SDK

  1. 下載Demo文件至開發環境并解壓。

    物聯網平臺提供SDK定制功能,更多信息,請參見獲取C Link SDK

  2. 打開./LinkSDK/demos/mqtt_basic_demo.c文件,配置如下參數:

    • 配置設備接入信息,使設備接入物聯網平臺。示例代碼如下:

      char *product_key       = "a18wP******";
      char *device_name       = "LightSwitch";
      char *device_secret     = "uwMTmVAMnGGHaAkqmeDY6cHxxB******";
      char  *mqtt_host = "a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com";

      參數

      示例

      說明

      mqtt_host

      a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com

      設備的接入域名。

      • 企業版實例和新版公共實例:在實例詳情頁面的開發配置面板,查看接入域名。

      • 舊版公共實例:接入域名格式為${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com

      新舊版公共實例和企業版實例、以及接入域名的更多信息,請參見查看實例終端節點

      product_key

      a18wP******

      設備認證信息。即完成添加設備后,您保存至本地的設備證書。

      您也可以在物聯網平臺的設備詳情頁查看設備的認證信息。更多信息,請參見獲取設備認證信息。

      device_name

      LightSwitch

      device_secret

      uwMTmVAMnGGHaAkqmeDY6cHxxB******

    • 配置設備訂閱Topic,例如/a18wP******/LightSwitch/user/get,以接收來自物聯網平臺的消息。示例代碼如下:

      說明

      如需體驗該功能,您需取消該代碼兩邊的注釋符號(/**/)。

          {
              char *sub_topic = "/a18wP******/LightSwitch/user/get";
      
              res = aiot_mqtt_sub(mqtt_handle, sub_topic, NULL, 1, NULL);
              if (res < 0) {
                  printf("aiot_mqtt_sub failed, res: -0x%04X\n", -res);
                  return -1;
              }
          }

      參數

      示例

      說明

      sub_topic

      /a18wP******/LightSwitch/user/get

      具有訂閱權限的Topic,設備通過該Topic,可接收物聯網平臺的消息。

      您可以在物聯網平臺的產品詳情頁的Topic類列表下的自定義Topic頁簽下,查看您的自定義Topic。更多信息,請參見什么是Topic

      本示例為默認的自定義Topic。其中:

      • a18wP******為設備的ProductKey

      • LightSwitch為設備的DeviceName。

    • 配置設備用于發送信息的Topic,例如/a18wP******/LightSwitch/user/update,并設置要發送的信息內容。示例代碼如下:

      說明

      如需體驗該功能,您需取消該代碼兩邊的注釋符號(/**/)。

           {
              char *pub_topic = "/a18wP******/LightSwitch/user/update";
              char *pub_payload = "{\"id\":\"1\",\"version\":\"1.0\",\"params\":{\"LightSwitch\":0}}";
      
              res = aiot_mqtt_pub(mqtt_handle, pub_topic, (uint8_t *)pub_payload, (uint32_t)strlen(pub_payload), 0);
              if (res < 0) {
                  printf("aiot_mqtt_sub failed, res: -0x%04X\n", -res);
                  return -1;
              }
          }

      參數

      示例

      說明

      pub_topic

      /a18wP******/LightSwitch/user/update

      具有發布權限的Topic,設備通過該Topic向物聯網平臺發送消息。

      您可以在物聯網平臺的產品詳情頁的Topic類列表下的自定義Topic頁簽下,查看您的自定義Topic。更多信息,請參見什么是Topic

      本示例為默認的自定義Topic。其中:

      • a18wP******為設備的ProductKey。

      • LightSwitch為設備的DeviceName。

      pub_payload

      {\"id\":\"1\",\"version\":\"1.0\",\"params\":{\"LightSwitch\":0}}

      上報至物聯網平臺的消息內容。

      本示例使用自定義Topic,您可自定義消息的數據格式。

  3. 在Link SDK根目錄下,執行命令make

    生成的Demo可執行文件為./output/mqtt-basic-demo。

運行結果

在Link SDK根目錄下,執行以下命令,運行Demo可執行文件。

./output/mqtt-basic-demo
  • 您可以在設備端查看運行結果。

    • 以下日志顯示設備LightSwitch與物聯網平臺連接成功。

      [1619768570.433][LK-0313] MQTT user calls aiot_mqtt_connect api, connect
      [1619768570.433][LK-0317] LightSwitch&a18wP******
      [1619768570.433][LK-0318] 933FE333F78F42E2AAD384F629C771277E06D459577942EA1F04ACFDFE******
      core_sysdep_network_establish host a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com port 8883, type 0
      establish tcp connection with server(host='a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com', port=[8883])
      success to establish tcp, fd=3
      local port: 49122
      [1619768570.599][LK-1000] establish mbedtls connection with server(host='a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com', port=[8883])
      [1619768570.600][LK-1000] success to establish mbedtls connection, (cost 45134 bytes in total, max used 47870 bytes)
      [1619768570.644][LK-0313] MQTT connect success in 212 ms
      AIOT_MQTTEVT_CONNECT
    • 以下日志顯示設備LightSwitch訂閱了Topic /a18wP******/LightSwitch/user/get。

      [1620373302.144][LK-0309] sub: /a18wP******/LightSwitch/user/get

      Topic訂閱成功后,您可以返回物聯網平臺,在設備詳情頁面的Topic列表頁簽,單擊訂閱的Topic操作欄的發布消息,然后在發布消息對話框的消息輸入欄中,輸入一條消息,例如:This is a test message from Alibaba Iot Platform.,模擬從物聯網平臺向設備發送消息。發送消息

    • 以下日志顯示設備LightSwitch通過Topic /a18wP******/LightSwitch/user/update,向物聯網平臺上報了一條消息。

      [1619768570.644][LK-0309] pub: /a18wP******/LightSwitch/user/update
      
      [LK-030A] > 7B 22 69 64 22 3A 22 31  22 2C 22 76 65 72 73 69 | {"id":"1","versi
      [LK-030A] > 6F 6E 22 3A 22 31 2E 30  22 2C 22 70 61 72 61 6D | on":"1.0","param
      [LK-030A] > 73 22 3A 7B 22 4C 69 67  68 74 53 77 69 74 63 68 | s":{"LightSwitch
      [LK-030A] > 22 3A 30 7D 7D       
  • 您可以在物聯網平臺控制臺,查看設備的狀態和運行日志。

    • 左側導航欄,選擇設備管理 > 設備,找到設備,查看設備狀態。設備狀態顯示為在線,則表示設備與物聯網平臺成功連接。

    • 在左側導航欄,選擇監控運維 > 日志服務,選擇夜燈開關產品后,查看設備上線、訂閱Topic和上報消息的日志。

如果在調試過程中出現錯誤,請參見設備端接收的錯誤碼,根據提示解決問題。

后續步驟

  • 設備接入物聯網平臺后,您可以管理設備并對其進行監控運維。關于物聯網平臺的更多功能,請參見物聯網平臺產品功能。

  • 使用C Link SDK配置相關高級功能,請參見SDK功能概述。