如何自行架设一个 iOS 7 设备可用的 iBeacons 广播基站?
来源:互联网 发布:好看的网络自制剧古装 编辑:程序博客网 时间:2024/05/22 14:23
如果不想弄脏自己的手,Radius 上面有一个即买即用的预组装套装(包括配置)。只卖一百美元。套装包含下面这些组建:
如果自己手上都有上面的这些东西,那么可以参照 Radius 提供的完整指引自己拼装配置:
组装步骤:
- Raspberry Pi PC
- Bluetooth LE Module
- 8 GB SD Card, pre-loaded with iBeacon software that's fully compatible with Apple's iBeacon SDK
- Full instructions for customizing the iBeacon identifiers
如果自己手上都有上面的这些东西,那么可以参照 Radius 提供的完整指引自己拼装配置:
- 必要组建:一块 Raspberry Pi 开发板;4GB 以上的 SD 卡;一个支持低功耗蓝牙的蓝牙适配器;一个标准的 5V 电压输出 miro-USB 接口充电器。
- 一些小工具:一个 USB 键盘和一个 USB 鼠标;一个支持 HDMI 输入的显示器;一根 HDMI 数据线;一根用于接入互联网的网线;一个支持 AirLocate/iBeaconLocate 的 Android 或者 iOS 设备。
组装步骤:
- 参照这个指引,接上鼠标键盘显示器和网线来配置 Raspberry Pi,系统安装过程中选择 "raspbian" 模式;
- 到这一步可以不需要鼠标,接上蓝牙适配器;
- 登入系统,用户名: pi, 密码: raspberry
- 确认可以连接网络:如果看到上面的结果,说明设备处于联网状态
$ ping www.google.comPING www.google.com (74.125.228.116): 56 data bytes64 bytes from 74.125.228.116: icmp_seq=0 ttl=55 time=34.267 ms64 bytes from 74.125.228.116: icmp_seq=1 ttl=55 time=30.908 ms
- 安装 Build Packages:
$ sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev
- 下载并解压必要的 BlueZ 包:
$ sudo wget www.kernel.org/pub/linux/bluetooth/bluez-5.8.tar.xz$ sudo unxz bluez-5.8.tar.xz$ sudo tar xvf bluez-5.8.tar$ cd bluez-5.8
- 配置和构造 BlueZ:
$ sudo ./configure -disable-systemd$ sudo make$ sudo make install
- 配置蓝牙适配器:
要确认蓝牙适配器已经查到 Raspberry Pi 上面了哦,然后再输入命令行:这样就能看到蓝牙适配器的一些基本信息,大概是类似这样的:$ hciconfig
注意看到上面我下划线加注的 "DOWN" 字样,说明设备处于未工作状态,我们通过输入下面命令行启动它:hci0: Type: BR/EDR Bus: USB BD Address: 00:01:0A:39:D4:06 ACL MTU: 1021:8 SCO MTU: 64:1 DOWN RX bytes:1000 acl:0 sco:0 events:47 errors:0 TX bytes:1072 acl:0 sco:0 commands:47 errors:0
然后就会看到类似这样的结果:$ sudo hciconfig hci0 up
接着执行下面这段命令,是一段测试广播:$ hciconfighci0: Type: BR/EDR Bus: USB BD Address: 00:02:72:3F:4D:60 ACL MTU: 1021:8 SCO MTU: 64:1 UP RUNNING RX bytes:1000 acl:0 sco:0 events:47 errors:0 TX bytes:1072 acl:0 sco:0 commands:47 errors:0
$ sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 00
上面是一个 Profile UUID 为 E2C56DB5-DFFB-48D2-B060-D0F5A71096E0 的全零广播 - 到这一步,其实广播内容实际并没有在广播,还需要一个激活的命令行:现在,就可以用支持接收广播的 Android 或者 iOS 设备测试最终结果了。关闭广播的命令行是:
sudo hciconfig hci0 leadv 0
sudo hciconfig hci0 leadv 0
大概就是这样了。上面的内容转述自 Radius Networks 提供的指引。更进阶的功能,还请大家查看原文。(我找个时间实际操作一番再上来更新)
转自 知乎
http://developer.radiusnetworks.com/2013/10/09/how-to-make-an-ibeacon-out-of-a-raspberry-pi.html
0 0
- 如何自行架设一个 iOS 7 设备可用的 iBeacons 广播基站?
- iOS 7的iBeacons
- 如何使用iOS 7的iBeacons精准的微定位功能来提高你的应用
- 如何使用iOS 7的iBeacons来提高你的应用
- 如何使用iOS 7的iBeacons来提高你的应用
- ibeacons 基站模拟
- 对比 NFC,Apple iOS 7 类似解决方案 iBeacons 的优缺点
- IOS iBeacons
- iOS判断设备的相机是否可用
- iOS开发 - 如何获取设备的总容量和可用容量
- 自行架设DNS的操作步骤及相关说明
- 透过:iOS 7iBeacons提高应用程序的位置感知功能(蓝牙BLE)
- iBeacons Tutorial for iOS 7 with CLBeaconRegion and CLBeacon
- 如何快速有效的发送一个广播
- iOS开发 - 如何获取设备的总容量和可用容量 网络运营商 3g/wifi判断 手机型号
- iOS开发 - 如何获取设备的总容量和可用容量 网络运营商 3g/wifi判断 手机型号
- ios 设备可用内存信息
- 网络是否可用的广播
- 在园内共有多少个交点
- InputStreamReader OutputStreamReader 源码分析
- [Java] 动态代理 小小总结
- centos安装ssh
- ImageView没有点击效果
- 如何自行架设一个 iOS 7 设备可用的 iBeacons 广播基站?
- private static final long serialVersionUID = 1L 的作用
- MySQL Connections to sleep
- 浅谈前端
- 配置WDK7600+VS2010
- http Content-Type 中的boundary捣乱,导致服务端无法获取上传文件
- Tomcat请求处理(七) - Servlet实例的调用
- Java Servlet 获取服务器各种路径信息
- 屏蔽“您目前使用的Discuz!程序有新版本发布,请及时升级!”提示