微信小程序蓝牙热敏打印机调试总结

### 1.扫描设备筛选

要搜索的蓝牙设备主 service 的 uuid 列表。某些蓝牙设备会广播自己的主 service 的 uuid。如果设置此参数,则只搜索广播包有对应 uuid 的主服务的蓝牙设备。建议主要通过该参数过滤掉周边不需要处理的其他蓝牙设备。

问: 主uuid是怎么查到的呢?

比如蓝牙打印机,我使用18F0作为筛选,可以正确筛选的到Printer001设备。那么18F0是怎么获得的呢?有什么依据呢?

  • 打印信息:

image

image

  • 使用LightBlue来查看信息:

image

可以看到,在advertisServiceUUIDS中,以及APP打印的信息中,均看到了18F0的身影,但是我们还是不能够确认这种想法是否合理。

  • 现在我们用FEE7来筛选另一个蓝牙设备来做测试:

image

image

可以看到,FEE7依旧是取的是advertisServiceUUIDs列表中,第一个元素的,第三、第四两个字节作为筛选条件。

2.建立连接

  • 建立连接后,需要发现主服务和主特征值:

image

可以看到,我们共发现了4个主服务。那么我们要选哪个服务呢?暂时可以理解为选和主advertisServiceUUIDs中“第一个”相同的作为发现主特征值的那个服务。

  • 我们使用第一个服务来获取特征值:

image

获取到特征值后,我们就可以使用这个服务和这个服务对应的特征值(write 和 notify)来进行操作了(注意,write和notify需要使用他们所属的服务)。

我们通过特征值可以发现,第三和第四字节与lightBlue上的标识相同。并且与服务的不同,也仅仅是第三和第四位不相同而已。


   转载规则


《微信小程序蓝牙热敏打印机调试总结》 刘星星 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
防抖和节流 防抖和节流
防抖和节流防抖和节流在前端日常开发中使用的的频率相当高,在小程序还有Hybrid应用开发中也会使用到它。像underscore中就提供了这样的高阶函数。 防抖常见的使用场景有: 监听scroll的滚动 搜索框输入查询 表单验证 按
2020-04-01
下一篇 
在iOS中使用密码填充功能 在iOS中使用密码填充功能
在iOS中使用密码填充功能密码自动填充支持第三方 App 是 iOS 12 中包含的众多新功能之一。为了提高用户体验,越来越多的APP支持了这个功能,现在将这个特性总结一下(虽然貌似有点晚。。。)。 手机设置首先,你需要启用密码自动
2020-01-05
  目录