您的位置:首页 > 移动开发 > 微信开发

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

2016-04-01 01:34 756 查看
微信的摇一摇全面激活了在苹果公司独立支持的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


打开手机,进入微信发现-摇一摇,出现周边,摇动能够出现事先配置好的链接

也可以通过一下蓝牙信号捕抓工具进行蓝牙广播信号的截取。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: