一、功能流程圖

圖 1:設(shè)備喚醒功能整體流程示意圖
二、版本要求
為確保喚醒功能穩(wěn)定性和完整性,需滿足以下版本要求:
- 服務(wù)器版本:建議升級(jí)到
3.4.12.0及以上; - P2P SDK版本:建議升級(jí)到
3.4.0及以上。
三、Demo參考
SDK 提供完整的喚醒功能示例代碼,可直接參考集成,Demo路徑如下:
說明:Demo 包含?;钆渲?、喚醒包處理、鏈路檢測(cè)等核心邏輯,可基于該示例快速適配產(chǎn)品。
四、?;罘绞?/h2>設(shè)備需通過與服務(wù)器建立保活鏈路,確保服務(wù)器能正常下發(fā)喚醒指令。支持 TCP 和 UDP 兩種方式,推薦雙鏈路混合策略。
(一)各?;罘绞教匦詫?duì)比不同?;罘绞降膬?yōu)缺點(diǎn)及適用場(chǎng)景如下:
- UDP ?;?/strong>
- 優(yōu)勢(shì):輕量化、功耗低、傳輸效率高;
- 劣勢(shì):無連接特性,無法直接感知設(shè)備掉線(服務(wù)器后續(xù)將新增回應(yīng)開關(guān));
- 端口獲取:通過 SDK 提供的 API 動(dòng)態(tài)獲取。
- TCP ?;?/strong>
- 優(yōu)勢(shì):面向連接,支持 TCP Keep-Alive 機(jī)制,可通過 Socket 狀態(tài)直接判斷設(shè)備是否掉線;
- 劣勢(shì):相對(duì) UDP 功耗略高、連接建立成本稍大;
- 端口選擇:支持
80、443、8000、8080、21047 中的任意一個(gè)(建議優(yōu)先選擇 80/443,兼容性更強(qiáng))。
- TCP+UDP 雙鏈路混合(推薦)
- 優(yōu)勢(shì):結(jié)合 TCP 掉線檢測(cè)能力和 UDP 低功耗特性,可靠性最高;
- 適用場(chǎng)景:主流低功耗設(shè)備(如攝像頭、傳感器等),需兼顧喚醒成功率和功耗控制。
(二)?;铌P(guān)鍵配置保活參數(shù)配置直接影響功耗和喚醒可靠性,建議按以下標(biāo)準(zhǔn)設(shè)置:
- 心跳包間隔40-60 秒
- 說明:間隔越短,設(shè)備在線狀態(tài)更新越及時(shí),喚醒響應(yīng)越快,但功耗越高;需根據(jù)產(chǎn)品功耗預(yù)算平衡調(diào)整。
- TCP Keep-Alive 配置
- 需開啟系統(tǒng)層 TCP Keep-Alive,建議配置:探測(cè)間隔 30s,探測(cè)次數(shù) 3 次(具體配置參考操作系統(tǒng)文檔);
- 作用:確保 TCP 鏈路長(zhǎng)期有效,避免被路由器/防火墻斷開連接。
設(shè)備需通過與服務(wù)器建立保活鏈路,確保服務(wù)器能正常下發(fā)喚醒指令。支持 TCP 和 UDP 兩種方式,推薦雙鏈路混合策略。
不同?;罘绞降膬?yōu)缺點(diǎn)及適用場(chǎng)景如下:
- 優(yōu)勢(shì):輕量化、功耗低、傳輸效率高;
- 劣勢(shì):無連接特性,無法直接感知設(shè)備掉線(服務(wù)器后續(xù)將新增回應(yīng)開關(guān));
- 端口獲取:通過 SDK 提供的 API 動(dòng)態(tài)獲取。
- 優(yōu)勢(shì):面向連接,支持 TCP Keep-Alive 機(jī)制,可通過 Socket 狀態(tài)直接判斷設(shè)備是否掉線;
- 劣勢(shì):相對(duì) UDP 功耗略高、連接建立成本稍大;
- 端口選擇:支持
80、443、8000、8080、21047中的任意一個(gè)(建議優(yōu)先選擇 80/443,兼容性更強(qiáng))。
- 優(yōu)勢(shì):結(jié)合 TCP 掉線檢測(cè)能力和 UDP 低功耗特性,可靠性最高;
- 適用場(chǎng)景:主流低功耗設(shè)備(如攝像頭、傳感器等),需兼顧喚醒成功率和功耗控制。
保活參數(shù)配置直接影響功耗和喚醒可靠性,建議按以下標(biāo)準(zhǔn)設(shè)置:
- 說明:間隔越短,設(shè)備在線狀態(tài)更新越及時(shí),喚醒響應(yīng)越快,但功耗越高;需根據(jù)產(chǎn)品功耗預(yù)算平衡調(diào)整。
- 需開啟系統(tǒng)層 TCP Keep-Alive,建議配置:探測(cè)間隔 30s,探測(cè)次數(shù) 3 次(具體配置參考操作系統(tǒng)文檔);
- 作用:確保 TCP 鏈路長(zhǎng)期有效,避免被路由器/防火墻斷開連接。
五、?;罱ㄗh
為提升喚醒成功率,需合理規(guī)劃?;罘?wù)器數(shù)量,平衡可靠性與功耗:
- 建議最少向 2 臺(tái)服務(wù)器 ?;睿◤墨@取到的服務(wù)器列表中隨機(jī)選?。?,支持以下組合:
- 組合1:2臺(tái) TCP 服務(wù)器;
- 組合2:2臺(tái) UDP 服務(wù)器;
- 組合3:1臺(tái) TCP + 1臺(tái) UDP 服務(wù)器(推薦,兼顧可靠性和功耗)。
- 保活服務(wù)器數(shù)量與喚醒成功率、功耗的關(guān)系:
- 服務(wù)器越多:?jiǎn)拘殉晒β试礁撸ū苊鈫畏?wù)器故障導(dǎo)致喚醒失敗),但設(shè)備功耗越高;
- 產(chǎn)品設(shè)計(jì)需權(quán)衡:低功耗場(chǎng)景(如電池供電設(shè)備)可選擇 2 臺(tái)服務(wù)器;高可靠性場(chǎng)景(如工業(yè)設(shè)備)可增加至 3-4 臺(tái)。
六、低功耗設(shè)備對(duì)接建議
- 鏈路故障處理:某鏈路連續(xù)3次斷開或者心跳無響應(yīng),立即切換備用服務(wù)器,保障喚醒通道;
- 功耗測(cè)試:部署前測(cè)試不同心跳間隔功耗,選擇產(chǎn)品最優(yōu)值;
- 兼容性測(cè)試:在家庭WiFi、4G/5G、企業(yè)內(nèi)網(wǎng)等環(huán)境中驗(yàn)證?;罘€(wěn)定性和喚醒成功率。
七、注意事項(xiàng)
1. 喚醒包粘包處理:服務(wù)器下發(fā)的喚醒包可能存在多個(gè)包粘包的情況,設(shè)備端需按以下規(guī)則處理:
- 設(shè)備本地需保存喚醒包的標(biāo)準(zhǔn)長(zhǎng)度(如 32 字節(jié));
- 收到數(shù)據(jù)后,僅取前 N 字節(jié)(N=本地保存的喚醒包長(zhǎng)度)進(jìn)行比對(duì),忽略后續(xù)粘包數(shù)據(jù);
- 示例:本地喚醒包長(zhǎng)度為 32 字節(jié),收到 64 字節(jié)數(shù)據(jù)時(shí),僅比對(duì)前 32 字節(jié)是否匹配喚醒包格式。
2. 端口兼容性:TCP ?;疃丝谛璞荛_設(shè)備已占用的端口,建議在初始化時(shí)檢測(cè)端口可用性,優(yōu)先選擇 80/443(大部分網(wǎng)絡(luò)環(huán)境不會(huì)封禁)。
3. 鏈路恢復(fù):若檢測(cè)到某條?;铈溌窋嚅_(如 TCP Socket 報(bào)錯(cuò)、UDP 多次無響應(yīng)),需在 30 秒內(nèi)重新建立連接,避免影響喚醒可用性。
