- 什么是蓝牙低功耗(BLE)?
- iBeacon技术如何使用BLE?
- iBeacon如何重要?
- 所需组件
- 在iBeacon模式下设置HM10 BLE模块
- 使用适用于iBeacon的BLE扫描仪Android应用
Beacon和iBeacon技术术语通常可以互换使用。iBeacon由Apple引入,是Apple的蓝牙低功耗(BLE)无线技术的实现,用于为Apple的iPhone和其他iOS设备提供不同的基于位置的信息和服务。该技术标准允许移动应用程序(在iOS和Android设备上运行)在现实世界中从信标收集信息并在电话上显示信息。
什么是蓝牙低功耗(BLE)?
BLE与蓝牙协议相似,但功耗不同。BLE是一种无线个人局域网技术,用于在短距离内传输数据,其设计目的是降低能耗。即使使用CR2032币形电池,BLE仍可长时间运行。BLE保持与以前的经典蓝牙类似的通信范围。
iBeacon技术如何使用BLE?
通过iBeacon技术,Apple已标准化BLE广告的格式。标准格式包括四个主要部分,分别是UUID,Major,Minor,Tx Power。为了更清楚地理解每个条款,请以苹果电子公司为例,该公司必须在不同国家/地区设置商店数量。每个的描述如下:
UUID: UUID是一个16字节的字符串,用于标识一大组信标中的信标数量。这标识了特定应用程序的信标。例如,如果Apple正在维护“离线电子商店”链,则所有信标将共享相同的UUID,告诉该信标属于Apple。
Major:这是一个2字节的字符串,用于从较大的Beacon组中识别较小的Beacon组。因此,如果该信标属于Apple,并且Apple在一个城市中为10个商店设置了10个信标,则Apple将知道哪个信标属于同一城市中的哪个商店。
次要的:这是一个2字节的字符串,用于从一组信标中识别单个信标。假设Apple在一家商店中设置了50个信标,那么通过使用Minor,Apple将能够找到该顾客在商店中的位置。
发射功率:发射功率用于确定信标的接近度或距离。必须在校准之前选择接近度,并且应预先进行硬编码。所选的接近度给出了设备要用作基线的估计距离。
例如:已经设置并正在广播的信标如下所示:
UUID: 36BFDA543784CAD5
专业: 45
未成年人: 7
在本教程中,我们将使用在iBeacon模式下设置的BLE模块设置所有这些参数。
要了解有关BLE技术的更多信息,请查看我们之前关于BLE与ESP32的文章。
iBeacon如何重要?
随着Target Margeting的日益普及,iBeacon可以发挥重要作用。通过建立iBeacon网络,任何品牌,零售商或商店都将能够找到活动和其他重要的客户行为数据,这些数据可进一步用于在客户的智能手机上发送高度有意义,上下文相关和超本地化的数据。以上述苹果公司为例,假设一位拥有智能手机的客户正经过苹果电子商店附近。
当安装在客户智能手机上的应用程序听到安装在商店中的iBeacon时,该应用程序就可以通过iBeacon发送所有优惠以及商店详细信息的数据。如果客户发现要约具有吸引力并想要购买,则可以进入商店并从中购买。除此之外,iBeacon还可以具有其他一些应用程序,例如付款,购物者/客户分析以及机场,主题公园,音乐会场地和许多其他区域的应用程序。 iBeacon技术的潜力是无限的,尚未发现。
在本教程中,我们将演示基于蓝牙4.0的HM10 BLE模块的iBeacon。但是,在开始之前,如果您使用克隆的HM10模块,请务必看一下如何更改或刷新克隆HM-10模块的固件,因为市场上大多数HM10模块都是克隆的。我们还使用了带有Arduino的HM10蓝牙模块来控制LED。
此HM10 BLE iBeacon教程将演示如何将HM10模块设置为iBeacon并发现其详细信息,例如android应用程序上的RSSI(接近度,距离)。
所需组件
硬件:
- HM10 BLE模块
- USB转TTL转换器
- 跳线
软件:
- Arduino IDE
- Android应用程式(BLE扫描器)
本教程中使用的BLE HM10正在使用jnhuamao官方网站上的HM10固件v540。
在iBeacon模式下设置HM10 BLE模块
最初将BLE HM10模块设置为iBeacon模式。要将HM10设置为iBeacon模式,只需执行以下步骤。
- 通过以下连接方式连接HM10模块和USB / TTL转换器。
HM10模块引脚 |
USB / TTL转换器 |
接收 |
Tx |
Tx |
接收 |
Vcc |
5伏 |
nd |
nd |
- 打开Arduino IDE并选择USB / TTL转换器的COM端口
- 现在,打开Arduino IDE的串行监视器,选择“ 9600”的波特率,然后在串行监视器上选择“无线尾”。
- 在获得HM10的OK响应后,一个接一个地依次键入以下AT命令。
AT +更新
AT +重置
在
AT + MARJ0x1000
AT + MINO0x0007
AT + ADVI5
AT + NAMEiBeacon
AT + ADTY3
AT + IBEA1
AT + DELO2
AT + PWRM0
AT +重置
注意: AT指令中红色标记的值是用户可配置的。用户可以根据自己的示例进行更改。
上面使用的所有AT命令的说明如下:
- AT + RENEW(恢复出厂默认设置)
- AT + RESET(重新启动HM10)
- AT(AT测试)
- AT + MARJ0x1000(将iBeacon专业编号设置为0x1000,将十六进制转换为DEC中的4096)
- AT + MINO0x0007(将iBeacon次编号设置为0x1000,将十六进制转换为DEC中的4096)
- AT + ADVI5(将广告间隔设置为5,即546.25毫秒)
- AT + NAMEiBeacon(将HM-10模块名称设置为iBeacon。根据使用情况进行更改)
- AT + ADTY3(将HM10设置为不可连接以节省电量,并且没有客户端可以连接到模块有助于节省更多电量)
- AT + IBEA1(在HM10上启用iBeacon模式)
- AT + DELO2(将iBeacon设置为“广播”模式只是为了节省电量。由于HM10是蓝牙收发器,因此HM10可以广播其状态并扫描其他设备)
- AT + PWRM0(使HM10能够自动睡眠并将功耗从8 mA降低到0.18mA。iBeacon始终可以传输)
执行完所有AT命令后,串行监视器如下所示:
“ AT命令”答复是连续打印的,没有任何新行。您可以轻松地在两个AT命令的响应之间进行区分,因为在执行每个AT命令后,HM10都可以正常响应。因此,如果命令为AT + RENEW,则HM10将回复OK + RENEW,对于其他AT命令也类似。
。现在,它可以广播UUID,主要,次要和其他详细信息。要查看广播的详细信息,有许多可用的iBeacon Android应用程序,可以从Play商店或Apple商店下载任何iBeacon Android应用程序,您将可以在iBeacon模式下找到HM10模块集。在本教程中,我们使用“ BLE扫描仪” Android应用程序。
要禁用iBeacon模式,只需使用命令AT + IBEA0即可。然后通过发送AT + ADTY0使广告扫描响应可连接。然后通过发送AT + RESET重置HM10 。
使用适用于iBeacon的BLE扫描仪Android应用
- 从Play商店下载BLE扫描仪应用程序,然后将其打开。
- 屏幕如下所示。
- “附近”选项卡将用于查看所有可用的iBeacons。要开始搜索iBeacon,请下拉屏幕或转到屏幕右上角的“搜索”图标。这将开始搜索iBeacons。
- 搜索iBeacon后,您将能够看到RSSI,UUID,iBeacon的主要和次要内容。如果您将移动设备或iBeacon相互远离,则RSSI将会更改。在此屏幕上的RSSI为(-50)。可以在本文末尾的演示视频中看到。
- 从iBeacon HM10拿走智能手机后,RSSI值从-50变为-81。如果您移动其中一台设备,这些值将不断变化。
RSSI信号可接受的值如下:
信号强度 |
TL; DR |
需要 |
|
---|---|---|---|
-30 dBm |
惊人 |
最大可达到的信号强度。客户只能距离AP几英尺远才能实现这一目标。在现实世界中并不典型或不理想。 |
不适用 |
-67 dBm的 |
很好 |
对于要求非常可靠,及时地传送数据包的应用,其信号强度最低。 |
VoIP / VoWiFi,视频流 |
-70 dBm的 |
好的 |
最小信号强度,可实现可靠的数据包传输。 |
电子邮件,网络 |
-80 dBm的 |
不好 |
基本连接的最小信号强度。数据包传递可能不可靠。 |
不适用 |
-90 dBm的 |
无法使用 |
在本底噪声中接近或淹没。任何功能极不可能。 |
不适用 |
- 要在邻近视图中找到iBeacon,只需转到搜索图标旁边右上角的邻近图标。屏幕将显示带有RSSI Signal的所有可用iBeacon。
至此,完成了将HM10 BLE模块设置为iBeacon的教程。如果您有任何疑问或建议,请写信给我们的论坛或在下面发表评论。