微信摇一摇——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 测试通过,对树莓派有兴趣的朋友也可以在树莓派上跑,理论上也没有什么问题。
如果更新出错,记得换源,163的源速度还可以。
2、到BlueZ网站下载最新版的源码
3、测试USB蓝牙适配器
如果显示返回有hci0(一般有一个的都是,如果有些笔记本内置蓝牙适配器,可能你接上的蓝牙USB会是hci1),同时观察设备是否启动了(UP RUNNING),如果没有显示USB蓝牙适配器启动了,输入以下命令激活USB蓝牙适配器
本文通过三段代码(Script),实现iBeacon设置、启动和停止功能
- 启动代码,激活USB蓝牙适配器基站发送iBeacon广播信号
- 结束代码,停止USB蓝牙适配器基站发送iBeacon广播信号
- 设置代码,设置微信分配的UUDI,Major ID以及 Minor ID
UUID为微信的UUID,自行根据自己的数据更改“XX XX XX”
打开手机,进入微信发现-摇一摇,出现周边,摇动能够出现事先配置好的链接
也可以通过一下蓝牙信号捕抓工具进行蓝牙广播信号的截取。
实际上,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
打开手机,进入微信发现-摇一摇,出现周边,摇动能够出现事先配置好的链接
也可以通过一下蓝牙信号捕抓工具进行蓝牙广播信号的截取。
相关文章推荐
- iOS开发笔记14:微博/微信登录与分享、微信/支付宝支付
- zabbix 通过微信企业小助手发送报警
- Android中的微信、支付宝支付功能的简单实现--摘自肖玲玲老师博客160305
- iOS微信支持遇到的问题:只显示一个确定按钮、onResp不回调、闪回
- 小程序 - 最大递增数
- Java实现微信菜单json字符串拼接
- 安卓小程序(一)计算器
- 微信样式相册选择器
- 微信开发中用dom4j解析消息时的错误
- 微信公众号开发时,按物理返回键时,提示是否退出对话框
- 微信开发中的编码问题
- 微信支付常见问题
- ViewPage+Fragment + ListView可左右滑动翻页(仿微信页面)
- 微信支付学习记录1
- 函数——小程序,大作用
- 微信服务升级——指尖上的超级表格
- 微信调试环境介绍
- [算法]微信红包
- 微信公众号开发--微信JS-SDK分享到朋友圈和分享给朋友
- 如何在微信浏览器的H5商城获取用户openid