使用蓝牙透传模块开发微信蓝牙应用的坑爹过程

1,了解清楚连接数量。
一个蓝牙设备可以支持多个连接,连接多了速率就慢了。在不需要多连接的场合还是就用单连接好了。而且,所谓的多连接是多个连接,每个使用一个service,还是公用一个service也没去深究。因为,我觉得用得到多连接的场合就不该考虑使用透传,应该考虑自己集成蓝牙模块了。

2,信道。
包括了:service&特征值这些概念,你的读写最终是基于特征值的,每个特征是就像是一个信道,每个特征的特性也不一样,分为:读/写/notify/indication。这会影响到你的操作,比如:对一个只读的特征值写,那是不会成功的。还有,不具有notify和indication功能的,也别的指望收到数据后,微信端能主动调用数据回调。

3,android和ios对deviceid的定义是不一样的。
这点微信小程序的文档就已经说明了,注意即可。

4,官方例程是最好的参考。
官方文档提供的例程,但是目前为止,这个例程是有问题的,一个变量名搞错了,这个要注意下。毕竟,例程只是给你参考,你得要自己根据各种操作反馈去判断问题原因。

5,慎重选择公众号还是小程序。
微信蓝牙应用支持公众号和小程序,公众号步骤繁琐,要一堆的设备后台权限添加。而且,还必须进入公众号后才会链接设备。而且,公众号模式下通信很繁琐,听供货商说是每次数据传输都需要应答,所以速率上不去,实测带宽连500bytes/s都不到。而小程序下就和开发其余一般蓝牙应用一样,没什么别的差别,速率可以轻松突破10K/s。不过,小程序下不限制对设备的链接权限。但这个根本无关紧要,要做限制的话,可以在自己的业务层面实现。总之,及其不推荐使用公众号开发微信蓝牙应用。

最后是一点对于微信蓝牙应用的个人看法。
蓝牙的定位应该是在无网络的场景下满足设备连接外网的需求,把手机当成网关。它适合简单需求场景,比如:简单的设备巡检后将数据上传。一旦需求变复杂都应该采用联网模式,因为蓝牙的限制太多,它轻便的优势在复杂需求面前将不复存在。我目前对它的定位就是–在不值得组网的场合,为一些不重要的数据提供上传至服务器的网关。后续的复杂需求都将由组网方案来实现。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值