与Beacon近距离交换数据

时间:2014-01-26 07:48:30

标签: iphone objective-c core-bluetooth ibeacon

目前我遇到这种情况,我有3个iOS设备,其中一个设备充当Central& rest 2充当外围设备。enter image description here

此外,我的中心可以扫描并填充这两个设备UUIDMajor IDMinor ID&他们在桌子视图中的接近度。

  1. 现在,当我点击任何特定的单元格时,我想将一些数据从我的中心交换到该特定设备(反之亦然)。如何实现这一目标?

  2. 有没有可用的方法这样我就可以获得设备名称(Tom的iPhone,Sam的iPad等)以及UUIDMajor IDMinor ID&他们的接近程度?

  3. 有没有办法让这些数据交换安全,那么没有人可以窥探这些数据?

3 个答案:

答案 0 :(得分:3)

是的,您可以通过将iBeacons与通过HTTPS运行的Web服务相结合来确保它们是安全的。请参阅我的回答here

获取“设备名称”等数据可以通过我公司的ProximityKit等现成服务来完成。

iBeacons确实不能自己做这些事情,但重要的是要记住它们只是一个小的构建块,必须与其他工具结合才能构建更复杂的系统。

您建议的功能也可以通过使用辅助蓝牙通道进行数据传输来完成,但这需要您为图中左侧显示的设备构建自定义硬件,因为标准iBeacons不会交换数据。

答案 1 :(得分:1)

iBeacons不是为传输数据而设计的。 您可以使用iBeacons检测设备,然后设置MultiPeerSession来传输数据。签出MultiPeerConnectivity框架。还有一个优秀的WWDC 2013会议。 MCSession对象支持加密和身份验证(例如使用证书)。

答案 2 :(得分:0)

iBeacon协议不允许任何类型的传输回信标。如果您使用多个iOS设备,希望找到附近的设备并传输数据,我建议您改为查看Apple的Multipeer Connectivity框架。在NSHipster上有一个很好的介绍。

  

Multipeer Connectivity是一个框架,可使附近的设备通过基础设施Wi-Fi网络,点对点Wi-Fi和蓝牙个人区域网络进行通信。已连接的对等方能够安全地将消息,流或文件资源传输到其他设备,而无需通过中间Web服务。