Android接收蓝牙万用表数据

本文介绍了一个Android应用,用于通过BLE蓝牙接收万用表数据。关键步骤包括:1) 判断设备是否支持蓝牙并连接;2) 获取服务和characteristic,特别是识别UUID;3) 监听characteristic变化,解析12位16进制数据以获取真实电压值。通过此应用,作者计划进一步实现阈值控制功能。
摘要由CSDN通过智能技术生成

        刚刚做了一个关于BLE蓝牙通信的Android应用,查阅了不少博客,得到了不少的帮助,现在回头看看这个过程,想把这些代码分享给那些需要的同学,由于第一次写博客,很多地方不懂,写的不好,多多包涵。

       开始正题,关于BLE蓝牙,有不少博客详细介绍了,在关联的URL处添加了一些可以参考,个人觉得最重要的一部分是关于其UUID部分,service和characteristic都有一个唯一的UUID来识别,我们需要知道蓝牙模块发送数据对应的UUID值,而接收或者发送的数据通过characteristic实现,不同的characteristic具有不同的属性(可读,可写,通知),而我们的characteristic包含在service里,即我们需要知道service和characteristic对应的UUID。

       实例化部分代码:参考博客关于心率测量通信,本次通过实验得知服务和接收数据对应的UUID,分别命名为BLE_SERVICE和BLE_SERVICE_READ,其他的UUID包括一些产品信息,以及配置的UUID。

1.BleDefinedUUIDs.java文件

class BleDefinedUUIDs {
    //Service对应的UUID
    static class Service {
        final static UUID BLE_SERVICE=UUID.fromString("0000fff0-0000-1000-8000-00805f9b34fb");
    };

    static class Characteristic {
        //characteristic的UUID
//        final static public UUID HEART_RATE_MEASUREMENT   = UUID.fromString("00002a37-0000-1000-8000-00805f9b34fb");
        final static UUID BLE_SERVICE_READ           = UUID.fromString("0000fff4-0000-1000-8000-00805f9b34fb");
        final static public UUID MANUFACTURER_STRING      = UUID.fromString("00002a29-0000-1000-8000-00805f9b34fb");
        final static public UUID MODEL_NUMBER_STRING      = UUID.fromString("00002a24-0000-1000-8000-00805f9b34fb");
        final static public UUID FIRMWARE_REVISION_STRING = UUID.fromString("00002a26-0000-1000-8000-00805f9b34fb");
        final static public UUID APPEARANCE               = UUID.fromString("00002a01-0000-1000-8000-00805f9b34fb");
        final static public UUID BODY_SENSOR_LOCATION     = UUID.fromString("00002a38-0000-1000-8000-00805f9b34fb");
    }

    static class Descriptor {
        final static UUID CHAR_CLIENT_CONFIG       = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
    }
}

2.MainActivity.java文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值