下发蓝牙链接
http://127.0.0.1:8888/ac/station?cmd=setblelink_type&mac=10.00.00.63.42.42&stationId=10002095&type=test2
参数说明:
字段 | 描述 |
---|---|
cmd | 命令类型,固定为setblelink_type |
mac | 设备的mac地址 |
stationId | 用哪个网关进行连接 |
type | 连接的类型名,就是刚刚保存的test2 |
下发连接后,基站会反馈此次下发蓝牙连接的执行结果,通过推送接口推送(注意下发命令通过http接口的,依然会通过推送接口推送此反馈消息)
{
"Gateway": "10000060",
"NodeId": "00000000",
"SystemId": "10990145",
"Type": "ble_set_link_result",
"addr": "100000614242",
"set_result": "OK"
}
字段描述:
字段 | 描述 |
---|---|
Gateway | 基站的ID |
NodeId | 忽略 |
SystemId | ACserver的系统id |
Type | 此消息类型固定为ble_set_link_result |
addr | 该蓝牙连接的mac地址 |
set_result | 该命令的执行结果,该类型有三个结果:OK-执行成功;ALREADY-该mac地址已经在建立蓝牙连接的列表中,不需要再建立连接了;OUT_OF_NUMBER-蓝牙连接的数量超过基站的最大连接数,不能为该设备建立蓝牙连接。 |
下发蓝牙发送:
HTTP请求接口:
http://127.0.0.1:8888/ac/station?cmd=blelinksend&mac=39.99.99.99.44.42&stationId=10000060&data=11,22,34,55
字段描述:
字段 | 描述 |
---|---|
cmd | 命令类型,固定为blelinksend |
mac | 设备的mac地址 |
stationId | 用哪个网关进行连接 |
data | 需要发送的内容,是英文逗号分开的十六进制数据 |
下发蓝牙读取:
HTTP请求接口:
http://127.0.0.1:8888/ac/station?cmd=blelinkread&mac=39.99.99.99.44.42&stationId=10000060&rxuuid=0001
字段 | 描述 |
---|---|
cmd | 命令类型,固定为blelinkread |
mac | 设备的mac地址 |
stationId | 用哪个网关进行连接 |
rxuuid | 连接的读取的uuid特征码 |
下发蓝牙断开:
http://127.0.0.1:8888/ac/station?cmd=setbledisconnect&mac=39.99.99.99.44.42&stationId=10000060
字段 | 描述 |
---|---|
cmd | 命令类型,固定setbledisconnect |
mac | 设备的mac地址 |
stationId | 用哪个网关进行连接 |
下发连接后,基站会反馈此次下发蓝牙连接的执行结果,通过推送接口推送(注意下发命令通过http接口的,依然会通过推送接口推送此反馈消息)
{
"Gateway": "10000060",
"NodeId": "00000000",
"SystemId": "10990145",
"Type": "ble_set_disconnect_result",
"addr": "100000614349",
"link_status": "NOLINK",
"set_result": "OK"
}
参数描述:
字段 | 描述 |
---|---|
Gateway | 基站的ID |
NodeId | 忽略 |
SystemId | ACserver的系统id |
Type | 此消息类型固定为ble_set_disconnect_result |
addr | 该蓝牙连接的mac地址 |
set_result | 该命令的执行结果,该类型有两个结果:OK-执行成功;NO_ADDR-该mac地址不在蓝牙连接的列表中(不一定建立连接,不在列表中)。 |
link_status | 断开连接前,该基站是不是对该设备建立了连接,该类型有两个结果:NOLINK-没有建立蓝牙连接;CONNECTED-已经建立了蓝牙连接。 |
上传蓝牙连接成功消息
上传成功消息有两种,一种是ble_evt_bleconnect 此消息是建立了蓝牙物理链接,但是此时并未找到服务,所以并不能发送和读取数据;另一种是ble_evt_connected 此消息是找到服务,此时开始可以进行发送数据和接收数据。
蓝牙成功消息:
{
"Gateway": "10000060",
"NodeId": "10000061",
"SystemId": "10990145",
"Type": "ble_evt_bleconnect",
"mac": "100000614242"
}
服务链接成功消息:
{
"Gateway": "10000060",
"NodeId": "10000061",
"SystemId": "10990145",
"Type": "ble_evt_connected",
"data_length": "247",
"link": 0,
"mac": "100000614242",
"services": [
{
"type": "VENDOR",
"uuid": "0001"
},
{
"type": "SIG",
"uuid": "0001"
},
{
"Characteristic": [
{
"auth_signed_wr": 0,
"broadcast": 0,
"indicate": 0,
"notify": 0,
"read": 0,
"type": "VENDOR",
"uuid": "0004",
"write": 1,
"write_wo_resp": 1
},
{
"auth_signed_wr": 0,
"broadcast": 0,
"indicate": 0,
"notify": 1,
"read": 0,
"type": "VENDOR",
"uuid": "0005",
"write": 0,
"write_wo_resp": 0
}
],
"type": "VENDOR",
"uuid": "F001"
}
]
}
服务链接成功消息下面,有services字段,将扫描到的服务列表上传,一般可以可忽略。
蓝牙接收消息:
{
"Gateway": "10000060",
"NodeId": "10000061",
"SystemId": "10990145",
"Type": "ble_evt_rxd",
"data": "01,02,03,04",
"mac": "100000614242"
}
此消息为通知服务uuid收到的节点上传的数据,data字段里包含了上传的十六进制数据,用逗号分开。
蓝牙读取消息:
{
"Gateway": "10000060",
"NodeId": "10000061",
"SystemId": "10990145",
"Type": "ble_evt_read",
"data": "01,02,03,04",
"mac": "100000614242"
}
此消息为读取服务uuid收到的节点上传的数据,data字段里包含了上传的十六进制数据,用逗号分开。
蓝牙连接超时消息:
{
"Gateway": "10000060",
"NodeId": "10000061",
"SystemId": "10990145",
"Type": "ble_evt_timeout",
"mac": "100000614242",
"status": "connected"
}
此消息为连接时限超过设定的超时时间,status字段代表了是否是处于连接状态的连接超时。
蓝牙连接断开消息:
{
"Gateway": "10000060",
"NodeId": "10000061",
"SystemId": "10990145",
"Type": "ble_evt_disconnected",
"mac": "100000614242",
"reason": "22"
}
此消息为断开蓝牙消息,reason为内部调试使用,客户可忽略。
获取蓝牙网关连接信息
调用接口:
http://127.0.0.1:8888/ac/station?cmd=station_read_connection_info&ids=10000060
推送数据推送:
{
"Gateway": "10000060",
"NodeId": "00000000",
"SystemId": "10990145",
"Type": "ble_station_connection_info",
"conn": [
{
"addr": "3F,FF,FF,FF,44,42",
"addtime": "2020-11-20 12:21:58",
"conn_status": "connected",
"data_len": 247,
"timeout": "2020-11-20 10:18:37"
}
]
}
字段 | 描述 |
---|---|
conn | 字段里包含当前连接的数组: |
addr | 连接蓝牙设备的地址 |
addtime | 连接蓝牙设备的开始时间 |
timeout | 连接蓝牙设备的超时时间 |
conn_status | 当前状态是不是已经建立连接 |
data_len | 该连接单次发送的最大字节数 |