涡流网址, SSDP和mDNS支持物理Web

涡流网址, SSDP和mDNS支持物理Web

物理网简介

信标 适用于需要日常对象与其环境之间进行通信的各种应用场景. 物理网络可帮助用户最佳利用所产生的机会. 在这篇文章中, 我们将介绍物理网络如何工作, 毫无疑问,Eddystone网址在Eddystone的工作过程中发挥了重要作用.

在 2014, Google展示了其开源项目Physical Web,旨在将虚拟世界与真实世界更加紧密地联系在一起. 巴士站, 旅游景点, 日常用品或超市用品 – 原则上, 他们现在都可以通过信标独立地向智能手机发送消息. 这种通信的基础是低功耗蓝牙 (博美) 无线电技术. 如果物品已配备信标, 它可以向支持BLE的智能手机发送消息, 例如通知延迟, 特别优惠或活动日.

在这种情况下, 物理网络确保, 除其他事项外, 用户不必到处安装新应用, 但可以在统一界面上查看新闻. 它几乎可以在用户对环境信息感兴趣或需要与智能对象进行交互的所有情况下使用. 为了更好地了解这种情况, 以下是三个简短的应用示例.

智能巴士站: 附近的一个巴士站可以通过智能手机告知等车时间。. 在这种情况下, 物理Web BLE传感器发送出一个URL,该URL通往公交车站的网站. 为了区别于其他人, 该网址将包含停靠站的识别码.

与自动售货机互动: 具有互联网连接的自动售货机会发送一个URL,客户可以在没有现金的情况下使用自动售货机的付款功能访问网站. 该URL包含一个令牌,该令牌在每次购买后都会动态更改. 在智能手机上打开的机器和网站使用相同的令牌连接到提供商的后端服务器. 购买完成后, 服务器将请求发送到自动售货机以发行购买的产品. 物理网络用于将URL传输到智能手机. 所有其他步骤都照常在Internet上进行. 例如, 所谓的Web套接字可用于机器或网站与服务器之间的双向通信.

受监控的家用电器: 物理网络还可以用于控制和监视家用电器,例如洗衣机. 每个设备都发送一个引用IP地址的URL,只有连接到本地网络才能访问该URL。. 如果使用网络发现技术(例如mDNS和SSDP)而不是BLE,则URL的可见性可以限于网络中的设备。.

物理网络或单个应用

与其他信息提供相反 (例如. 时间表信息或旅游协会), 用户必须为每个提供商安装自己的应用程序, 物理网络集成了信标发送的Eddystone URL,就好像它们是页面上的搜索查询一样. 因此,用户只需一个应用程序就可以在其环境中找到智能对象,并直接与它们交互. 另一个优势: 没有发送前瞻性通知. 用户只有在想查看时,才会看到他所在区域的对象列表.

除了BLE, MOKOSmart, 作者在其中工作, 提出了一种基于简单服务发现协议在本地网络中发送和接收URL的方法 (固态硬盘). 在SSDP的帮助下, 可以限制发送的Eddystone URL在本地网络中的可见性,从而提高连接安全性.

根据MOKOSmart上Apache许可,Physical Web可以作为一个项目使用,其中包括针对Android等平台的实现, 的iOS, 和Node.js. 适用于Android和iOS的物理Web应用程序可在Apple App Store和Google Play Store中获得. 所有应用都应理解为原型, 这使开发人员可以在早期阶段尝试物理网络. 在将来, 除智能手机外,它应可在其他移动设备上使用.

涡流网址

物理网络如何工作?

物理网络据说是互联网的延伸. 像所有网络技术一样, 它对所有人开放,每个人都可以进一步发展. 由于系统是基于URL的显示, 它是分散的,不受任何人控制. Eddystone URL可以导致简单的信息页面, 更复杂, 互动式Web应用程序甚至本地应用程序. 物理网络可与搜索网络媲美:

用户从附近呼叫对象列表.
显示URL列表.
用户选择一个.
URL在浏览器窗口中显示.
必须从技术角度考虑以下方面:
1. 发送反馈
2. 历史
3. 已保存
4. 社区

•发送和接收URL: 有很多发送网址的方法. 物理Web当前支持通过BLE传输, 域名解析, 和SSDP (下一节将详细介绍).
从网站检索基本信息: 物理Web客户端收集找到的URL,并将其与所有相关信息一起发送 (例如. 信号强度) 到网络服务. 这个, 反过来, 调出基本信息,例如标题, 描述, 网站的图标和图标,并将搜索结果返回给客户端. 该项目的GitHub存储库中提供了Web服务的原型实现.

•显示结果: 在显示该地区的许多URL发送设备时,排名很重要. 物理Web客户端可以根据信号强度进行排序, 个人喜好和其他标准. 系统应事先清理垃圾邮件. 由于搜索引擎存在相同的问题, 他们的方法可以用于物理网络. 在结果显示中, 用户单击列表对象,浏览器打开关联的网站.

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

Ble蓝牙和Eddystone

