基于 iBeacon 的固定资产定位与防丢防盗系统的设计
扫描二维码
随时随地手机看文章
0 引 言
固定资产定位技术是指在固定资产环境中实现位置定位,主要采用无线通信、基站定位、惯导定位等多种技术集成形成一套固定资产位置定位体系,从而对固定资产在固定资产空间中的位置进行监控,以防丢失。发展至今,这一技术衍生了多种人员 / 物品定位管理系统。由于建筑物遮挡, GPS 定位技术难以精确定位。因此,目前广泛需要一种兼具定位精度高、功耗低的固定资产定位系统,iBeacon 技术就显得尤为重要。iBeacon 技术可以很好地判断人员、物品的具体方位,精度可达到米级,因此可有针对性地为行业互联化提供更多可能性。iBeacon 在接受到用户请求定位指令后,计算出用户的具体位置坐标并传送到服务器端,服务器端经过处理传输给云平台。一个完整的 iBeacon 基站包含了低功耗 ARM SoC 芯片、存储模块、低功耗蓝牙模块、电池系统等。通过这些设备,iBeacon 可实现接收、传输、存储、上传信息甚至扫描、定位用户等多种功能。
1 系统整体架构
本文系统主要由移动应用平台、云平台、定位基站、终端设备组成。终端设备包含卡片贴附型标签和标准型固定资产定位标签,由标签监测该固定资产的位置信息,然后由固定资产定位标签向外广播固定资产信息。定位基站分为LoRaWAN 基站和固定资产定位基站。固定资产定位基站向LoRaWAN 基站发送采集到的标签信息,由 LoRaWAN 基站将定位测距的结果发送至云平台。云平台对接收到的数据进行相应的处理并储存,以便实时查询。云管理平台对用户、设备、监测数据等信息进行管理,包含连接管理平台及应用支撑平台。系统整体架构如图 1 所示。
2 硬件设计
BeaconSense 蓝牙标签在静止状态下自动进入低功耗状态,周期性地以相同的发送功率发送 iBeacon 格式广播信息, 固定资产定位基站周期性地采集其信号覆盖范围内的固定资产广播信息。其中,蓝牙标签用载有蓝牙数据包的无线电波给移动设备指示方位。蓝牙信标是一个带电池的蓝牙模块, 信标本身包括各种节能措施(如深度睡眠、免连接、协议简单等),适用于室内定位。蓝牙信标的工作就是每隔一定的时间用无线电广播一个蓝牙数据包出去,这个数据包可以除了信标 ID 不含任何信息,既可以是当前位置的地理坐标(如经度、纬度),也可以是其他相关信息。相对应的蓝牙基站都能收到此信息,使用这些信息完成定位。配置好数据包的内容后,将数据发送至云平台,云平台可用这些信标找到相对应的工作人员所在的位置。定位精度和蓝牙信标的铺设密度和发射功率有密切关系。
LoRaWANModule(以下称 LWM)是高度集成低功耗无线控制模块,主要采用 LoRa 专利远程调制解调技术,内置STM32L 系列 CPU,用于超长距离扩频通信。其在最大限度地降低电流消耗的同时,又大幅提高了抗干扰性和灵敏度。
LWM 支持 LoRaWAN Class A,B,C 三种协议模式,提供开源的 SDK 开发包, 通过 I2C/SPI/GPIO/ADC/DAC 等连接传感器及控制器即可快速开发具备物联网通信能力的产品。此外,其高灵敏度与功率放大器的集成使这些器件的链路预算达到了行业领先水平,成为远距离传输和对可靠性要求极高的应用的最佳选择。
云平台接口通过 LPWAN 网络上传终端数据,经过云平台进行解析提取成相应的业务数据,使用 Http 协议 +Json 数据格式推送至相应第三方服务器上,降低各类型厂商接入LPWAN 的网络使用成本。BeaconSense 人员定位标签周期性地发送 iBeacon 协议的广播信号,信号包含人员 ID 等信息。
3 软件设计
客户端 APP 的主要功能是扫描周围蓝牙设备, 将设备列表信息上传至定位服务器,从而准确定位,并将结果展现给终端用户。 Android 应用开发工程所需的 SDK 版本大于 17。Texas Instruments 引入了一款基于 Android 4.3 的APP“Bluetooth Smart SensorTag”, 通过该 APP 易于开发低功耗蓝牙(Bluetooth Low Energy,BLE)传感器的应用。Android 4.3 系统 Jelly Bean 支持 BLE, 故可运用 BLE 为相互连接的设备开发 APP。在大量运用 BLE 的情况下,采用BLE 为相互连接的设备开发出的 APP 更有市场价值。对于本文系统,BLE 对低功耗室内定位系统的开发具有非常重要的作用。
iBeacon 是一项低耗能蓝牙技术,其工作原理类似于蓝牙技术。本文由 Beacon 发射信号,蓝牙设备定位接收、反馈信号。当用户进入、退出或在区域内徘徊时,Beacon 的广播有能力进行传播,可计算用户和 Beacon 的距离(可通过RSSI 计算得到)。由此可知,只要有 3 个 Beacon 设备即可定位。
SurfaceView 空间用来绘制动画效果,BluetoothAdapter 用来获取蓝牙设备,之后依次是蓝牙设备信息向量、蓝牙设备信号强弱向量、画笔向量。在 onCreate 函数中执行的初始化相关操作主要有画笔初始化和 SurfaceView 初始化,并设置回调函数。因为线程里无法进行界面更新,所以要把消息从线程里发送出来在消息句柄里进行处理,故在本文系统第37 ~ 65 行会看到一个消息句柄,用来接收消息并根据消息内容重绘 Surface View。
4 结 语
本文超低功耗室内定位系统相较于其他系统拥有许多特色。此定位系统采用蓝牙 +iBeacon 形式,功耗较低,使得室内定位系统续航能力增强,在对固定资产定位时不必担心系统没电,也无需经常性地更换硬件。超低功耗室内定位系统除了功耗超低外,系统中每个蓝牙设备的 ID 唯一,可定位指定固定资产。同时,本文低功耗室内定位系统解决了许多人工监控不能解决的问题,相比人工监控成本更低,更加实用,因此具有较高的应用价值。