论文部分内容阅读
[摘 要]边缘计算节点连接现场设备网络,起到数据采集、通信联网、安全过滤和运行管理的作用,进而将现场设备域与云端应用域的连接。
[关键词]边缘计算、通信协议、Python语言、传感、通信、控制
中图分类号:S596 文献标识码:A 文章编号:1009-914X(2018)10-0075-02
1 工业物联网组成与边缘计算节点
中国制造2025政策加快工业化与信息化的两化融合步伐,工业物联网及所用数据存储和计算处理等智能设备安装量大幅增加,以满足工业智能化和数字化的需求。从工业物联网的设备域、网关域、应用域功能来看(图1),工业物联网有不同于一般物联网系统的特性和要求。由于工业物联网有严格的连接性、实时性和安全性要求,这些数据如果不经过分析、处理、过滤就直接送到云端,不仅网络带宽无法负荷,云端的服务器也会耗费大量的资源来应对无效或无用的信息从而导致崩溃,而且在一些关键的场合,数据需要被立即处理并作出实时的反馈,如果通过云端再反馈回来,相关的数据已经失去时效性,因此,将关键业务部署于云计算平台将带来通信延时、业务中断和数据安全的风险。
(1)设备域是指构成生产需要的各种现场设备,主要包括智能传感器及仪表、智能制造设备、人机界面、可编程控制器、工业计算机等,通过工业总线组成现场网络。
(2)网关域是连接现场设备域与云端应用域的边缘计算节点设备及软件,起到数据采集、通信联网、安全过滤和运行管理的作用。通過开发部署相应的应用软件,实现数据采集、计算存储和智能处理,获取和集成企业MES及ERP业务数据,进而连接云端应用域实现企业业务上云。
(3)应用域是基于公有云计算平台构建的融合大数据和人工智能的智能物联网平台,具有设备接入、设备解析、设备管理、规则引擎、时序数据库、机器学习等一系列物联网核心产品和服务,帮助开发者快速实现从设备域到应用服务域的无缝连接,高效构建数据分析呈现、远程设备监管、预测性维保等各种物联网应用,帮助工业制造用户快速实现万物互联的商业价值。
3 工业物联网边缘计算设备软件体系与协议
3.1 软件体系
工业物联网边缘计算节点安装Linux、windows操作系统,内置编程语言运行环境、运行脚本语言解释器,常用开发语言有C、C++、Java、Python、Javascript等;集成网络通信协议及安全中间件、集成API和配置界面。
3.2 通信协议比较:HTTP与MQTT
工业物联网边缘计算软件与协议密切相关,HTTP和MQTT是最常用的工业物联网开放互联协议,二者都是建立于TCP之上协议。使用安全套接字层(SSL)可以实现安全的传输加密。HTTP是以文档为中心的。MQTT是以数据为中心的,它以字节数组的形式传输数据内容,并不关心内容。
4 基于Python语言开发工业物联网边缘计算软件
下面以DIGI公司Connect Port X4为例介绍边缘计算节点的软件开发(图2)。一端通过Xbee连接无线传感网络——Xbee Sensor传感器模块、SP智能插座、XBee底板,另一端通过以太网连接乐联网物联网云计算平台(www.lewei50.com)。
4.1 Python编程连接现场设备
用import导入XBee传感和驱动设备驱动模块,编写Python代码连接、采集通过Zigbee无线通信连接的XBee设备,包括Xbee Sensor光照/温度传感器、Smart Plug智能插座(内置温度传感器、电流传感器)、Xbee扩展底板等三个设备,通过命令行输出结果,根据现场控制要求,可以编写复杂的控制程序。
4.2 Python编程连接乐联网
将4.1获得的数据传送至乐联网物联网数据平台,并通过平台功能将数据可视化,需要按照乐联网的格式要求编写从X4设备发送程序。
(2)将实时数据发送至乐联网
使用HTTP发送,需要用import socket导入套接字,这样可以用TCP连接乐联网,IP地址是HOST = "101.37.32.173",端口号PORT = 9960。
import socket
HOST = "101.37.32.173"
PORT = 9960
用SOCKET建立连接对象:
zhang=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
zhang.connect((HOST, PORT))
组装发送数据包:
tx_data='{"method":"update","gatewayNo":"01","userkey":"fe34895698764685928b2ea423d6a356"}&^!'+'{"method":"upload","data":[{"Name":"t5","Value":"%s"},'%20+'{"Name":"L001","Value":"%s"},'%(sample['light'])+'{"Name":"A001","Value":"%s"},'%(sample1['current'])+'{"Name":"T002","Value":"%s"},'%(sample1['temperature'])+'{"Name":"OUTLET","Value":"%s"},'%(str(j))+'{"Name":"T001","Value":"%s"}]}&^!"'%(sample['temperature'])
发送数据命令:
zhang.send(tx_data)
(3)运行结果
通过乐联网工业物 联网数据平台,可以看到连接设备状态及数据刷新情况。乐联网支持强大的数据图形化功能,点击其中光照传感器变量可以打开并查看“数据-时间”曲线(图3),在设置策略、规则和域值后,可以通过邮箱、短信、微信等方式接收报警信息。
5 结语
边缘计算设备不仅具备通信网关功能,融合计算、通信、控制实现复杂的功能。本文通过Python语言的边缘计算应用软件开发将现场传感节点网络与云端服务集成,实现现场XBee无线传感器网络通过边缘计算节点与云端服务的快速集成,使设备管理、数据处理和业务逻辑核心功能向应用层集聚,为工业物联网的快速部署和敏捷开发给出了重要的范例。
参考文献
[1] Chun Bin Tang,探索 IBM Bluemix 上的 MQTT 和物联网服务,http://www.ibm.com/developerworks/cn/cloud/library/cl-mqtt-bluemix-iot-node-red-app/index.html
[2] 陈旖,张美平,许力,WSN应用层协议MQTT-SN与CoAP的剖析与改进,计算机系统应用,Computer Systems & Applications, 2015年02期
作者简介
张波(1968-6),女,江苏无锡人,汉,无锡机电高等职业技术学校副教授,主要从事电子信息研究教学。
[关键词]边缘计算、通信协议、Python语言、传感、通信、控制
中图分类号:S596 文献标识码:A 文章编号:1009-914X(2018)10-0075-02
1 工业物联网组成与边缘计算节点
中国制造2025政策加快工业化与信息化的两化融合步伐,工业物联网及所用数据存储和计算处理等智能设备安装量大幅增加,以满足工业智能化和数字化的需求。从工业物联网的设备域、网关域、应用域功能来看(图1),工业物联网有不同于一般物联网系统的特性和要求。由于工业物联网有严格的连接性、实时性和安全性要求,这些数据如果不经过分析、处理、过滤就直接送到云端,不仅网络带宽无法负荷,云端的服务器也会耗费大量的资源来应对无效或无用的信息从而导致崩溃,而且在一些关键的场合,数据需要被立即处理并作出实时的反馈,如果通过云端再反馈回来,相关的数据已经失去时效性,因此,将关键业务部署于云计算平台将带来通信延时、业务中断和数据安全的风险。
(1)设备域是指构成生产需要的各种现场设备,主要包括智能传感器及仪表、智能制造设备、人机界面、可编程控制器、工业计算机等,通过工业总线组成现场网络。
(2)网关域是连接现场设备域与云端应用域的边缘计算节点设备及软件,起到数据采集、通信联网、安全过滤和运行管理的作用。通過开发部署相应的应用软件,实现数据采集、计算存储和智能处理,获取和集成企业MES及ERP业务数据,进而连接云端应用域实现企业业务上云。
(3)应用域是基于公有云计算平台构建的融合大数据和人工智能的智能物联网平台,具有设备接入、设备解析、设备管理、规则引擎、时序数据库、机器学习等一系列物联网核心产品和服务,帮助开发者快速实现从设备域到应用服务域的无缝连接,高效构建数据分析呈现、远程设备监管、预测性维保等各种物联网应用,帮助工业制造用户快速实现万物互联的商业价值。
3 工业物联网边缘计算设备软件体系与协议
3.1 软件体系
工业物联网边缘计算节点安装Linux、windows操作系统,内置编程语言运行环境、运行脚本语言解释器,常用开发语言有C、C++、Java、Python、Javascript等;集成网络通信协议及安全中间件、集成API和配置界面。
3.2 通信协议比较:HTTP与MQTT
工业物联网边缘计算软件与协议密切相关,HTTP和MQTT是最常用的工业物联网开放互联协议,二者都是建立于TCP之上协议。使用安全套接字层(SSL)可以实现安全的传输加密。HTTP是以文档为中心的。MQTT是以数据为中心的,它以字节数组的形式传输数据内容,并不关心内容。
4 基于Python语言开发工业物联网边缘计算软件
下面以DIGI公司Connect Port X4为例介绍边缘计算节点的软件开发(图2)。一端通过Xbee连接无线传感网络——Xbee Sensor传感器模块、SP智能插座、XBee底板,另一端通过以太网连接乐联网物联网云计算平台(www.lewei50.com)。
4.1 Python编程连接现场设备
用import导入XBee传感和驱动设备驱动模块,编写Python代码连接、采集通过Zigbee无线通信连接的XBee设备,包括Xbee Sensor光照/温度传感器、Smart Plug智能插座(内置温度传感器、电流传感器)、Xbee扩展底板等三个设备,通过命令行输出结果,根据现场控制要求,可以编写复杂的控制程序。
4.2 Python编程连接乐联网
将4.1获得的数据传送至乐联网物联网数据平台,并通过平台功能将数据可视化,需要按照乐联网的格式要求编写从X4设备发送程序。
(2)将实时数据发送至乐联网
使用HTTP发送,需要用import socket导入套接字,这样可以用TCP连接乐联网,IP地址是HOST = "101.37.32.173",端口号PORT = 9960。
import socket
HOST = "101.37.32.173"
PORT = 9960
用SOCKET建立连接对象:
zhang=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
zhang.connect((HOST, PORT))
组装发送数据包:
tx_data='{"method":"update","gatewayNo":"01","userkey":"fe34895698764685928b2ea423d6a356"}&^!'+'{"method":"upload","data":[{"Name":"t5","Value":"%s"},'%20+'{"Name":"L001","Value":"%s"},'%(sample['light'])+'{"Name":"A001","Value":"%s"},'%(sample1['current'])+'{"Name":"T002","Value":"%s"},'%(sample1['temperature'])+'{"Name":"OUTLET","Value":"%s"},'%(str(j))+'{"Name":"T001","Value":"%s"}]}&^!"'%(sample['temperature'])
发送数据命令:
zhang.send(tx_data)
(3)运行结果
通过乐联网工业物 联网数据平台,可以看到连接设备状态及数据刷新情况。乐联网支持强大的数据图形化功能,点击其中光照传感器变量可以打开并查看“数据-时间”曲线(图3),在设置策略、规则和域值后,可以通过邮箱、短信、微信等方式接收报警信息。
5 结语
边缘计算设备不仅具备通信网关功能,融合计算、通信、控制实现复杂的功能。本文通过Python语言的边缘计算应用软件开发将现场传感节点网络与云端服务集成,实现现场XBee无线传感器网络通过边缘计算节点与云端服务的快速集成,使设备管理、数据处理和业务逻辑核心功能向应用层集聚,为工业物联网的快速部署和敏捷开发给出了重要的范例。
参考文献
[1] Chun Bin Tang,探索 IBM Bluemix 上的 MQTT 和物联网服务,http://www.ibm.com/developerworks/cn/cloud/library/cl-mqtt-bluemix-iot-node-red-app/index.html
[2] 陈旖,张美平,许力,WSN应用层协议MQTT-SN与CoAP的剖析与改进,计算机系统应用,Computer Systems & Applications, 2015年02期
作者简介
张波(1968-6),女,江苏无锡人,汉,无锡机电高等职业技术学校副教授,主要从事电子信息研究教学。