好比其它有所突破的技术,ADRC显得有点魔幻。不仅如此,它同样极具概念性。在ADRC系统里各部分和谐工作,实现预定目标。它主要由五部分组成:
上图可见五部分协同构建一个ADRC系统。下面让我们看看每一部分具体如何工作。
- 应用程序
- 设备服务器
- 设备网关
- 资源控制协议 - RCP
- 资源标记语言 - RML
项目实现时,有可能引入其他组成部分,但上述五点在理论上是ADRC的核心所在。
上图可见五部分协同构建一个ADRC系统。下面让我们看看每一部分具体如何工作。
应用程序
简单来说,应用程序是跟设备打交道的一个实体,属于客户端,我们可叫它为设备浏览器。这或许是一个新名词,为了更好的理解它,让我们把它比喻为一个特殊的网页浏览器。但它操作处理的不是网页数据,而是设备,家电,或具备应用接口的实体。就像浏览器一样,你可以指定它访问某一个设备,而它将会显示用户图形交互操作界面。网页浏览器针对的是结构性文本,图形和多媒体内容,而设备浏览器针对的是操作控制,接收设备自发事件,理解语义数据,以及提供人机对话。设备服务器
我们再次参照网络结构,你可以把设备服务器跟网络服务器对比。它为设备和其他客户端提供内容和缓存服务。设备服务器需要处理一个可变化系统,包括设备显示和消失。系统中设备浏览器能接收设备的自发信号,并交互操作。事实上,设备浏览器必须能显示所有被监控设备的实时状态。从这点来看,设备服务器是一个实时控制分布系统的核心。想象的出,这不容易实现。
设备网关
网络系统中,没有相应的组成部分可以用来比照设备网关。它的作用是能让任意设备与其他部分更容易的相联接。严格来说,他是一个可逆向网关,提供以下功能:
现在你应该对几个核心元素有个大概了解,明白他们如何构建一个ADRC系统。我会在未来的博文里针对每一个组成部分展开细节性的介绍,从RML开始。
下次再见!
- 列举设备结构和元数据
- 配对和拆对
- 安全管理
- 通信传输层
- 文件系统
资源控制协议(Resource Control Protocol - RCP)
RCP协议类似HTTP,但它具备一些特征让它更适用于控制设备。它的两类变量RCP.host和RCP.wire,能一一对应,而具体使用那一种取决你从哪里去访问系统。RCP.host 应用于应用程序和设备服务器之间,使用XML语言格式,组装面向设备服务器的请求和服务器返回应用的回应和信号。RCP.wire应用在设备服务器和设备之间,自动包装的,非常紧凑,容易解析。在采用低端微处理器的系统中,比如当前流行的Arduino Uno,运行良好。你可以把这两个RCP变量比作XML和JSON,虽然它们表达相同的数据,但其中一个是更加轻量级的应用。资源标记语言(Resource Markup Language - RML)
RML是XML格式语言,类似HTML。网页浏览器根据HTML描述进行刷屏,设备浏览器和其他ADRC客户端根据RML描述进行设备监控,解释来自设备的数据。RML和设备浏览器实现了“模型-视图-控制器”(Model View Controller - MVC)的设计模式。大家都知道,在分隔数据,显示和控制逻辑方面,MVC非常强大。RML可以通过直接访问设备而得到,实际上它是存储于设备网关提供的文件系统里。应用程序和设备即使没有连接上Internet,甚至在广域网和局域网里都没有相联,也能相互工作。RML应用于ADRC系统任何一个部分,包括设备服务器,是核心组成。现在你应该对几个核心元素有个大概了解,明白他们如何构建一个ADRC系统。我会在未来的博文里针对每一个组成部分展开细节性的介绍,从RML开始。
下次再见!
