Android BLE蓝牙调试工具的研发

由于工作需要,硬件设备这边需要软件的支持。因此,用到BLE蓝牙相关的功能,为了快捷开发
在大佬 陈利建 — github FastBle
基础上做了一些功能修改以及数据处理

首先说一下我的项目需求:

  1. 扫描外围设备,可正常连接
  2. 让设备与客户端app处于一直连接的状态,除非人为断开连接等不可控因素
  3. 可支持多设备连接,并且获取数据(这里多设备连接,没有用gitHub上面的,这里自己做的处理)
  4. 只要设备和客户端处于连接状态,硬件发送数据,客户端就展示数据
  5. 对于数据处理页面,在输入框那里自己做了一些数据模糊处理,以及不区分大小写
  6. 可读取设备发送的最近一次数据并展示
  7. 读取的数据展示原始数据,并进行解析(数据存储到手机内存中,可随时查看数据情况)

App详情:

对于App研发的具体流程:

  • 对其框架进行全局初始化以及配置
/**
 1. @author Martin-harry
 2. @date 2021/7/13
 3. @address
 4. @Desc BlueTooth全局配置
 */
public class BlueTooth extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        init();
    }

    private void init() {
        //初始化及配置
        BleManager.getInstance().init(this);
        BleManager.getInstance()
                .enableLog(true)
                .setReConnectCount(1, 5000)
                .setOperateTimeout(5000);

        /*BleScanRuleConfig scanRuleConfig = new BleScanRuleConfig.Builder()
                .setServiceUuids(null)
                .setDeviceName(false, null)   // 只扫描指定广播名的设备,可选g
                .setAutoConnect(true)      // 连接时的autoConnect参数,可选,默认false
                .setScanTimeOut(10000)              // 扫描超时时间,可选,默认10秒
                .build();
        BleManager.getInstance().initScanRule(scanRuleConfig);*/
    }
}
  • 扫描外围设备

  • 找到需要配对的设备,并进行连接

  • 前面都是比较简单的部分,难点主要在于数据处理

    1.把需要连接处理的设备单独封装

    2.输入框的处理
    (1)设置输入框,并且对其数据进行监听处理
             监听这里应用的是TextWatcher()

    (2)对输入框UUID进行模糊、大小写处理
             关于EditText大小写处理:Java equalsIgnoreCase() 方法

             模糊处理:

    工具类详情:https://download.csdn.net/download/chen_md/21105756

    (3)用户第一次进入数据处理活动页需要对输入框进行操作;第二次进入时无需输入,自动记录上次用户填写的数据
           这里可以参考我写的这篇文章:android EditText和SharedPreferences保存数据之项目实战

    3.接收设备发送过来的数据(notify打开通知)

    4.获取最近的一次数据(write给设备发送指令,并接收数据)
       发送数据 —> 头字节 + 命令码 + 尾字节(异或校验)

    结尾有做蓝牙的码农欢迎骚扰共同交流、学习!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值