埃迪斯通网址, SSDP和支持的mDNS物联网

埃迪斯通网址, SSDP和支持的mDNS物联网

简介物联网

信标 适用于需要日常物品与环境之间通信的各种应用场景. 物理网络帮助用户做出的产生机会的最佳使用. 在这篇文章中, 我们将介绍如何做物理网络工作, 而毫无疑问的是,埃迪斯通URL的埃迪斯通的工作过程中起着重要的作用.

在 2014, 谷歌展示了其开源项目实体网络与虚拟世界与现实一个更紧密地联系在一起的目的. 巴士站, 旅游景点, 日常生活中的物体或超市的物品 – 原则上, 所有的人现在可以独立通过信标消息发送到智能手机. 这种沟通的基础是蓝牙低能量 (BLE) 无线电技术. 如果项目已经配备了一盏明灯, 它可以将消息发送到智能手机的支持BLE, 例如通知关于延迟, 特别优惠或活动日.

在此背景下, 物理网络保证, 除其他事项外, 用户不必到处安装新的应用程序, 但可以看到一个统一的接口上的消息. 它可以被用来在用户感兴趣的信息对他们的环境或者在他们和智能对象之间的交互是必要的几乎所有情况下. 为了得到这样的场景更好的主意, 三个简短的应用实例跟随.

智能公交车站: 一个公共汽车站附近看得出通过智能手机等着别人时下一班车会. 在这种情况下, 物理网络BLE传感器发出一个URL通向公交站的网站. 为了从别人区别开来, 该网址将包含停止的识别码.

自动售货机互动: 与互联网连接的自动售货机发出了一个网址,使用户可以使用自动售货机的支付功能来访问网站,如果没有现金与他们自己. 该URL包括令牌,每个购买后动态变化. 本机,打开智能手机上的网站使用同样连接到供应商的后端服务器. 购买后处理, 服务器发送一个请求,自动售货机发行所购产品. 物理网络是用来将网址转移到智能手机. 所有其他步骤发生在互联网像往常一样. 例如, 所谓的网络插座可用于机器或网站和服务器之间的双向通信.

监测的家用电器: 物理网络也可用于控制和监视家用电器如洗衣机. 每个设备发出一个参照了IP地址,并且当连接到本地网络只能达到一个URL. 的URL的可见性可以被限制到网络中的设备,如果网络发现技术,例如的mDNS和SSDP用于BLE代替.

物理网络或单一应用程序

相对于其他的优惠信息 (e.g. 时间表的信息或旅游协会), 其中,用户可以自行安装应用程序的每个供应商, 物理网络整合埃迪斯通URL发送由信标,如果他们在网页上搜索查询. 这样用户就可以发现在他们的环境智能对象只有一个应用程序,并直接与他们进行互动. 另一个优点: 没有主动通知发送. 用户只,如果他想看到在他的区域对象的列表.

除了BLE, MOKOSmart, 在笔者工作, 建议是基于简单服务发现协议来发送和接收在本地网络URL的方法 (SSDP). 随着SSDP的帮助, 它可以限制发送URL埃迪斯通的知名度在当地的网络,从而提高了连接安全.

物联网可作为下的MOKOSmart Apache许可证的项目,并包括平台,如Android实现, iOS版, 和Node.js的. Android和iOS的物理网络应用程序在苹果App Store和谷歌的Play商店可用. 所有应用程序都可以理解为原型, 这在早期阶段使开发人员能够实验与物理网络. 在将来, 它应该除了智能手机可用在其他移动设备.

埃迪斯通网址

如何在物理网络工作?

物联网被认为是互联网的延伸. 像所有的网络技术, 它是向所有人开放的,人人都可以进一步发展它. 由于该系统是基于URL的显示器上, 它是分散的,不被任何人控制. 在埃迪斯通URL可能导致简单的信息页面, 更复杂, 交互式Web应用程序,甚至本机应用程序. 物理网络相当于搜索网页:

