蓝牙网关

大象笔记 > 标签 > 蓝牙网关

蓝牙网关未收到蓝牙设备数据的问题定位

排查思路 [X] 先确定蓝牙设备是否有问题。手机连接蓝牙设备,查看是否能收到推送数据。 [X] 关闭蓝牙网关 [X] Android APP 工具 “BLE调试助手”。确实可以收到数据,需要订阅。 [X] 蓝牙网关调试助手,通过 UDP 接收蓝牙数据,方便调试 [X] 查看蓝牙网关实用手册。了解如何自动配对。果然里面的蓝牙通信测试工具里需要填写服务和特性的 UUID,以及 handle 和 cccd。 [X] 可以建立连接,但是无法收到数据。 最终还是咨询官方技术支持得到了解决。 原因是,我只填写了服务的 UUID,而没有修改默认的特性 UUID,导致获取的是无效的 handl ...

阅读全文...

通过蓝牙网关下发指令,过滤掉蓝牙设备高频率的波形数据

问题 蓝牙设备默认会以每秒钟 350 次的频率向蓝牙网关发送实时波形数据(心电波形、血氧波形、呼吸波形), 然后蓝牙网关再将这些数据转发到服务器。 这些波形数据是没有记录价值的 蓝牙设备数量不可控,在数量多时,对服务器产生巨大的并发请求压力。我在开发机上 WSL Ubuntu 里部署的 EMQX 偶尔会扛不住挂掉。。。原因不明。 高频造成的数据黏包严重。例如蓝牙网关协议的数据包部分,能频繁看到多个蓝牙数据包拼接,且被截断的情况 蓝牙设备虽然支持禁用波形数据输出,但是每次重启都恢复原配置 过滤掉波形数据的方案 服务器端每十秒向蓝牙网关下发一次禁用波形数据的控制指令。 emqx 限速 http ...

阅读全文...

蓝牙网关 MQTT 的多设备接入及多型号兼容

多设备接入需求 多个设备接入 MQTT 多种设备型号的兼容。考虑到蓝牙网关/体征监测设备商可能停产,或升级。造成蓝牙协议变化。 MQTT Client ID 规范 终端类型 整机设备标识 DeviceID 座位标识 SeatIndex 例如:1/2/3 ...。以密封舱内多设备为例。 例如: - 蓝牙网关:gateway_<DeviceID>_<SeatIndex> - Pad: pad_<DeviceID>_<SeatIndex> 主要是为了防止 client id 冲突。 TOPIC 规范 mqtt 订阅回调函数中可以获取到消息的来 ...

阅读全文...