久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2043|回復: 0
收起左側

阿里Link Develop 學習筆記一:設備接入

[復制鏈接]
ID:383790 發表于 2018-8-7 22:44 | 顯示全部樓層 |閱讀模式
使用MQTT連接阿里云IoT

注意, 在進行MQTT CONNECT協議設置的時候

  • Connect指令中的KeepAlive有效范圍[60秒,300秒],否則會拒絕連接。
  • 如果同一個設備多個連接可能會導致客戶端互相上下線,MQTT默認開源SDK會自動重連,您可以通過日志服務看到設備行為。

MQTT 連接域名:

使用域名:${productKey}.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883${productKey}請替換為您的產品key,mqtt的Connect報文參數如下:mqtt的Connect報文參數如下:mqttClientId: clientId+"|securemode=3,signmethod=hmacsha1,timestamp=132323232|"mqttUsername: deviceName+"&"+productKeymqttPassword: sign_hmac(deviceSecret,content)sign簽名需要把以下參數按字典序排序后,再根據signmethod加簽。content=提交給服務器的參數(productKey,deviceName,timestamp,clientId), 按照字母順序排序, 然后將參數值依次拼接其中clientId是客戶端自表示id,建議mac或sn,64字符內;timestamp當前時間毫秒值,僅做混淆,可以不傳遞;mqttClientId格式中||內為擴展參數;signmethod代表簽名算法類型,可支持hmacSha1,hmacSha256,hmacMd5;securemode代表目前安全模式,可選值有2 (TLS直連模式)、3(TCP直連模式;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

實例

如果clientId = 12345,deviceName = device, productKey = pk, timestamp = 789,signmethod=hmacsha1,deviceSecret=secret,那么使用tcp方式提交給mqtt參數分別如下:mqttclientId=12345|securemode=3,signmethod=hmacsha1,timestamp=789|username=device&pkpassword=hmacsha1("secret","clientId12345deviceNamedeviceproductKeypktimestamp789").toHexString();  //最后是二進制轉16制字符串,大小寫不敏感。 這個例子結果為 FAFD82A3D602B37FB0FA8B7892F24A477F851A14注意上面3個參數分別是mqtt Connect登錄報文的mqttClientId,mqttUsername,mqttPasswrod
  • 1
  • 2
  • 3
  • 4
  • 5
傳輸數據形式透傳

設備端直接通過上發自定義二進制數據, 云端對上傳上來的二進制數據直接進行解析(通過云端轉換腳本, 需自行開發), 并轉換為標準Alink協議數據的格式。而在下行時, 云端同樣會通過經過解析, 把標準的Alink協議數據轉換成二進制數據, 并發送到設備端。

透傳相關的Topic定義如下,傳輸數據為二進制數據。

下行 Topic
設備端訂閱Topic:/sys/{productKey}/{deviceName}/thing/model/down_raw
設備端回復Topic:/sys/{productKey}/{deviceName}/thing/model/down_raw_reply

上行 Topic
設備端發布Topic:/sys/{productKey}/{deviceName}/thing/model/up_raw
服務端回復Topic(需設備端訂閱):/sys/{productKey}/{deviceName}/thing/model/up_raw_reply

非透傳(Alink格式)

設備直接構造對應Topic以及對應的json格式數據, 云端直接進行解析。

設備屬性上報設備端發布Topic: /sys/{productKey}/{deviceName}/thing/event/property/postpayload:{    "id" : "123",    "version":"1.0",    "params" : {        "Power" : "on",        "WF" : "2"    },    "method":"thing.event.property.post"}服務端回復Topic(需設備端訂閱): /sys/{productKey}/{deviceName}/thing/event/property/post_replypayload:{    "id":"123",    "code":200,    "data":{}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
設備事件上報設備端發布Topic: /sys/{productKey}/{deviceName}/thing/event/{tsl.event.identifer}/postpayload:{    "id" : "123",    "version":"1.0",    "params" : {        "Power" : "on",        "WF" : "2"    },    "method":"thing.event.{tsl.event.identifier}.post"}服務端回復Topic(需設備端訂閱):/sys/{productKey}/{deviceName}/thing/event/{tsl.event.identifer}/post_replypayload:{    "id" : "123",    "code":200,    "data" : {}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
服務器獲取設備屬性設備端訂閱Topic: /sys/{productKey}/{deviceName}/thing/service/property/get注: params中為Json數據, 參數為開發者設置的屬性名字, 詳情參考TSL描述。payload:{    "id" : "123",    "version":"1.0",    "params" : [        "power" , "temp"    ],    "method":"thing.service.property.get"}注:服務端不會對get_reply數據做處理,目前獲取到的屬性值要求設備通過post方式上報。設備端回復Topic:/sys/{productKey}/{deviceName}/thing/event/property/postpayload:{    "id":"123",    "code":200,    "data":{        "power":"on",        "temp":"23"    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
服務器設置設備屬性設備端訂閱Topic: /sys/{productKey}/{deviceName}/thing/service/property/setpayload:{    "id" : "123",    "version":"1.0",    "params" : {        "Power" : "on",        "WF" : "2"    },    "method":"thing.service.property.set"}設備端回復Topic: /sys/{productKey}/{deviceName}/thing/service/property/set_replypayload:{    "id":"123",    "code":200,    "data":{}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
服務器觸發指定服務

異步模式下:

設備端訂閱Topic: /sys/{productKey}/{deviceName}/thing/service/{tsl.service.identifer}payload:{    "id" : "123",    "version":"1.0",    "params" : {        "Power" : "on",        "WF" : "2"    },    "method":"thing.service.{tsl.service.identifer}"}設備端回復Topic:/sys/{productKey}/{deviceName}/thing/service/{tsl.service.identifer}_replypayload:{    "id":"123",    "code":200,    "data":{}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

同步模式下:
注: messageId請參考【同步調用】中具體描述

設備端訂閱Topic: /sys/{productKey}/{deviceName}/rrpc/request/+payload:{    "id" : "123",    "version":"1.0",    "params" : {        "Power" : "on",        "WF" : "2"    },    "method":"thing.service.{tsl.service.identifer}"}設備端回復Topic:/sys/{productKey}/{deviceName}/rrpc/response/{messageId}payload:{    "id":"123",    "code":200,    "data":{}}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品国产乱码久久久久久闺蜜 | 日韩精品一区二区三区视频播放 | 99精品观看 | 精品久久一区二区 | 国产精品永久免费 | 日韩视频精品在线 | 久草视频在线看 | 国产精品激情 | 午夜电影网站 | 国产精品久久久久久久岛一牛影视 | 蜜臀av日日欢夜夜爽一区 | 欧美 日韩 国产 一区 | 琪琪午夜伦伦电影福利片 | 精品无码三级在线观看视频 | 精品国产一区二区三区久久影院 | 91大神xh98xh系列全部 | 欧美中文字幕一区二区三区 | 成人亚洲视频 | 欧美国产视频一区二区 | 精品91| 日韩免费一区 | 国产精品免费一区二区三区 | 老司机深夜福利网站 | 欧美精品综合 | 亚洲网站在线 | 国产午夜精品一区二区三区在线观看 | 国产一区二区三区在线看 | 国外成人在线视频 | 99热播放| 午夜欧美a级理论片915影院 | 一区二区三区在线播放 | 日韩精品一区二区三区在线观看 | 色永久 | 国产伦精品一区二区三区高清 | 国产精品久久久久久久 | 久久久国产精品视频 | 美女亚洲一区 | 亚洲一级黄色 | 国产精品久久久久久久久免费软件 | 国产乱人伦精品一区二区 | 久草视频在线播放 |