在《物联 设备的 络连接—上篇》中我们介绍了物联 的 格结构及物联 组 技术;在《物联 设备的 络连接—中篇》中我们介绍了物联 的传输协议;
本篇,我们将带您了解物联 操作系统及平台的连接设计。
四、 物联 操作系统/平台的连接设计
根据前面两节的介绍,我们已经了解了,物联 络通常不是一个单纯的IP 络,它往往涉及多个 络的集成,最终以IP 络为核心,将多个异种 络连接起来进行通信和数据交换。这一节我们通过一个典型的物联 场景,来讨论物联 操作系统或物联 平台的连接设计。
很多工业设备支持RS-485串行 络连接,并使用MODBUS协议进行数据上 和接受控制,IP 络中的物联 服务器通过一个智能 关与这些工业设备进行通信,如图21所示。在硬件上,RS-485总线 络与IP 络通过智能 关连接起来;在应用层协议上,RS-485总线上的设备采用MODBUS协议,而IP 络上的数据通信采用MQTT协议。因此,在智能 关节点上,必须要在两种协议之间进行转换。
图21 典型的物联 场景:RS-485连IP
能够让RS-485总线连接的这些设备加入到物联 操作系统或者物联 平台中,关键是智能 关实现了MODBUS和MQTT协议的对接,因而这些设备可以向IoT服务器上 信息,并且,若IoT服务器需要控制这些设备,可以通过MODBUS协议向这些设备写入控制数据。
在这个场景中,IoT设备、智能 关、IoT服务器和客户端需要支持相应的协议能力:
1.IoT设备。这是MODBUS的从设备角色,能够响应主方的请求;
2.智能 关。它一方面实现MQTT协议的发布/订阅模型,与IoT服务器建立连接;另一方面作为MODBUS协议的主方,主动发起与IoT设备的通信。
3.IoT服务器。这是物联 操作系统或者平台的核心,它负责管理MQTT发布/订阅模型的各种主题,并支持上层应用对于物联 设备的各种访问需求。
4.客户端。通过MQTT协议与IoT服务器进行通信,获取IoT设备的信息,或者控制这些设备。
在常见的物联 操作系统或平台的设计方案中,IoT服务器位于IP 络,支持常用的物联 协议,比如MQTT或CoAP等。为了支持来自各种 络的IoT设备,物联 操作系统或平台需要做好全局的规划,重点在于以下三个方面:
1.地址标识。如果所有的设备都在IP 络,那么,最简单的做法是使用IP地址来标识每一个设备,或者采用IoT设备的MAC地址(如果都存在的话)作为设备标识。对于非IP 络的设备,可以使用两级地址,譬如在图21的结构中,可以使用智能 关的IP地址加上设备编 ,合起来标识一个RS-485设备。
2.设备的状态和参数管理。每个设备都有状态信息,它可能在线,也可能因为各种原因不在线;设备还有各种业务属性,比如温度值、压力值、亮度值,等等。维护一个全系统或平台范围的元数据或数据字典是非常有意义的。协议各方可以依据此字典来解释IoT设备的状态和参数。另外,对于一个物联 场景,不在线的设备如何维护,也需要有灵活的可选方案。
3.设备的真实性。设备的真实性是物联 安全的一个重要方面,当前绝大多数物联 场景,由于缺乏设备真实性的保证,很容易被入侵。物联 操作系统或平台负责管理和控制一个场景中的设备,其连接机制通过精心设计,可杜绝恶意设备连接到 络中,也可以及时发现设备或协议的脆弱性。
物联 操作系统或平台的连接设计需要有足够的抽象性,才能够满足异种 络的设备协同工作。通常情形下,IoT设备是由不同厂商生产的,其中运行的设备操作系统也不尽相同,所支持的连接协议即使是标准协议,也可能存在自定义或扩展的字段,这就要求整个系统或平台的连接方案必须有足够的扩展性和可定制性。另一种做法是,要求设备厂商遵守必要的规范和协议,这在封闭或可控的生态环境中是可行的。
下面介绍三个典型的物联 平台或操作系统的设备连接做法。
一、阿里云IoT平台
1.1 阿里云IoT平台支持海量设备上云,它提供了安全可靠的连接通信能力,支持设备上 数据;服务端通过调用云端API下发指令至设备端,实现远程控制。
1.2 阿里云IoT平台支持MQTT、CoAP,以及HTTP/HTTPS协议,既满足长连接的实时性要求,又满足短连接的低功耗要求。相应地,它也支持TLS或DTLS来保证数据传输的安全性。
1.3 阿里云IoT平台也提供设备端SDK,将它所支持的协议封装起来,以支持不同设备、 关快速接入阿里云。有多种编程语言或开发平台的SDK可供开发者选择,包括C、Java、Python、Android、NodeJS、iOS,以及一个泛化协议SDK;如果这些SDK不能满足要求,也可以自行开发软件,通过Alink协议与云端平台进行通信。
有关阿里云IoT平台的更多信息,可参考https://iot.aliyun.com/。
二、 MindSphere – MindConnect
2.1 MindSphere是西门子基于Cloud Foundry构建的物联 操作系统,部署在公有云或私有云上。MindSphere采集物联 设备数据的组件是MindConnect。在MindShpere的架构中,所有的设备或软件都通过MindConnect来上 数据或接受控制。
2.2 MindConnect与MindSphere之间按照标准的IP 络进行通信,此通信过程采用传输层安全协议(TLS 1.2)进行加密。
2.3 MindConnect既可以是硬件,也可以是软件,包括如下:
-
MindConnect Nano,支持的接口主要包括USB、以太 、PCIe、串行接口。每秒可读取250个数据点,上传带宽至少0.5Mb/s。
-
MindConnect IoT2040,支持的接口主要包括USB、以太 、串行接口。
-
MindConnect Lib,支持常用的操作系统平台,允许西门子外的软件或硬件设备商将数据传送至MindSphere。
2.4 MindConnect与物联 设备之间支持多种数据传输协议,包括S7、OPC UA、SIMATIC I/O、MODBUS TCP&RTU。
有关MindConnect的更多信息,可参考西门子官方 站的MindConnect文档。 址如下:https://documentation.mindsphere.io/resources/html/getting-connected/en-US/index.html。
三、指令集智能操作系统
3.1 指令集智能操作系统(iSysCore OS)是一个物联 操作系统,提供了物联 设备连接、数据处理以及基础的物联 服务能力。它通过一个专门设计的驱动程序框架,来支持广泛的物联 设备接入。
3.2 指令集智能操作系统采用MQTT作为系统使用的物联 传输协议,同时也支持像MODBUS、BACNET、OPC(DA, UA)、OBIX、DALI等常见的物联 协议。支持这些协议的物联 设备可直接接入到系统中。其他的设备,可以通过开发驱动的方式来对接到指令集智能操作系统。
3.3 有些设备(或者一组设备构成的独立子系统)不一定支持这些物联 协议,但是会暴露开放的接口或提供SDK。在这种情况下,只需开发一个专门的驱动程序,调用这些接口来管理和控制设备,就可以接入到指令集智能操作系统中。为此,指令集智能操作系统维护了一个共享驱动库,以避免重复的驱动程序开发。
3.4 对于跨 络的设备,需要通过智能 关接入到系统中。指令集智能操作系统提供了 关软件,本质上是协议解析和数据转发模块,它既可以部署在云端,也可以部署在硬件 关上,取决于具体的组 环境。
有关指令集智能操作系统的更多信息,可参考http://www.isyscore.com。
THE END
结束语
更多iSysCore Radio好文分享,请点击阅读原文查看。
指令集TM智能科技(Instruction SetTM)成立于2018年8月,由计算机工业界领军人物潘爱民博士创立,集结了来自国内外顶尖高校或著名公司的技术及行业专家,总部及研发中心落户杭州,并在上海、重庆布局子公司以便提供更好的本地化服务。
指令集TM智能科技(Instruction SetTM) 既是一家商业公司,也承载着让世界更加互联和智慧的美好愿望。通过打造安全可控的自主智能操作系统(iSysCoreTMIntelligence Operating System),为数字化智慧转型提供智慧、安全、开放和易用的底层基础软件设施及配套解决方案,助力政企提升效率和价值。
指令集智能科技
http://www.isyscore.com
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!