用户可以调出从他附近的物体的列表.
显示的URL列表.
用户选择一个.
该URL出来,在浏览器窗口.
以下几个方面必须考虑到从技术角度:
1. 发送反馈
2. 历史
3. 保存
4. 社区

•发送和接收网址: 有许多方法来发送URL. 物理网络目前通过BLE支持的传输, 的mDNS, 和SSDP (更多关于这在下一节).
检索网站的基本信息: 物联网的客户端收集发现的网址,并将它们与所有相关信息一起发送 (e.g. 信号强度) 到Web服务. 这个, 反过来, 调出基本信息,如标题, 描述, 和网站的图标,并返回搜索结果到客户端. 该原型实现Web服务的是在项目的GitHub的仓库中.

•显示结果: 被评选为重要的,当它涉及到从区域上显示很多网址,发送设备. 物理网络客户端可根据信号强度排序, 个人喜好和其他标准. 该系统应理清垃圾事先. 因为搜索引擎有同样的问题, 他们的方法可以用于物理网络. 在结果显示, 用户点击一个列表对象和浏览器中打开相关网站.

• 如之前提到, 物理网络目前知道三种方式来发送和接收网址. 它们是基于两个不同的进程: 低功耗蓝牙和网络服务发现. 理论上, 另外的方法可以在将来添加. 例如, 开发人员可以在音频信号中使用的音频水印技术嵌入URL. 在这种情况下, 物理Web客户端必须扩大到能够接收音频信号和解码的URL包含在其中.

BLE蓝牙和埃迪斯通

物理网络的第一稿用途BLE的URL发送到相应的包. 该技术是非常节能的, 特别是如果使用它的产品在发射模式中被操作 (非连接模式BLE), 在物理网络的情况下,. 小BLE装置可以用一个钮扣电池送出埃迪斯通URL近两年来.

一个物理网络的基本构建块是埃迪斯通网址. 作为协议规范, 埃迪斯通定义基于蓝牙核心规范用于邻近信标蓝牙低功耗消息格式. 它描述了不同的帧类型的信标可单独或组合使用: 埃迪斯通-UID, 埃迪斯通-TLM, 和上述埃迪斯通网址, 这是唯一一个相关的物理网络.

一个埃迪斯通消息由两个基本数据类型的广告数据块 (广告): UUID和数据服务. 这两种类型的使用一个16位的通用唯一标识符 (UUID) 与蓝牙标准符合. 对于埃迪斯通预留的UUID服务0xFEAA. 它提供了有效的机制, 跨平台的后台扫描是Android和iOS都允许. 该AD块的后续字节中包含的数据特定于帧. 第一个字节定义的帧类型. 目前只有四个最显著位用于. 四个低位那些被保留以备以后使用,并且必须具有的价值 0000.

的埃迪斯通UID帧发送一个包括一个10字节的名称空间ID的唯一的16个字节的信标ID和一个6字节的实例ID. 尽管命名空间ID可以被用来组特定的一组信标, 实例ID是用于该组中识别该装置是有用.

如果你看看埃迪斯通UID的概念, 它的工作原理类似的方式由苹果推出的iBeacons 2013. 该iBeacon显示数据包中包含 16 字节接近UUID, 的2字节的主域, 和2个字节的辅助域. iBeacon显示分组包含一个16字节的UUID接近, 2-字节主要和2个字节的次要场. 接近UUID可以用来确定一个组织或应用程序就像一个企业. 主要和次要领域允许的身份更详细的分配情况决定由UUID, 如在一个分支的情况下. 埃迪斯通-TLM现在发送遥测信息,诸如电池状态, 设备温度和分组的数量发送由所述信标.

的埃迪斯通URL帧发送由编码所产生的URL的简化版本. 压缩使得可以利用有限的广告包装传送更多的数据. 第一格式 11 字节 (字节 0 通过 10) 的埃迪斯通消息是用于所有帧类型相同的. 如何以下字节设置 (起始字节 11), 然而, 取决于帧类型:

