一 概念
iBeacon 是苹果公司2013年9月发布的移动设备用OS(iOS7)上配备的新功能。其工作方式是,配备有 低功耗蓝牙(BLE)通信功能的设备使用BLE技术向周围发送自己特有的ID,接收到该ID的应用软件会根据该ID采取一些行动。
比如,在店铺里设置iBeacon通信模块的话,便可让iPhone和iPad上运行一资讯告知服务器,或者由服务器向顾客发送折扣券及进店积分。此外,还可以在家电发生故障或停止工作时使用iBeacon向应用软件发送资讯。
二 协议格式
iBeacon广播帧的格式:
AD Field Length +Type+Company ID+Company ID+iBeacon Length+UUID+Major+Minor+TX Power
三 源码解析
在8258sdk中可以选择ble_remote项目修改实现iBeacon
在对应的app.c里面修改tbl_advData[],将其修改为iBeacon的格式
tbl_advData[] = { /* Advertising data: Flags AD Type */ 0x02, 0x01, 0x06, /* Advertising data: manufacturer specific data */ 0x1a, //len 0xFF, //manufacturer type 0x4C,0x00, // 0x02, // ID 0x15, //Length of the remaining payload 0xFD, 0xA5, 0x06, 0x93, 0xA4, 0xE2, 0x4F, 0xB1, //Location UUID 0xAF, 0xCF, 0xC6, 0xEB, 0x07, 0x64, 0x78, 0x25, 0xA8, 0x00, // Major number 0x00, 0x01, // Minor number 0xC8 //2's complement of the Tx power (-56dB)}; };
这里即是ibeacon的源码实现,可以根据需要广播的内容来进行修改。
四 总结备忘
ibeacon整体比较简单,这里比较难的一般是定时广播,并且能把功耗控制的比较低。这个是使用过程中的必备的技术热点。
作者:虚生 出处:https://www.cnblogs.com/dylancao/ 以音频和传感器算法为核心的智能可穿戴产品解决方案提供商 ,提供可穿戴智能软硬件解决方案的设计,开发和咨询服务。 勾搭热线:邮箱:1173496664@qq.com weixin:18019245820 市场技术对接群:347609188 |