如何使用 MQTTS 連接到 QNAP QIoT Suite Lite?
本章節將介紹如何使用MQTTS連線到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/article/how-to-show-dht11-data-on-qiot-dashboard
另外,您也可以到QNAP GitHub 參考其他程式範例 :
https://github.com/qnap-dev/qnap-qiot-sdks
開啟IoT Application取得MQTTS連線設定檔
- 打開IoT應用並進入IoT 裝置頁面
- 選擇您要設定連線的IoT 裝置,點選 "連接裝置" 按鈕
- 選擇 "MQTTS" 並點選 "產生裝置憑證"
- 將以下裝置憑證全數下載
- 選擇 "下載JSON檔案",下載的檔名為"resourceinfo.json"
*更多關於resourceinfo.json資訊
下面為resourceinfo.json的範例:
{
"host":[
"172.17.28.73"
],
"myqnapcloudHost":"Not Available",
"port":28883,
"clientId":"rpi2_1509002899",
"username":"c08b5979-1f8f-42da-9085-d761707be65c",
"password":"r:e91d53d57729b9d0b59772f9f2a130dc",
"resources":[
{
"resourcename":"temp",
"resourceid":"temp",
"resourcetypename":"Temperature",
"datatype":"Float",
"unit":"°C",
"description":"",
"topic":"qiot/things/admin/rpi2/temp"
}
],
"caCert":"/v1/media/ca-crt.pem",
"clientCert":"/v1/media/7019512017-10-18_06-32-36/7019512017-10-18_06-32-36_certificate.pem",
"privateCert":"/v1/media/7019512017-10-18_06-32-36/7019512017-10-18_06-32-36_privatekey.pem"
}
- 參考:
- "host" : NAS的IP
- "myqnapcloudHost" : 顯示您是否連接上myqnapcloud DDNS服務,若連結上將會顯示hostname。(如果您有關於port轉發之設定問題,可以參考:https://qiot.qnap.com/blog/en/2017/09/21/solve-problem-using-different-port-qiot-suite-lite-v1-0-41/)
- "port" : MQTTS的通訊埠
- "clientId" : QIoT給予device端的ID
- "username" : MQTT連線認證帳號
- "password" : MQTT連線認證密碼
- "resources" : resource資訊,包含以下:
- description : QIoT資源的說明
- datatype : QIoT資源的資料格式
- resourceid : QIoT資源的資源ID
- topic : MQTTS發布及訂閱資料路徑
- resourcename : QIoT資源名稱
- resourcetypename : QIoT資源型態名稱
- unit : QIoT資源的單位
連線格式 :
"連線":
- Username : <username>
- Password : <password>
- Client ID : <clientId>
- CA Certificate : Choose the "CA Certificate" you downloaded earlier
- Client Certificate : Choose the "Device Certificate" you downloaded earlier
- Client Key : Choose the "Private Key" you downloaded earlier.
"發布":
- Topic : <topic>
- Payload :
- {"value" : <data>}
"訂閱":
- Topic : <topic>