关于小程序蓝牙连接和断开注意点

还是先跟大家唠叨两句,老生常谈的话题。

在工作中,没有谁能够顺顺利利的,总会遇到一坑和挫折,不过大家不要不要怕,相信你的努力一定得到回报。

我自己在项目中遇到了一个蓝牙连接和断开的问题,由于代码是接手的,大部分逻辑基本多已经了解清楚了,可是我犯了一个错误,由于硬件蓝牙底层代码的要求是,连接蓝牙开锁要,获取mac地址和连接上蓝牙,然后关锁的时候,因为小程序的api的提供,第一次连接蓝牙之后,我已经得到了设备的id号,只要把他保存起来就可以了,关锁的时候,直接把设备id去连接就ok了,我犯了一个错误,蓝牙锁的逻辑是这样的,开锁->开锁成功-断开蓝牙->重新连接蓝牙->关锁成功->断开蓝牙->开关锁流程走完->下次开锁,蓝牙必须是在断开状态。

wx.onBluetoothDeviceFound() 这是搜索设备的方法,搜索成功返回得到 deviceId 设备id,去连接蓝牙 wx.createBLEConnection 连接成功,然后去开蓝牙锁,注意:开完锁,立马关闭蓝牙连接wx.closeBLEConnection(Object object) 断开与低功耗蓝牙设备的连接,在成功之后 又调用wx.closeBluetoothAdapter关闭蓝牙模块。调用该方法将断开所有已建立的连接并释放系统资源。建议在使用蓝牙流程后 这时候开锁之后,蓝牙是释放状态,处于中断状态,这样符合了硬件底层的逻辑人,

上面是蓝牙开锁的流程,下面来的是,蓝牙关闭蓝牙锁的流程,得上之前保存的设备id,使用wx.createBLEConnection 去做连接,连接成功之后,然后发送开锁指令去关锁,当关锁成功,立马断开连接,和释放蓝牙资源,然后下一次依次循环,就可以,反正记住一点,蓝牙开锁,一定的把蓝牙断开,蓝牙关锁,也得把蓝牙断开,这就跟吃饭一样,没范了就去剩,没菜了就去夹,事情有他规律,你得找到他,记住,解决问题的思路,比会敲代码重要的多。

你可能感兴趣的:(关于小程序蓝牙连接和断开注意点)