KT6368A蓝牙模块关于IOS系统或者手机获取蓝牙mac地址的方法说明V1

目录

一、简介

二、详细描述

2.1 方法1--特定的UUID去读取MAC地址

2.2 方法2--MAC地址存放在蓝牙模块广播包里面

2.3 方法2--测试方法

三、总结


一、简介

KT6368A蓝牙模块关于IOS系统或者手机获取蓝牙mac地址的方法说明

一些客户在开发APP的时候,经常会遇到IOS的问题,所以我们在此归类总结一下,希望能帮助到大家,这里核心的重点在于蓝牙芯片这一端的处理

因为我们本身没有开发app的能力,收集的信息以及经验都是基于和客户之间的沟通,而客户那边的app或者小程序开发,很多都是我们全程参与的,所以在这一块能给出一些行之有效的建议

开发安卓和IOS的APP中,在获取蓝牙模块的MAC地址的时候有区别

  1. 安卓系统在蓝牙这一块,给了获取蓝牙模块MAC地址的接口,所以直接用就行

包括安卓端的微信小程序或者其他小程序

  1. 但是IOS比较严谨,不允许获取蓝牙模块的MAC地址,没有给出API,所以必须要在蓝牙模块这一端做一些特别的设置

==》方法1:设定一个固定的UUID,专门用来和APP交互,意思就是app连接之后通过这个uuid去读取蓝牙模块的MAC地址

==》方法2:把蓝牙模块的MAC地址,存在在广播包里面,这样IOS的蓝牙在搜索的时候,就可以直接获取到蓝牙模块的MAC地址

 

二、详细描述

2.1 方法1--特定的UUID去读取MAC地址

其实这类型的应用并不多,因为他需要建立连接之后,才能获取到mac地址,这样就不实用了

在我们配合的大量客户中,很少有采用这样的方式的 。其实实现也很简单,一说就能懂

所以这个方法,暂时不推荐使用,请详细了解一下方法二。

 

2.2 方法2--MAC地址存放在蓝牙模块广播包里面

这里,我们引用一下KT6368A蓝牙芯片的广播包说明

 这里我们在广播包里面,添加了芯片蓝牙的 MAC 地址  对比右边的截图,即可知道规律

这里我们称之为:advertisData,做这个的目的,有如下原因:

1、微信小程序开发:无法直接获取蓝牙芯片的 mac 地址,没有相应的API,所以可以通过这个获取到,具体网上可以搜一下

2、APP 开发--IOS 端,也没办法直接获取 MAC 地址,也是通过这个方式得到蓝牙芯片的 MAC 地址

3、APP 开发--安卓端,没有这个问题,直接通过 API 时可以获取到蓝牙芯片的 mac 地址的。所以用不用这个功能,都无所谓

2.3 方法2--测试方法

1、IOS的测试,这里用的APP是 “BLEHelper”
2、因为使用nrf connect 测试比较麻烦
3、这两个app都是基于IOS开发的工具,所以他们使用的API接口是一样的。也就是说,mac地址放在广播包里面是可以的
4、存放的位置是manufacturerData里面 0x724c21cb1c93
5、既然这些工具APP能获取到广播包里面的mac地址
那么你们自己开发ios的app或者微信小程序,也应该是没问题的
HCI_EIR_DATATYPE_MANUFACTURER_SPECIFIC_DATA=    0xFF                     
    安卓的测试,使用的是nrf connect    安卓端就不去啰嗦了

三、总结

强烈推荐方法二,这样就能完美的解决这个问题了,也可以拿KT6368A蓝牙芯片测一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值