微信摇一摇——iBeacon基站(一):USB蓝牙模式

微信的摇一摇全面激活了在苹果公司独立支持的iBeacon技术,各自ibeacon基站设备如同雨后春笋大量面世。淘宝上从20元到100元的幅度都有,买来也是可以直接使用。
实际上,iBeacon技术就是低功耗蓝牙技术BLE(Bluetooth Low Energy的一种应用方案,蓝牙设备或者芯片必须支持4.0版本,对于手机而言,iBeacon由于是苹果推出的因此iOS内置支持,只要是iPhone 4s是以上版本均可,对于安卓平台要4.3或者以上的内核才行,不过由于手机更新换代很快,市面上近两年的手机都是安卓4.3以上了。
作为开发或者测试用,通过SB蓝牙适配器,基于Ubuntu的操作系统,可以很方便的构建出iBeacon基站。
本文在在Ubutun 14.04,XUbuntu 14.04 测试通过,对树莓派有兴趣的朋友也可以在树莓派上跑,理论上也没有什么问题。

安装

1、自行安装和Ubuntu 或者 Xubuntu 系统,这里没有什么好说的,插上蓝牙适配器,然后(Ctrl+Alt+T)打开终端,更新一下:

sudo apt-get update
sudo apt-get upgrade
apt-get install libglib2.0-dev libdbus-1-dev libudev-dev libical-dev libreadline6-dev

如果更新出错,记得换源,163的源速度还可以。
2、到BlueZ网站下载最新版的源码

wget https://www.kernel.org/pub/linux/bluetooth/bluez-5.38.tar.xz
tar xvJf bluez-5.38.tar.xz
cd bluez-5.38
./configure --disable-systemd --enable-library
make
make install

3、测试USB蓝牙适配器

hciconfig

如果显示返回有hci0(一般有一个的都是,如果有些笔记本内置蓝牙适配器,可能你接上的蓝牙USB会是hci1),同时观察设备是否启动了(UP RUNNING),如果没有显示USB蓝牙适配器启动了,输入以下命令激活USB蓝牙适配器

hciconfig hci0 up

Scripts

到目前为止,一切的准备工作已经进行完毕,现在开始设置iBeacon基站。
本文通过三段代码(Script),实现iBeacon设置、启动和停止功能
- 启动代码,激活USB蓝牙适配器基站发送iBeacon广播信号
- 结束代码,停止USB蓝牙适配器基站发送iBeacon广播信号
- 设置代码,设置微信分配的UUDI,Major ID以及 Minor ID

设置代码(ibeacon.conf)

export BLUETOOTH_DEVICE=hci0
export UUID="FD A5 06 93 A4 E2 4F B1 AF CF C6 EB 07 XX XX XX"
export MAJOR="27 11"
export MINOR="4C BA"
export POWER="C9"

UUID为微信的UUID,自行根据自己的数据更改“XX XX XX”

启动代码(ibeacon_start)

#!/bin/sh
. ./ibeacon.conf
echo "启动iBeacon基站 ..."
sudo hciconfig $BLUETOOTH_DEVICE up
sudo hciconfig $BLUETOOTH_DEVICE noleadv
sudo hciconfig $BLUETOOTH_DEVICE leadv 0
sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 $UUID $MAJOR $MINOR $POWER 00
echo "Complete"

停止代码(ibeacon_stop)

#!/bin/sh
. ./ibeacon.conf
echo "停止iBeacon基站..."
sudo hciconfig $BLUETOOTH_DEVICE noleadv
echo "iBeacon基站以及运行结束"

测试

./ibeacon_start

打开手机,进入微信发现-摇一摇,出现周边,摇动能够出现事先配置好的链接
也可以通过一下蓝牙信号捕抓工具进行蓝牙广播信号的截取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值