物理Web的初稿使用BLE将URL发送到适当的程序包. 该技术非常节能, 特别是如果使用该产品的产品在传输模式下运行 (不可连接的BLE模式), 就像物理网络一样. 小型BLE设备可以通过单个按钮单元发送Eddystone URL长达两年.

物理网络的基本组成部分之一是Eddystone URL. 作为协议规范, Eddystone根据蓝牙核心规范为邻近信标定义了蓝牙低功耗消息格式. 它描述了信标可以单独使用或组合使用的不同帧类型: 涡流UID, 埃迪斯通-TLM, 以及前面提到的Eddystone URL, 这是唯一与物理网络相关的.

Eddystone消息由广告数据块中的两种基本数据类型组成 (广告): UUID和数据服务. 两种类型都使用16位通用唯一标识符 (UUID) 符合蓝牙标准. 为Eddystone保留的UUID服务为0xFEAA. 它提供了一种有效的机制, Android和iOS都允许的跨平台后台扫描. AD块的后续字节包含特定于帧的数据. 第一个字节定义帧类型. 当前仅使用四个最高有效位. 较低的四个保留给以后使用,并且必须具有该值 0000.

Eddystone UID帧发送一个唯一的16字节信标ID,该ID由10字节名称空间ID和6字节实例ID组成. 尽管名称空间ID可用于将一组特定的信标分组, 实例ID对于识别组中的设备很有用.

如果您看一下Eddystone UID的概念, 它的工作方式与Apple在iBeacons中引入的方式类似 2013. iBeacon数据包包含 16 接近UUID的字节, 2字节的主域, 和一个2字节的辅助域. iBeacon数据包包含一个16字节的邻近UUID, 2-字节主要字段和2字节次要字段. 邻近性UUID可用于识别企业等组织或应用程序. 主要和次要字段允许对UUID确定的身份进行更详细的分配, 就像是分支一样. Eddystone-TLM现在正在发送遥测信息,例如电池状态, 设备温度和信标发送的数据包数量.

Eddystone URL框架发送通过编码生成的URL的简化版本. 压缩使得在有限的广告包中传输更多数据成为可能. 第一种格式 11 个字节 (个字节 0 通过 10) 所有帧类型的Eddystone消息的总和都相同. 如何设置以下字节 (从字节开始 11), 然而, 取决于框架类型:

•字节 11 定义框架类型. 对于Eddystone URL框架,其值为0x10.
•字节 12 定义发射功率. 它是一个有符号的8位整数值,如《 TX功率电平蓝牙特性》中所述

网络服务发现

除了BLE信标和Eddystone URL, SSDP和mDNS等网络发现方法提供了传输URL的选项. 您还可以将URL发送到本地网络上的设备. 该方法与BLE相比有两个优点: 第一, 只有登录到本地网络的用户才能看到URL, 第二, 与BLE一样,没有URL长度限制.

在安全性和隐私起着关键作用的情况下,将Network Discovery用于物理Web是有意义的. 如果只能将访问设备限制在同一家庭中,则是智能家居区域的一个示例.

简单服务发现协议 (固态硬盘) 是用于通告和发现本地网络中的服务和设备的网络协议. 它构成了通用即插即用协议的发现层 (即插即用) 并有助于宣传定义为控制点的新添加的设备. 它还允许您搜索设备和特定服务.

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

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

物理Web支持SSDP在本地网络中发送和接收URL. Fraunhofer FOKUS开发了相应机制的概念和实现. 该实现包括将SSDP集成到Android和iOS的物理Web应用程序中,以通过协议接收URL. 此外, 基于Node.js的跨平台工具可用于以相同方式发送URL.

使用SSDP时, 连接到本地网络的物理Web设备发送以下ssdp: 网络中可用的活动消息:

通知 * HTTP / 1.1 主办: 239.255.255.250:1900
缓存控制: max-age =广告过期之前的秒数
位置: 要宣传的网页网址
新台币: 瓮: 物理网络组织: 设备: 基本的: 1
NTS: ssdp: 活
服务器: 的 / 版本UPnP / 1.0 产品 / 版
美国海军: 广告UUID
第一行中的NOTIFY方法表明它是一条广告消息. 虽然LOCATION标头定义了发送的物理Web URL, NT标头定义设备类型, 如果是实物网则为: 物理网络组织: 设备: 基本的: 1. ssdp: NTS标头的有效值表示物理Web设备可用. 最后, USN标头提供可用于标识设备的唯一名称. 在智能手机或平板电脑上运行的物理Web客户端侦听多播地址和端口 239.255.255.250:1900 并通过检查NT标头的值来过滤物理Web SSDP消息. 然后,您可以分析SSDP消息并读取包含已发送URL的LOCATION标头的值.

物理Web设备必须发送以下ssdp: 从网络消失前的再见消息:

通知 * HTTP / 1.1 主办: 239.255.255.250: 1900
新台币: 瓮: 物理网络组织: 设备: 基本的: 1
NTS: ssdp: 再见
美国海军: 广告UUID
ssdp: 再见清楚地表明,从现在开始物理Web设备不再可用. USN标头的值与ssdp中的相同: 生动的讯息. 收到此类消息的物理Web客户端会查找与USN关联的URL,然后将其从列表中删除.