10512|14

78

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

iBeacons(2) —— 用SensorTag 制作 iBeacons 基站 [复制链接]

 
本帖最后由 southwolf1813 于 2014-1-14 10:16 编辑

上一次(https://bbs.eeworld.com.cn/thread-427811-1-1.html) 我们分析了iBeacons的协议内容,貌似对这个话题感兴趣的朋友不多,搞得我也没有动力了{:soso_e101:}

但还是继续来说说吧。

CC254x的协议栈BLE-Stack中带有很多示例程序,我们可以利用这些示例程序 方便地实现一些基本的蓝牙应用,如防丢器、蓝牙广播等等。

今天我们就用蓝牙广播的例子,稍加改动,就可以实现一个 iBeacons 基站。

蓝牙广播的例子在C:\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\SimpleBLEBroadcaster 根据我们上一次提到的,iBeacons 基站只是一个广播特定内容的蓝牙设备,我们只需要把广播内容写入 SimpleBLEBroadcaster 即可。
大家可以简单阅读以下SimpleBLEBroadcaster 的源代码,可以发现TI BLE-Stack 已经封装了完善的接口,包括硬件抽象层(HAL), 操作系统抽象层(OSAL)等,方便我们进行蓝牙应用的开发。

蓝牙广播的内容主要位于 simpleBLEBroadcaster.c 中,需要修改的内容主要是 scanRspData[] 和 advertData[]. 其中 scanRspData[] 是蓝牙设备用于回复主机扫描请求的信息,或者简单理解为蓝牙设备名;而 advertData[] 就是广播内容。

比如 我们想给 iBeacons 设备取名叫"Microduino iBeacons"

就需要这样改写
  1. static uint8 scanRspData[] =
  2. {
  3.   // complete name
  4.   0x14,   // length of this data
  5.   GAP_ADTYPE_LOCAL_NAME_COMPLETE,
  6.   // Microduino iBeacons
  7.   0x4D,   // 'M'
  8.   0x69,   // 'i'
  9.   0x63,   // 'c'
  10.   0x72,   // 'r'
  11.   0x6f,   // 'o'
  12.   0x64,   // 'd'
  13.   0x75,   // 'u'
  14.   0x69,   // 'i'
  15.   0x6e,   // 'n'
  16.   0x6f,   // 'o'
  17.   0x20,   // ' '
  18.   0x69,   // 'i'
  19.   0x42,   // 'B '
  20.   0x65,   // 'e'
  21.   0x61,   // 'a'
  22.   0x63,   // 'c'
  23.   0x6f,   // 'o'
  24.   0x6e,   // 'n'
  25.   0x73,   // 's'

  26.   // Tx power level
  27.   0x02,   // length of this data
  28.   GAP_ADTYPE_POWER_LEVEL,
  29.   0       // 0dBm  
  30. };
复制代码

而 iBeacons 广播内容,根据上一篇文章的分析 需要写成
  1. static uint8 advertData[] =
  2. {
  3.   // Part1 Apple's fixed iBeacon advertising prefix
  4.   0x02, //Length
  5.   GAP_ADTYPE_FLAGS,
  6.   0x1a,
  7.   // broadcast data
  8.   0x1a, // length of this data including the data type byte: 26
  9.   GAP_ADTYPE_MANUFACTURER_SPECIFIC,      // manufacturer specific advertisement data type
  10.   0x4c,
  11.   0x00,
  12.   0x02,
  13.   0x15,
  14.   
  15.   // Part2 iBeacon profile uuid
  16.   0xe2,
  17.   0xc5,
  18.   0x6d,
  19.   0xb5,
  20.   0xdf,
  21.   0xfb,
  22.   0x48,
  23.   0xd2,
  24.   0xb0,
  25.   0x60,
  26.   0xd0,
  27.   0xf5,
  28.   0xa7,
  29.   0x10,
  30.   0x96,
  31.   0xe0,
  32.   
  33.   // Part 3 major, minor & 2's complement of the calibrated Tx Power
  34.   0x00, 0x00, // major
  35.   0x00, 0x00, // minor
  36.   0xc5
  37. };
复制代码

然后编译运行,在iOS设备上打开AirLocate之类的iBeacons测试工具,就可以搜到我们的 iBeacons 基站啦!


有人要问了 为什么我要把它起名为 Microduino iBeacons 呢?

答案就是, iBeacons 模块现已加入 Microduino 豪华午餐~~ 当当当当~~ (测试版 没有洗板子 求轻拍……)



写完以后才发现 EEWorld也偷偷发了个iBeacons教程……只不过没敢吧Apple跟iBeacons说出来{:soso_e120:}
https://www.eeworld.com.cn/training/2014/TI_RFlimitless_0106/377.html

此帖出自无线连接论坛

最新回复

楼主能否把CC2541 SensorTag beacon FW的源码发我一份学习下?我最近刚学习这个,想做一个能在BLE和iBeacon广播间切换的功能,但总是调试不好。官网上request的链接都变新芯片的了,旧的都没找到。。希望大牛帮助下~邮箱:zhaokalbert@gmail.com   详情 回复 发表于 2016-2-22 08:52

赞赏

2

查看全部赞赏

点赞 关注(2)
 

回复
举报

9166

帖子

6

TA的资源

管理员

沙发
 
这个要赞一个
此帖出自无线连接论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

5305

帖子

453

TA的资源

五彩晶圆(高级)

板凳
 
这个三角形是什么图标 ?
此帖出自无线连接论坛

点评

越狱以后有个Zeppelin插件可以换运营商图标  详情 回复 发表于 2014-1-14 09:53
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(中级)

4
 
蓝雨夜 发表于 2014-1-14 09:38
这个三角形是什么图标 ?

越狱以后有个Zeppelin插件可以换运营商图标
此帖出自无线连接论坛
 
 
 

回复

5305

帖子

453

TA的资源

五彩晶圆(高级)

5
 
iBeacons 基站 可以实现什么功能?
此帖出自无线连接论坛

点评

可以实现的功能很多,包括用户身份认证,广告推送,支付,室内定位等等 一次性干掉NFC、二维码 可以看我上一篇帖子里的参考资料  详情 回复 发表于 2014-1-14 10:11
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(中级)

6
 
本帖最后由 southwolf1813 于 2014-1-14 10:17 编辑
蓝雨夜 发表于 2014-1-14 10:03
iBeacons 基站 可以实现什么功能?

可以实现的功能很多,包括用户身份认证,广告推送,支付,室内定位等等比如说 你装了某个品牌的APP
走到专柜的时候 系统就能自动识别你的身份,通过蓝牙跟你自己账号的绑定,给你推送优惠信息“您是老客户,全场95折”或者根据消费习惯,推送有针对性的广告“您喜欢购买的足球鞋最近有XXX新品”,或者实现类似FourSquare之类的"签到"功能等等
一次性干掉NFC、二维码
可以看我上一篇帖子里的参考资料
此帖出自无线连接论坛
 
 
 

回复

2万

帖子

71

TA的资源

管理员

7
 
呵呵  很多帖子 都是经过一些时间,大家才能认识到TA的价值,所以楼主继续加油哈。
此帖出自无线连接论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

8
 
时刻关注,我对那个也感兴趣
此帖出自无线连接论坛
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 
 
 

回复

2710

帖子

7

TA的资源

版主

9
 
默默地关注一下
此帖出自无线连接论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

10
 
顶一个!我现在也正在研究ibeacon,不知楼主有没有关注华贸的ibeacon,他那个部署功能我还没有理解到!
此帖出自无线连接论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

11
 
赞一个
此帖出自无线连接论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

12
 
赞一个
此帖出自无线连接论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

13
 
感谢楼主发的两个帖子,真的很有帮助,给楼主赞一个
此帖出自无线连接论坛
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

14
 
支持楼主,希望继续分享ibeacon相关资料
此帖出自无线连接论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

15
 
楼主能否把CC2541 SensorTag beacon FW的源码发我一份学习下?我最近刚学习这个,想做一个能在BLE和iBeacon广播间切换的功能,但总是调试不好。官网上request的链接都变新芯片的了,旧的都没找到。。希望大牛帮助下~邮箱:zhaokalbert@gmail.com
此帖出自无线连接论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表