微信小程序---蓝牙连接开发总结

本文详细介绍了微信小程序中蓝牙连接的开发过程,包括设备搜索、连接、数据传输等关键步骤,同时探讨了蓝牙连接在实际应用中的常见问题和解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


这个模块做了2周,找了很多资料文档,看示例看别人的demo,最后发现其实还是得靠自己,不吐槽了,开正文。

我实现的小程序模块自动连接(根据需要,可改手动),是在小程序初始化完成时开始自动调用执行。
大致流程:

   * 1、 开启蓝牙适配
   * 2、 获取蓝牙适配器状态,判断设备蓝牙是否可用。
   * 3、 判断蓝牙适配器可用时开启扫描蓝牙设备和开启获取已连接的蓝牙设备
   * 4、 如果开启扫描蓝牙设备失败5s后自动再次开启扫描
   * 5、 开启扫描蓝牙设备成功后开启监听已扫描的设备
   * 6、 如果已扫描到的新设备含FeiZhi名(个人产品需要)的设备则开始连接该设备
   * 7、 开启获取已连接蓝牙设备开启获取设备成功后判断以获取的设备名包含FeiZhi(个人产品需要)字符串的设备则开始连接该设备
   * 8、 开始获取已连接蓝牙设备没有成功获取到已连接的蓝牙设备5s后自动重新开启获取。
   * 9、 开始连接某设备时停止扫描设备,停止循环获取已连接设备。
   * 10、连接成功后停止扫描设备,停止循环获取已连接设备。

点击查看蓝牙连接流程图

1、app.js的onLaunch() 方法里中调用开启连接 this.startConnect();弹出提示框,开启适配,如果失败提示设备蓝牙不可用,同时开启蓝牙适配器状态监听。

     
     
     
  1. startConnect: function () {
  2. var that = this;
  3. wx.showLoading({
  4. title: '开启蓝牙适配'
  5. });
  6. wx.openBluetoothAdapter({
  7. success: function (res) {
  8. console.log("初始化蓝牙适配器");
  9. console.log(res);
  10. that.getBluetoothAdapterState();
  11. },
  12. fail: function (err) {
  13. console.log(err);
  14. wx.showToast({
  15. title: '蓝牙初始化失败',
  16. icon: 'success',
  17. duration: 2000
  18. })
  19. setTimeout(function () {
  20. wx.hideToast()
  21. }, 2000)
  22. }
  23. });
  24. wx.onBluetoothAdapterStateChange(function (res) {
  25. var available = res.available;
  26. if (available) {
  27. that.getBluetoothAdapterState();
  28. }
  29. })
  30. }

2、初始化蓝牙适配器成功,调用this.getBluetoothAdapterState() 获取本机蓝牙适配器状态,判断是否可用,available为false则因为用户没有开启系统蓝牙。同时判断程序还没有开始搜索蓝牙设备,调用this.startBluetoothDevicesDiscovery();开始扫描附近的蓝牙设备,同时调用this.getConnectedBluetoothDevices() 开启获取本机已配对的蓝牙设备。

     
     
     
  1. getBluetoothAdapterState: function () {
  2. var that = this;
  3. wx.getBluetoothAdapterState({
  4. success: function (res) {
  5. var available = res.available,
  6. discovering = res.discovering;
  7. if (!available) {
  8. wx.showToast({
  9. title: '设备无法开启蓝牙连接',
  10. icon: 'success',
  11. duration: 2000
  12. })
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值