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

攝像頭設備配網開發實踐

生活物聯網平臺為攝像頭設備提供一種不依賴App和設備本地通信即可完成綁定的解決方法。攝像頭設備連接路由器后,當發生本地局域網不通或路由器設置問題,導致App無法發現并綁定設備時,您可以將該解決辦法作為攝像頭設備的輔助配網方案。

配網開發流程

該解決方法的配網流程如下。

  1. 手機App生成二維碼圖片。

    二維碼中包含當前手機連接Wi-Fi的SSID、password、BSSID、random(3個字節的隨機數)。

  2. 攝像頭設備掃描并解析二維碼。

    設備端調用生活物聯網平臺SDK提供的awss_connect接口(詳細介紹參見本文檔下方“設備端接口與實現”),獲取二維碼中傳遞的SSID、password、BSSID、random,并按一定規則生成token。具體操作,請參見生成token的規則。

  3. 設備端將生成的token上報云端。

  4. App通過根據token查詢設備的證書信息接口向云端發送輪詢消息,當收到的返回消息為請求成功后,向設備發起綁定。

設備端接口與實現

設備端開發時,您需要實現通過調用awss_connect函數(頭文件為#include "connect_ap.h"),來解析二維碼信息和生成token的能力,并將生成的token上報到云端。

awss_connect函數的原型如下。

awss_connect(char ssid[HAL_MAX_SSID_LEN], char passwd[HAL_MAX_PASSWD_LEN], uint8_t *bssid, uint8_t bssid_len, uint8_t *token, uint8_t token_len, bind_token_type_t token_type)

函數的參數說明如下。

參數

類型

描述

ssid

char

路由器的SSID。

passwd

char

路由器的密碼。

bssid

uint8_t *

路由器的BSSID,即MAC地址。

bssid_len

uint8_t

BSSID的長度。

token

uint8_t *

生活物聯網平臺SDK按一定規則生成的token。

token_len

uint8_t

生成的token的長度。

token_type

bind_token_type_t

生成的token的類型。

說明

該參數僅在生活物聯網平臺SDK 1.6.0及以上版本的該函數中存在,SDK 1.6.0以下版本請忽略。

以下為您提供awss_connect函數的使用示例。設定函數配置值如下。

char* ref_ssid = "ssid";
char* ref_passwd = "passwd";
uint8_t ref_bssid[6] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66};
uint8_t ref_token[3] = {0xaa, 0xbb, 0xcc};
uint8_t ref_token_type = TOKEN_TYPE_NOT_CLOUD;

則函數調用示例如下。

awss_connect(ref_ssid, ref_passwd, ref_bssid, 6, ref_token, 3, ref_token_type);

生成token的規則

二維碼中通常包含BSSID、password、random三個字段。生成token的規則為拼接二維碼中字段,并取前16個字節。

根據二維碼規范random字段必有,生成token的規則存在以下幾種情形。

場景

拼接規則

二維碼中有BSSID且有password

sha256(bssid(hex)+random(hex)+password(hex))

二維碼中無BSSID有password

sha256(random(hex)+password(hex))

二維碼中無BSSID且無password

sha256(random(hex))

以下為您提供token生成規則的示例。設定二維碼中字段值如下。

BSSID: C8:3A:35:23:08:31
SSID:myname
password:12345678
RandomHex:911182

即該示例的二維碼規范為:{"v":"Ali_1","s":"myname","p":"12345678","b":"C83A35230831","t":"911182"}

則此時設備端調用信息如下。

char* ref_ssid = "myname";
char* ref_passwd = "12345678";
uint8_t ref_bssid[6] = {0xc8, 0x3a, 0x35, 0x23, 0x08, 0x31};
uint8_t ref_token[3] = {0x91, 0x11, 0x82};
awss_connect(ref_ssid, ref_passwd, ref_bssid, 6, ref_token, 3);

shar origin data = c83a352308319111823132333435363738,
sha = 8f2f5a6476bfabb52de0ea644b469eb5c70c2f4c6c05a51b8e70cdbe54ae8cb7
token = 8F2F5A6476BFABB52DE0EA644B469EB5

跨站點綁定攝像頭設備

  1. 獲取App當前所在的站點。

  2. 生成攝像頭的配網二維碼。

    二維碼中需攜帶SSID、password、BSSID、random、regionid等信息。

  3. 攝像頭設備解析配網二維碼。

    解析二維碼的流程如下:

    1. 調用iotx_guider_set_dynamic_region(info->region_id);接口,讓設備連上對應的站點。

    2. 調用awss_connect接口,解析其他信息。

  4. 綁定攝像頭設備。