Skip to content

星图 WiFi 配网

本文档介绍星图设备的蓝牙配网协议,用于将 WiFi+蓝牙网关或带 WiFi 功能的门锁接入星图网络。

相关项目

星云项目组 / 星图互联-服务端 · GitLab 是星云智能锁业务的分布式通信架构,基于以下核心组件:

  • SCD - 中央服务器,提供设备发现和注册服务
  • SCRD - 中继服务器,支持 NAT 穿透和消息转发
  • SLS1 协议 - 基于 UDP 的点对点通信协议

星图 WiFi 配网的目的是通过蓝牙将 WiFi 参数和星图服务器信息下发给设备,使设备能够连接 WiFi 并注册到星图中央服务器。

功能概述

星图设备通常使用基于 UDP 的星图专用网络协议进行通信,但在设备初始化阶段需要先使用蓝牙协议进行配置。

适用设备/平台

  • 芯连的WIFI锁
  • 芯连的ESP32方案网关
  • 代号XB007的腾讯方案门锁(计划迁移到FD配网)

不适用

  • 蓝牙门锁:它无需配网
  • 鑫泓佳的ESP32网关:它使用FD配网
已废弃的对讲WiFi配网协议

早期对讲锁项目使用另一套配网协议,现已完全废弃,详见 对讲WiFi配网

配网流程

获取设备状态

指令码: 0x30F8

方向: APP → 设备

加密: SM4 私钥模式

请求消息

字段名称字段类型字段长度字段说明
CmdID整型2指令 ID
LockID字符串40锁 ID
UserID字符串20用户 ID

应答消息

字段名称字段类型字段长度字段说明
CmdID整型2指令 ID
Status整型1处理状态
BluetoothMac字符串20蓝牙 MAC 地址
SerialNum字符串20序列号
Version字符串20固件版本
NetworkCardMac字符串20网卡 MAC 地址

搜索 2.4G WiFi

指令码: 0x30F6

方向: APP → 设备

加密: SM4 私钥模式

请求消息

字段名称字段类型字段长度字段说明
UserID字符串20用户 ID

应答消息

字段名称字段类型字段长度字段说明
Status整型10=成功,其它=失败

说明

收到此命令后,设备将扫描 4 秒钟后返回结果。

WiFi 搜索结果

指令码: 0x30F7

方向: 设备 → APP

加密: SM4 私钥模式

请求消息

字段名称字段类型字段长度字段说明
Status整型10=成功,0xFF=失败
NumberOfSsid整型1SSID 数量
SSID字符串32WiFi 名称
RSSI整型1信号强度(如 -40dB)
...混合(32+1)×N多组 SSID 信息

设备配网

指令码: 0x30F4

方向: APP → 设备

加密: SM4 私钥模式

请求消息

字段名称字段类型字段长度字段说明
SSID字符串30WiFi 名称
Password字符串20WiFi 密码
ConfigureJsonLength整型2配置 JSON 字符串长度
ConfigureJson字符串变长网络配置字符串,从服务器获取

ConfigureJson 格式

json
{
  "starcloudRpcPeerId": "1234567890abcdefg00000000000000000000000000",
  "starcloudReportPeerId": "1234567890abcdefg000000000000000000000000001",
  "starcloudUrl": "http://local.cloud.star-lock.cn",
  "scdUrl": "http://sls1-scd.star-lock.cn:8710",
  "starlockPeerId": "1234567890abcdefg000000000000000000000000002",
  "clientId": "1OQRV3FN4Fk8FaEZKSF2Xx6O3UJOOip0",
  "secretKey": "090icLDU9WzAZJkeEb",
  "userPeerId": "FhxHuQMPWeLX77Lt7hFdQpxP5KNokqS75AFtHB6bbbo5"
}
字段说明
starcloudRpcPeerId星云下发指令使用的 PeerId,设备需验证发送来源
starcloudReportPeerId设备事件上报和对讲呼叫 APP 推送使用的 PeerId
starcloudUrl设备向星云发起 HTTP 请求使用的 URL(暂未使用)
scdUrl星图发现服务器 URL
starlockPeerId星锁后台的 PeerId(暂未使用)
clientId客户端标识
secretKey身份验证密钥,类似于 Token
userPeerIdAPP 对讲使用的 PeerId

重要

设备需要将这些字段全部存储,后续通信会用到。

应答消息

字段名称字段类型字段长度字段说明
CmdID整型2指令 ID
Status整型1处理状态

设备配网结果

指令码: 0x30F5

方向: 设备 → APP

加密: SM4 私钥模式

请求消息

字段名称字段类型字段长度字段说明
Status整型10=成功,0xFF=失败
DeviceJsonLength整型2DeviceJson 长度
DeviceJson字符串变长设备配网结果

DeviceJson 格式

json
{
  "peerId": "AYzRsyaj9h4wbibCzJZE7Gki3pedTqz27QgFBfGPsYCp",
  "secretKey": "090icLDU9WzAZJkeEb"
}
字段说明
peerId设备在星图发现服务器注册得到的 ID
secretKey身份验证密钥,可自行随机生成或由 APP 配网时传入

更换网络

指令码: 0x30F9

方向: APP → 设备

加密: SM4 私钥模式

使用场景

用于已配网设备更换 WiFi 网络。

请求消息

字段名称字段类型字段长度字段说明
SSID字符串30WiFi 名称
Password字符串20WiFi 密码
Token整型4动态口令
AuthCodeLen整型1鉴权码长度
AuthCode字符串变长鉴权码

应答消息

字段名称字段类型字段长度字段说明
CmdID整型2指令 ID
Token整型4动态口令
Status整型1处理状态

指令汇总

指令码名称方向说明
0x30F8获取设备状态APP → 设备获取 MAC、版本等信息
0x30F6搜索 2.4G WiFiAPP → 设备启动 WiFi 扫描
0x30F7WiFi 搜索结果设备 → APP返回扫描到的 WiFi 列表
0x30F4设备配网APP → 设备配置 WiFi 和星图参数
0x30F5配网结果设备 → APP返回配网结果和设备 PeerId
0x30F9更换网络APP → 设备更换已配网设备的 WiFi

鑫泓佳智能硬件通信协议文档