本文章將介紹如何使用MQTT連線到QNAP QIoT Suite Lite

如需其他QIoT Suite Lite連接到不同開發版的部分可參考:
https://www.qnap.com/go/how-to/tutorial/qiot-suite-lite

關於如何建立IoT Applaction及Thing部分,可參考:
https://www.qnap.com/go/how-to/tutorial ... -dashboard

另外,您也可以到QNAP GitHub 參考其他程式範例: https://github.com/qnap-dev/qnap-qiot-sdks

開啟IoT Application取得MQTT連線設定檔

  • 打開IoT應用並進入IoT 裝置頁面
  • 選擇您要設定連線的IoT 裝置,點選 "連接裝置" 按鈕
  • 選擇 "MQTT"並點選 "下一頁" 
  • 選擇 "下載JSON檔案",下載的檔名為"resourceinfo.json"

* 更多關於resourceinfo.json資訊
下面為resourceinfo.json的範例:

	{

      "username": "c08b5979-1f8f-42da-9085-d761707be65c",

      "myqnapcloudHost": "Not  Available",

      "clientId":  "rpi2_1509005726",

      "host": [

      "172.17.28.73"

      ],

      "password":  "r:e91d53d57729b9d0b59772f9f2a130dc",

      "port": 21883,

      "resources": [

      {

       "description":  "",

       "datatype":  "Float",

       "resourceid":  "temp",

       "topic":  "qiot/things/admin/rpi2/temp",

       "resourcename":  "temp",

       "resourcetypename":  "Temperature",

       "unit": "°C"
       }

      ]
  }
  • 參考:
    1. "host" : NAS的IP
    2. "myqnapcloudHost": 顯示您是否連接上myqnapcloud DDNS服務,若連結上將會顯示hostname。(如果您有關於port轉發之設定問題,可以參考: https://qiot.qnap.com/blog/en/2017/09/2 ... e-v1-0-41/
    3. "port": MQTT的通訊埠
    4. "clientId": QIoT給予device端的ID
    5. "username": MQTT連線認證帳號
    6. "password" :MQTT連線認證密碼
    7. "resources":resource資訊,包含以下:
      • description: QIoT資源的說明
      • datatype: QIoT資源的資料格式
      • resourceid: QIoT資源的資源ID
      • topic: MQTT發布及訂閱資料路徑
      • resourcename: QIoT資源名稱
      • resourcetypename: QIoT資源型態名稱
      • unit: QIoT資源的單位
  • 連線格式:
    "連線":
    • Username : <username>
    • Password : <password>
    • Client ID : <clientId>
    "發布":
    • Topic : <topic>
    • Payload:
      • {"value" : <data>}
    "訂閱":
    • Topic : <topic>