帖子
帖子
用户
博客
课程
显示全部楼层
5
帖子
0
勋章
52
Y币

关于ble模块的一些分享,如有不对请指出~

[复制链接]
发表于 2021-11-19 09:33:23
我实际调用到的方法:1、openBluetooth                           打开蓝牙
2、initManager                                初始化
3、scan                                            扫描设备
4、stopScan                                     停止扫描
5、getPeripheral                              获取设备
6、connect                                       连接设备
7、discoverService                           获取Service  
8、discoverCharacteristics               获取Characteristics  
9、writeValueForCharacteristic       写入数据
10、setNotify                                   侦听设备回的数据
11、disconnect                                 断开设备连接
12、readValueForCharacteristic       读取设备数据(一般是用去读取电池的数据)

使用流程(按序号):
a、获取设备到连接设备过程:
     1、2、4、3、5、6
b、连接设备到发送设备过程
     一:7、8 、10、9(读写的ServiceUUID一样时)
     二:7、8、8、10、9(读写的ServiceUUID不一样。好比两条门,一个钥匙不能打开两个门,要分两次打开)
c、11、12看情况使用

另外需要注意:
10执行完以后不能立马执行9,会造成发送数据失败,需要间隔时间,250ms最好

如有不对,请指出


11
帖子
0
勋章
292
Y币
10
帖子
0
勋章
53
Y币
你好,我用ble模块连接蓝牙读卡器,scan能扫描到设备但是connect的时候报133错误
{"code":133,"peripheralUUID":"3D:B8:33:50:3C:4B","detailErrorCode":"newState:0"}

var ble = api.require('ble');
                    ble.connect({
                        peripheralUUID: uid
                    }, function(ret, err) {
                        if (ret.status) {
                            console.log('连接成功!');
                            api.alert({msg: "连接成功!"});
                        }else{
                            console.log('连接失败!');
                            api.alert({msg: "连接失败!"});
                            console.log(JSON.stringify(err));
                            api.alert({msg: JSON.stringify(err)});
                        }   
                    });
5
帖子
0
勋章
52
Y币
我也经常遇到这种问题。手机蓝牙开关下,或者连接的时候延迟下
saiyu · 2021-12-1 10:31你好,我用ble模块连接蓝牙读卡器,scan能扫描到设备但是connect的时候报133错误
{"code":133,"peripheralUUID":"3D:B8:33:50:3C:4B","detailErrorCode":"newState:0"}

10
帖子
0
勋章
53
Y币
连接的延迟怎么弄?connect方法好像不能设置30秒的默认超时吧,我是用华为的平板测试的,平板上有一个蓝牙读卡器厂家给的测试app和现在在开发的自己的app,用测试app连接能秒连,自己的app用ble模块连接设备就是一直在连接中然后30秒超时失败,报133,搞到现在自己的app没一次成功连接过读卡器。
qianshui11 · 2021-12-2 13:35我也经常遇到这种问题。手机蓝牙开关下,或者连接的时候延迟下
赞。   
130
帖子
7
勋章
6万+
Y币
5
帖子
0
勋章
52
Y币
本帖最后由 qianshui11 于 2021-12-6 08:54 编辑

1、或者做个重连。连接失败继续连
setTimeout(function(){
//连接
},250)
saiyu · 2021-12-2 14:47连接的延迟怎么弄?connect方法好像不能设置30秒的默认超时吧,我是用华为的平板测试的,平板上有一个蓝牙读卡器厂家给的测试app和现在在开发的自己的app,用测试app连接能秒连,自己的app用ble模块连接设备就是一直 ...

124
帖子
2
勋章
3293
Y币
133后调用这个函数重连结果也是133
qianshui11 · 2021-12-6 08:521、或者做个重连。连接失败继续连
setTimeout(function(){
//连接
3
帖子
0
勋章
21
Y币
请问下如果是writeValueForCharacteristic写入的数据包长度超过200,没超过500,具体要怎么做?
您需要登录后才可以回帖 登录

本版积分规则