cassia 蓝牙盒子 curl error: device can not scan

需求 cassia 的蓝牙盒子,使用 curl 时,有些产品可以连接上,有些不行,报错: device can not scan. 但是使用 js 或者 cassia 的调试工具,是可以正常使用的。比较奇怪。 解决 经过使用 http://192.168.44.35/cassia/getlog?event=1 查看日志,才发现了问题。 curl -X POST -H "content-type: application/json" -d '{"timeout":"10000","type":"public"}' "http://192.168.44.35/gap/nodes/34:25:B4:23:64:B7/connection" 中间的 json 格式的数据,在 cassia 的后台日志中,发现变成了 -d '{timeout:10000,type:public}', 双引号丢失。这就造成了,如果蓝牙产品的 type 是 public 的,那么因为默认就是 public,所以正常连接没有问题,但是如果 type 是 random,那么就连接不上。 这个是在 windows 平台的 curl 出现的问题,在 linux 平台上面没有这个问题。经过网上查找之后,发现在 win 平台,需要专门改动参数才行,包括,json 中的 " 全部要转义,而且整个 json 外面的 ' 要改为 " 才行。 所以,在 win 平台,需要按照下面这样去写才行: curl -X POST -H "content-type: application/json" -d "{\"timeout\":\"15000\",\"type\":\"random\"}" "http://192....

2024-06-24 · 1 min · 82 words · RamLife

cassia 蓝牙盒子打开 notify handle number 问题

需求 cassia 的蓝牙盒子,调试工具中查看到 notify handle 是 21,但是开关 notify 结果是向 22 写入,比较奇怪。 解决 这个是因为 cassia 的调试工具,把一部分信息给隐藏了,才导致这种情况。 "descriptors":[{"handle":21,"uuid":"00001001-1212-efde-1523-785feabcd123"},{"handle":22,"uuid":"00002902-0000-1000-8000-00805f9b34fb"}] 可以看到,其实有两个 handle,一个的 uuid 是 00001001,另外一个是 00002902。前面一个是实际的数据 handle,后面一个是控制的 handle。cassia 的调试工具,隐藏了后一个,只显示前一个,才导致了这个问题。但是对于实际的使用不存在什么问题。 参考

2024-06-24 · 1 min · 26 words · RamLife

cassia 蓝牙盒子介绍

需求 cassia 的蓝牙盒子,可以用来连接蓝牙设备,主机只需要通过 http 来控制盒子即可。 解决 web 端调试工具 web 调试工具不行,FAE 远程帮忙调试也是不行的。 pc 端调试工具 pc 调试工具可以正常工作。可以实现扫描,连接,读写,断开等多种操作。 还可以查看日志,已经生成 js 代码的功能。 常用的额外调试方法 假设当前蓝牙盒子的 ip 是: 192.168.44.35 查看 log: http://192.168.44.35/cassia/getlog?event=1 扫描设备: http://192.168.44.35/gap/nodes?event=1 扫描强度设备: http://192.168.44.35/gap/nodes?filter_rssi=-35&chip=0&active=1&event=1 扫描指定 mac 设备: http://192.168.44.35/gap/nodes?filter_rssi=&chip=0&active=1&event=1&filter_mac=D3:E9:83:63:AD:09 扫描指定强度 mac 设备: http://192.168.44.35/gap/nodes?filter_rssi=-35&chip=0&active=1&event=1&filter_mac=D3:E9:83:63:AD:09 参考

2024-06-21 · 1 min · 39 words · RamLife