我试图了解更多关于新的苹果iBeacon协议的信息,以及它将如何应用于其他设备。
我已经看到协议本身已经被逆向工程:http://developer.radiusnetworks.com/2013/10/01/reverse-engineering-the-ibeacon-profile.html这是个好消息,但是我对协议还有一些进一步的问题。
协议是否设计为允许自定义文本消息发送到接收方客户端?比如“欢迎光临我的店铺”,而不是仅仅靠近某个灯塔?
我可以看到很多其他SO问题,但是我对在哪里将文本(作为十六进制)注入协议有点困惑。
什么是iBeacon蓝牙配置文件
将BlueZ Stack用作外围设备(广告客户)
看起来该协议被设置为仅真正广播UUID和主/辅集的信标,然后客户端应用程序需要对其进行处理。但我希望它更能反映一个定制的信息,比如“进来喝杯免费咖啡”之类的。。。是否可以使用iBeacon协议,或者我只需要使用标准的蓝牙LE就可以了?
除了三部分标识符(UUID、主要、次要)和变送器功率校准值外,标准iBeacons不会也不能传输任何内容。您不能让他们发送自定义文本消息。
您可以按照您的建议使用较低级别的Bluetooth LE,但无论如何,您都必须构建一个自定义应用程序,该应用程序可以识别来自任一类型信标的信号。而且,由于您必须有一个自定义应用程序,您可以轻松地处理将标识符映射到文本消息的问题。这样地:
iBeacon identifiers (UUID Major Minor) Text Message
---------------------------------------- ------------------------
2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 1 1 welcome to my shop
2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 1 2 welcome to my other shop
如何创建查找表?有很多方法。您可以在应用程序中使用Objective C switch语句或更复杂的NSDictionary
对其进行硬编码。您可以使用自行开发的web服务进行查找,也可以使用现成的web服务将键/值对映射到iBeacons,如我公司的邻近工具包。
我正在使用协议缓冲区,一切正常。除了我不明白的事实--为什么我需要文件中的编号标记: 我当然读过文件了: 正如您所看到的,消息定义中的每个字段都有一个唯一的编号标记。这些标记用于标识消息二进制格式的字段,一旦您的消息类型被使用,就不应更改。 我不明白如果我改变它又有什么区别。(我将创建一个新的proto并编译它--那么它为什么在乎呢?) 另一条规定: proto定义中的编号字段省去了对版本检查的需
Git 可以使用四种主要的协议来传输资料:本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 Git 协议。 在此,我们将会讨论那些协议及哪些情形应该使用(或避免使用)他们。 本地协议 最基本的就是 本地协议(Local protocol) ,其中的远程版本库就是硬盘内的另一个目录。 这常见于团队每一个成员都对一个共享的文件系统(例如一个挂载的 NFS)拥有访问权,或
协议为方法、属性、以及其他特定的任务需求或功能定义蓝图。协议可被类、结构体、或枚举类型采纳以提供所需功能的具体实现。满足了协议中需求的任意类型都叫做遵循了该协议。 除了指定遵循类型必须实现的要求外,你可以扩展一个协议以实现其中的一些需求或实现一个符合类型的可以利用的附加功能。 协议的语法 定义协议的方式与类、结构体、枚举类型非常相似: protocol SomeProtocol { //
本页包含内容: 协议的语法(Protocol Syntax) 对属性的规定(Property Requirements) 对方法的规定(Method Requirements) 对突变方法的规定(Mutating Method Requirements) 对构造器的规定(Initializer Requirements) 协议类型(Protocols as Types) 委托(代理)模式(Dele
在周星驰的电影《唐伯虎点秋香》中,周星驰饰演的主角一进入华府,就被强制增加了一个代号9527。从此,华府的人开始称呼主角为9527,而不是他的姓名。 域名(domain name)是IP地址的代号。域名通常是由字符构成的。对于人类来说,字符构成的域名,比如www.yahoo.com,要比纯粹数字构成的IP地址(106.10.170.118)容易记忆。域名解析系统(DNS, domain name
协议(Protocols)为方法,属性和其他需求功能提供了蓝图。 它为方法或属性骨架而不是实现。 通过定义类,函数和枚举,可以进一步完成方法和属性的实现。 协议的一致性满足了协议要求的方法或属性。 语法 协议也遵循与类,结构和枚举类似的语法 - 协议在类,结构或枚举类型名称之后声明。 单个和多个协议声明也是可以的。 如果定义了多个协议,则必须用逗号分隔。 当要为超类定义协议时,协议名称应使用逗号跟