金桔蓝牙网关蓝牙连接协议说明
下发蓝牙链接
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 | 该连接单次发送的最大字节数 |
金桔蓝牙网关蓝牙连接协议说明相关推荐
- 金桔蓝牙网关蓝牙连接错误代码对照表
金桔蓝牙网关在蓝牙连接断开后会发送断开的推送消息: {"Gateway": "10000060", "NodeId": "1000 ...
- 蓝牙网关蓝牙不同模式下速率——蓝牙单链接
金桔蓝牙网关提供了各个蓝牙模式的适配,在蓝牙5.0的功能下,提供PHY 2M,PHY 1M和125K(longrange 远距离)模式,下图是各个模式下的蓝牙速率对比,但是是kbps,注意这里是小b, ...
- BLE 蓝牙网关与蓝牙定位
参考:[IoT]BLE 蓝牙网关与蓝牙定位技术解析 地址:https://blog.csdn.net/liwei16611/article/details/85245109?spm=1001.2014 ...
- 蓝牙快递标签打印机连接加密算法
现在蓝牙快递标签打印机 与APP之间, 大部分都有自己专用的协议,用于该APP只能使用自家的打印机设备,下面介绍一种比较常见的加密连接协议. HASH加密算法演示,一般应用于蓝牙打印机(蓝牙快递标签打 ...
- 金桔蓝牙网关在工业物联网中的应用
金桔蓝牙网关在工业物联网中的应用 工业生产现场涉及大量的生产设备.生产应用系统.生产物资.产品以及人员,工业物联网就是将所有的生产要素通过稳定.可靠.易管理的网络串联起来. 工业现场环境复杂,采用有线 ...
- 小米温湿度计接入金桔通用蓝牙网关
金桔通用蓝牙网关里内置了小米温湿度计的蓝牙描述脚本文件,用户直接选择即可使用. 首先我们需要配置网关将小米温湿度计的设备过滤出来,小米温湿度计的蓝牙名是这样的: 我们配置网关用名称过滤过滤出该设备,只 ...
- 金桔蓝牙网关的有效传输距离,能传多远
金桔蓝牙网关的有效传输距离,能传多远 在选择蓝牙网关时,距离是一个重要的考量指标.蓝牙网关的覆盖距离直接关乎最终安装的设备数量,也关乎到总体成本,减少蓝牙网关,不仅仅可用减少购买网关的成本,同时会降低 ...
- 线程与蓝牙:物联网连接的 VHS 与 Betamax?
今天感觉又回到了 1980 年代.就像那个时代的家庭媒体格式战争一样,两种低功耗无线电互联网协议之间正在酝酿一场争夺物联网 (IoT) 主导地位的战斗. 这一转变是在将基于电池的设备与 Wi-Fi 连 ...
- 蓝牙网关应用-通过ACSERVER将蓝牙测量数据保存到Influxdb数据库中并通过grafana生成图表
蓝牙网关应用之通过grafana生成小米温度计曲线图 准备环境 启动influxdb 启动grafana 配置acserver 配置网关 配置数据解析类型 连接小米温湿度计 配置grafana 金桔蓝 ...
最新文章
- C/C++程序编译过程详解
- php遍历指定目录中的内容2
- TX Text Control X10新特性之图像占位符合并
- 三星android 7.0 root,三星G9300 7.0 root教程及获取7.0的root权限
- 前端必看 | 2D游戏化互动入门基础知识
- c++学习笔记之异常
- 斜齿轮啮合 matlab,渐开线斜齿轮曲面精确建模及MatLab仿真
- Java—JVM加载机制
- moxy json介绍_MOXy作为您的JAX-RS JSON提供程序–客户端
- Python——验证码识别 安装Pillow、tesseract-ocr与pytesseract模块的安装以及错误解决
- realsense d435i 跑 vins-fusion
- Java 设计模式之Mediator调节者模式
- Maven学习总结(46)——Maven跳过单元测试的两种方法及其区别(-Dmaven.test.skip=true与-DskipTests)
- Spring Cloud Alibaba Sentinel之流控规则篇
- 刚接手的项目代码 怎么看_你们刚开始是怎么看英文文献的?
- 左耳朵耗子:程序员练级攻略
- 算法题:求一个数的三次方根
- 海信在CES宣布推出75英寸到100英寸的全系全色激光电视产品
- vscode 更换markdown样式的方法(任意样式都行),并推荐我自用样式(参考于Pie)。
- 水墨风的山水大坝3d可视化场景