•字节 11 定义的帧类型. 其埃迪斯通URL帧值为0x10的.
•字节 12 定义TX的功率. 这是因为在TX功率电平特性的蓝牙描述的符号的8位整数值

网络服务发现

除了BLE信标和埃迪斯通网址, 网络发现的方法,如SSDP和的mDNS提供发送URL的选项. 您还可以发送网址,针对本地网络设备. 该方法具有BLE两大优势: 第一, 只是谁登录到本地网络的用户可以看到的网址, 和第二, 没有URL长度的限制与BLE.

使用网络发现的物理网络使得情况感觉那里的安全和隐私方面发挥关键作用. 一个例子是智能家居领域,如果对设备的访问只应来自同一家庭仅限于人.

简单服务发现协议 (SSDP) 对于在本地网络服务和设备的广告和发现网络协议. 它构成了通用插头和播放协议的发现层 (通用即插即用) 并帮助宣传被定义为控制点新添加的设备. 它还允许你搜索设备和特定服务.

这样的功能是基于两种类型的SSDP消息的. 第一, 有一个设备,只要它被添加到网络发出广告消息. 该消息到标准多播地址和端口 239.255.255.250:1900 是SSDP: 活. 控制点监听的端口接收SSDP消息,从而能够检测到新的设备和服务. 之前的UPnP设备从网络上消失或不再可用, 他们必须将消息发送SSDP: 再见到相同的多播地址和相应的端口.

另一方面, 有一个发现功能,其中SSDP允许控制点找到感兴趣的设备和服务,甚至在网络. 在这种情况下, 控制点发送一个搜索请求给组播地址和端口 239.255.255.250:1900. 支持请求的服务的UPnP设备发送到发送请求的检查点的地址的单播响应. 的响应的格式是类似的类型SSDP的SSDP消息: 活.

物联网的支持SSDP发送和本地网络接收网址. 弗劳恩霍夫FOKUS开发的概念和实施相应的机制. 实现包括SSDP的Android和iOS物理网络应用集成用于经由所述协议接收的URL. 此外, 基于Node.js的一个跨平台的工具,可用于以同样的方式发送URL.

当使用SSDP, 连接到本地网络的物理网络设备发送以下SSDP: 活着的消息,只要它是在网络中可用:

通知 * HTTP / 1.1 主办: 239.255.255.250:1900
CACHE-CONTROL: 最大年龄直到广告到期=秒
位置: 该网页的网址做广告
NT: 瓮: 物理网络的组织: 设备: 基本: 1
NTS: SSDP: 活
服务器: THE / 版本的UPnP / 1.0 产品 / 版
USN: 广告UUID
在第一行中的NOTIFY方法表示它是一个广告消息. 虽然LOCATION报头限定了发送的物理网页URL, 的NT标头定义的设备类型, 这在物理网络的情况下是瓮: 物理网络的组织: 设备: 基本: 1. 该SSDP: 该NTS标题的值活着指示所述物理网络设备可用. 最后, 的USN标题提供了可以被用来识别该设备的唯一名称. 在智能手机或平板电脑上运行的物理Web客户端侦听组播地址和端口 239.255.255.250:1900 并通过检查NT标头的值进行过滤的物理网络SSDP消息. 然后,您可以分析SSDP消息,并读取该位置头的承载传送的网址值.

物理网络设备必须将以下SSDP: 再见消息从网络消失之前:

通知 * HTTP / 1.1 主办: 239.255.255.250: 1900
NT: 瓮: 物理网络的组织: 设备: 基本: 1
NTS: SSDP: 再见
USN: 广告UUID
SSDP: 再见清楚地表明,物理网络设备不再从现在开始. 的USN标题的值保持相同的SSDP: 活动消息. 接收这样的消息查找与美国海军相关的URL,然后从列表中删除物理Web客户端.