试用蓝牙模块的一点经验整理(Part 3, 关于iBeacon功能 )

最近因为创客项目需要,所以自己研究了一些蓝牙模块。因为我自己是软件开发出身,对硬件了解得不多,对于蓝牙模块的了解可能更为接近于一个程序员的角度,当然也就不太全面了。但是过程中觉得还是有一些有价值的东西可以分享给大家的,特别是更适合程序员同学们。不专业之处,大家包涵。本文会随着我的知识积累不断成长更新,请给我时间。

这一篇会比较短,因为我所了解的iBeacon相关的部分并不多,或者说我觉得值得一说的似乎也并不多。原计划是混到Part 2里一起写的,但怕看起来太乱,所以还是写成另一篇了。

 系列文章列表

一、试用蓝牙模块的一点经验整理(Part 1, 刷HM-10固件)

二、试用蓝牙模块的一点经验整理(Part 2, 蓝牙模块AT指令 )

三、试用蓝牙模块的一点经验整理(Part 3, 关于Beacon功能 )

下载资源

 🚀 关于HM-10的其它相关资料,比如产品手册等,可以在这里😆下载。

 🚀 CC41的相关资料,可以在这里😆下载。

iBeacon简单说明

这玩意是苹果先推出来的,我理解主要功能是让这个迷你设备变成一个超小型的“广播站”📡,让经过的人可以通过这个广播站得到一些有趣的信息。Beacon的英文意思是指灯塔、烽火这类东西,记住这个意思就能理解iBeacon功能的作用了。

那其实iBeacon是怎么实现的呢?其实中从使用者的角度来看,它很简单,让我用博物馆的场景来给你说明一下吧。

场景说明

🚩想像一下,你在博物馆,看到这支笛子,看完下面的说明文字,你有什么感觉?

贾湖骨笛,新石器时代裴李岗文化,1987年河南舞阳县贾湖遗址出土 

如果说它是河南博物院最大重要的镇馆之宝,它还是国宝,而且它意义非凡,你敢信吗?


世界上最早的乐器贾湖骨笛

如果,你走到展柜前,手机📳上自动发了这条视频给你,当你看完上面的视频后,我想你就会感受到它的简单的外表背后的历史价值了。如果我们在博物馆,每走到一件展品前,都能有对应的讲解,这种体验是不是非常好呢?我想会有更多人喜欢上逛博物馆的。

实现方式

基于以上博物馆的场景,那iBeacon是怎么样实现的呢?关键在:

  • 距离📏
  • 信息✉

iBeacon📡会定期(1~3秒,这个时间可以设置的)向空气中广播信息📣,手机APP获得信息后就会去解读它。

但是一个展厅里有100个展品,那手机都收到了,怎么办?显示哪一个展品的信息?

1. 距离📏

其实很简单,蓝牙模块根据接收到的信号的强弱来估算iBeacon的距离,所以手机APP只要根据预设的要求,只处理在某个距离内离它最近的信息就可以了。

2. 信息

手机APP收到的信息中,最重要的包含了以下三项内容:

UUID,它长这样74278BDA-B644-4520-8F0C-720EAF059935,占16 Bytes,它并不是每一个iBeacon的唯一编号,我的理解它是用来区分应用类型。比如说在博物馆里,可能有多种iBeacon,它们的功能可能有:保安巡查打卡、室内导航、展品说明。这时,就有三种手机APP分别与这三种iBeacon互动。而观展者用的APP就只要处理那些UUID是“展品说明类”的信息了。这个UUID是我们自己随便定义的,只要不跟别人的应用一样就行了。

Major,它的值0x0001 ~ 0xFFFE,占2 Bytes,你可以将它理解为存放编号的地方。比如说,博物馆里有10个展馆,那我们为每个展馆定一个编号,这时Major就可以设定为展馆号了。

Minor,它的值也是0x0001 ~ 0xFFFE,占2 Bytes,它也是可以用来存放编号。在展馆里有多个展品,这里就可以为每一个展馆里的展品定义编号了。

所以一个展品的信息可能是这样的:

UUID: 74278BDA-B644-4520-8F0C-720EAF059935     //展品说明标签
Major: 0x0008                                  //8号展馆
Minor: 0x0104                                  //第260件展品,16进制的104等于10进制260

1️⃣ 手机APP取得这串信息

2️⃣ APP判断信息的UUID是不是它关注的

3️⃣ 如果是它关注的,就继续查看Major和Minor

4️⃣ 根据Major和Minor向服务器请求相关展品的数据(也有可能直接请求到页面的链接)

5️⃣ APP根据返回的信息,显示相关的文字和视频链接(如果是页面就直接显示页面)

iBeacon应用场景

据我所知,目前iBeacon的应用其实有2大类:

  • 作为展品、商品、景点等介绍的标签使用。其实就是在每个要介绍的东西边上放一个iBeacon,设置好就行。
  • 作为内部定位用,如停车场、园区、商场、医院等的定位。有了定位就可以实现各种衍生的导航功能了,如资产定位、车主找车、商场找店等。

当然,根据它的特性,我们还是可以发挥想像力来实现更多的功能啦。

iBeacon在蓝牙模块上开启的方法

本来想在这里多写一点,但是发现其实挺简单的。如果蓝牙模块支持iBeacon功能,那就根据AT指令说明,开启iBeacon就行了。同时要注意请将模块设置为从机。以下是CC41的AT指令,供你参考。

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长风Eric(fengcan)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值