完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
微信小程序的官方文档显示: i0S 设备上扫描获取到的 deviceId 是系统根据外围设备 MAC 地址及发现设备的时间生成的 UUD。 意思是iOS系统对原本蓝牙设备广播的mac地址做了不可逆的加工,使得作为调用方,我拿不到原始的蓝牙Mac地址,这会造成我在配网过程记录下来的所谓设备UUID,和后续设备和云端交互做业务时携带的ID(芯片mac地址)根本无法匹配。
我查到一些所谓的解决方案,最靠谱的有一个: 针对这种情况,我们只能获取蓝牙设备的mac地址来作为唯一标识。但是,苹果公司也许是出于安全考虑,并没有对我们开放获取蓝牙设备的mac地址的接口(安卓开发是可以获取的)。那么我们只能自己通过某种手段来获取mac地址,有两种方法可以让我们获取到mac地址:请问,蓝牙mac地址有没有写在被提及的“广播数据”或者“特征通道”呢? 第二个问题:我如果采购一批esp32-c3芯片,是否支持定制出厂芯片蓝牙名称 = “某固定格式字符串” + 蓝牙Mac ? 第三个问题:不知道其他有没有类似的案例,跟我有一样的需求和问题,最好的解决方案能否给个建议? |
|
相关推荐
2个回答
|
|
如果当前的通信方式是建立连接的,可以开一个服务用于获取设备的MAC地址。如果是不建立连接的,则可以在广播包数据中包含设备的MAC地址信息,这两部分都可以由程序实现,并不需要定制芯片
|
|
|
|
针对这个问题,我们可以尝试以下几个步骤来解决:
1. 使用通用唯一标识符(UUID)作为设备标识:在iOS设备上,系统会为每个蓝牙设备生成一个UUID,这个UUID是唯一的,可以用来作为设备的标识。在配网过程中,可以将这个UUID记录下来,并在后续的设备和云端交互中使用。 2. 在设备配网时,将设备的UUID和MAC地址进行关联:在配网过程中,可以在本地存储设备UUID和MAC地址的映射关系。这样,在后续的设备和云端交互中,可以通过UUID找到对应的MAC地址。 3. 使用第三方库或服务:有些第三方库或服务可能提供了获取蓝牙设备MAC地址的方法。可以尝试查找这些库或服务,并在项目中集成使用。 4. 联系设备制造商:如果以上方法都无法解决问题,可以尝试联系设备的制造商,看看他们是否提供了获取MAC地址的方法或者解决方案。 5. 考虑使用其他设备:如果问题依然无法解决,可以考虑使用其他支持获取MAC地址的蓝牙设备。 总之,虽然iOS系统出于安全考虑没有开放获取蓝牙设备MAC地址的功能,但我们可以通过其他方法来解决这个问题。关键是在配网过程中记录设备的UUID,并在后续的设备和云端交互中使用这个UUID作为设备的唯一标识。 |
|
|
|
只有小组成员才能发言,加入小组>>
1140 浏览 1 评论
576浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
461浏览 5评论
462浏览 4评论
437浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 16:31 , Processed in 0.871081 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号