420802199201260913
摘要:随着中国科普事业的发展,众多科普展馆应运而生,越来越多的展览展示设备投入使用,由此引发的设备管控问题急需解决。展示设备种类、功能、特性繁多,对系统管控的兼容性、实时性、大数据处理能力均提出挑战。因此,本文阐述一种基于物联网系统下嵌入边缘计算技术,对海量智能数据采集管控执行就近处理,避免大量数据传输导致通信通道的阻塞,满足展馆设备对快速响应、精准执行的要求。文中阐述了所提出的系统架构、数据库、边缘计算服务器、物联网终端设备通信协议和数据处理的流程和所达到的优化设计,为展馆展览展示终端设备的异构性问题提出了解决方案,增强兼容性和边缘数据实时处理能力。实践证明所提出的技术能提供安全、快捷控制的同时,也使得系统具备更强的设备信息大数据采集能力。
关键词:物联网;边缘计算;智慧展馆
引言
近年来,物联网已经在多个领域得到应用,如智慧城市、智能家居、车联网、智能农业、智慧建筑和校园等领域。在科普展馆领域中,展示设备多种多样,如何管理这些设备将是一个亟待解决的问题。常规的控制方案安装繁琐、控制设备单一、无法实时获取设备状态、仅能通过特定的软件控制、使用复杂、效率低下,增加了展馆的运维难度。从产品开发,产品维护,产品升级与可持续发展来看,无法满足展馆设备管控的通用性要求,不利于展馆的日常运维。而本方案为解决这些问题提供了一个新的途径。
一、物联网介绍
物联网(Internet of Things,简称IoT)是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、 连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。
通过物联网,我们可以将科技馆、展览馆中的各个设备的信息进行采集,实现运行分析以及设备控制等。且通过云端服务器,可实现远程控制、远程监测、远程分析等功能,并且可以由云端统一管理。
2. 边缘计算
边缘计算,是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。边缘计算处于物理实体和工业连接之间,或处于物理实体的顶端。而云端计算,仍然可以访问边缘计算的历史数据。
随着接入物联网的设备越来越多, 如果将所有计算都放到云端,势必将造成云端服务器压力过大,延迟增加。基于此,系统中引入边缘计算,在 靠近端部署一个边缘计算服务器。将敏感数据放在边缘服务器上计算,减轻云端压力,同时保证敏感数据安全。云计算与边缘计算也不是取代关系。边缘计算模型依赖于云计算强大的数据存储和计算能力,在数据分析过程中,生成的数据模型的优劣往往与数据量呈正相关。受限于资源,边缘计算在这方面明显不及云计算。因此,边缘计算并不能代替云计算,云计算与边缘计算是相辅相成的。
二、 系统架构设计
展馆设备控制的关键是针对不同的设备采集不同的信息,以及下发不同的控制指令。本系统采用物联网、边缘计算,云计算等技术,通过各个技术之间的优势互补,增强系统的可靠性、实时性,实现设备管控。
1. 系统架构层次
根据系统的层级功能,划分为5个层级,如下表所示。由下到上依次为,受控设备层、感知层、边缘层、网络层、应用层、云计算层,用户应用层。
用户应用层 | 普通用户、维护人员、管理员 | ||
云计算层 | 云计算服务器、存储服务器、Web服务器 | ||
物联网层 | 应用层 | (协议)MQTT、CoAP、DDS、XMPP、http/https、websocket、modbus RTU | |
网络层 | (接入方式)4G/5G、NB-Iot、以太网、WiFi、ZigBee | ||
边缘层 | (设备)数据传输单元、网关、边缘服务器 | (功能)数据解析与封包、数据存储、命令下发与消息上传 | |
感知层 | (设备)智能开关、信号采集设备、智能控制器 | (数据)设备运行信息、设备状态信息 | |
受控设备层 | (设备)电脑主机、投影仪、灯光控制器、互动展项控制板 | (接口协议)RS232、485、CAN、PJLINK、TCP、UDP |
2.1受控设备层
常用的设备控制协议有TCP、UDP、MODBUS-RTU、PJLINK(投影仪)、HTTP等,如何整合这些命令将是一个技术要点。本方案采用云端保存和更新命令,物联网终端设备下载和基于规则解析并绑定命令的方式实现。
命令绑定流程:
2.2感知层设备程序设计
物接入互联网的方式有:以太网、串口、NFC、蓝牙、WiFi、ZigBee、LoRa、NB-IoT、4G等。由于大部分展馆都有以太网以及WiFi接入。本系统采用以太网及WiFi作为物联网终端设备接入互联网的方式,通讯协议采用互联网应用中使用较广泛的MQTT协议。
2.2.1 MQTT协议介绍
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。
2.2.2协议设计
本系统中物联网终端设备实现的协议有:设备身份注册、设备接入授权、固件升级、设备上报固件版本、服务器推送固件信息、设备请求固件信息、远程配置、设备日志上报、设备信息上报、受控设备信息上报、控制命令下发等。消息格式采用web应用使用较为广泛的json格式。
以设备信息上报、受控设备信息上报以及控制命令下发为例。
{productKey} 为产品唯一id
{deviceName} 为设备唯一id
①设备信息上报
智能设备订阅地址 /sys/{productKey}/{deviceName}/thing/diag/post
智能设备回复地址 /sys/{productKey}/{deviceName}/thing/diag/post_reply
消息格式
{
"id": "4a9ace",
"version": "1.0",
"geoip": "183.224.***.60(中国广东广州市)",
"synctime": "1694794257",
"zg": "",
"zx": "",
"params": {
"network": [{
"type": "wireless",
"ip": "192.168.2.252",
"mac": "60:01:94:4A:9A:CE",
"wifi": {
"rssi": "-62",
"snr": "0",
"per": "0",
"ssid": "TY***IP"
}
}],
"system": {
"devtype": "CCB",
"_time": "2436743211",
"ntp_time": "1694794255",
"free_heap_size": "20648",
"fw_version": "0.0.409",
"fw_version_full": "0.0.409 - 2023-08-18 19:15:44.178547"
}
}
}
参数说明
参数 | 类型 | 说明 |
Id | String | 设备唯一id |
Version | String | 协议版本 |
Geoip | String | 设备公网ip,可用于识别设备所在的地理位置 |
Synctime | Long | 设备发送消息时间戳 |
Zg | String | 展馆名称 |
Zx | String | 展项名称 |
Paramas | Object | 上传的参数 |
Network | Object[] | 网络信息 |
Type | String | 接口类型:Wired/wireless |
Ip | String | 局域网Ip地址 |
Mac | String | Mac地址 |
Wifi | Object | Wifi状态 |
System | Object | 系统信息 |
Devtype | String | 受控设备类型 |
_time | Long | 设备运行时间 |
Ntp_time | Long | 设备本地时间 |
Free_heap_size | String | 设备内存占用 |
Fw_version | String | 设备固件协议版本号 |
Fw_version_full | String | 设备固件协议版本号详细信息 |
②受控设备信息上报
智能设备订阅地址 /sys/{productKey}/{deviceName}/thing/deviceinfo/update
智能设备回复地址 /sys/{productKey}/{deviceName}/thing/deviceinfo/update_reply
消息格式
{
"id": "4a9ace ",
"version": "1.0",
"geoip": "183.224.***.60(中国广东广州市)",
"synctime": "1694757182",
"zg": "展馆",
"zx": "展项",
"params": {
"network": [{
"type": "wired",
"ip": "192.168.5.153",
"mac": "04-7c-16-2c-e5-49"
}],
"system": {
"devtype": "PC",
"devname": "材料的演变2(tightvnc)",
"_time": "14071000",
"_onlinetime": "1694743136067",
"ntp_time": "1694757182",
"boottime": "1694743117",
"free_heap_size": "12.67/15.75",
"fw_version": "0.0.346",
"fw_version_full": "0.0.346 - 2023-09-14 13:25:58.802733",
"lastinputtime": "14046177",
"activeProcess": "********",
"activeWindowTitle": "********",
"ispoweron": true
}
}
}
参数说明
参数 | 类型 | 说明 |
Id | String | 设备唯一id |
Version | String | 协议版本 |
Geoip | String | 设备公网ip,可用于识别设备所在的地理位置 |
Synctime | Long | 设备发送消息时间戳 |
Zg | String | 展馆名称 |
Zx | String | 展项名称 |
Paramas | Object | 上传的参数 |
Network | Object[] | 网络信息,可能存在多个网络接口 |
Type | String | 接口类型:Wired/wireless |
Ip | String | 局域网Ip地址,可用于VNC远程连接 |
Mac | String | Mac地址,可用于网络唤醒 |
System | Object | 系统信息 |
Devtype | String | 受控设备类型 |
Devname | String | 设备名称 |
_time | Long | 设备运行时长 |
_onlinetime | Long | 设备开机/上线时间戳 |
Ntp_time | Long | 设备本地时间,由受控设备协议获取 |
Boottime | Long | 设备启动时间,由受控设备协议获取 |
Free_heap_size | String | 设备内存占用,由受控设备协议获取 |
Fw_version | String | 设备通讯协议版本号,由受控设备协议获取 |
Fw_version_full | String | 设备通讯协议版本号详细信息,由受控设备协议获取 |
lastinputtime | Long | 设备无操作时间,由受控设备协议获取 |
activeProcess | String | 设备前台程序历史列表,由受控设备协议获取 |
activeWindowTitle | String | 设备前台程序窗口名,由受控设备协议获取 |
ispoweron | bool | 设备是否在线 |
③控制命令下发
智能设备订阅地址 /sys/{productKey}/{deviceName}/thing/service/command
智能设备回复地址 /sys/{productKey}/{deviceName}/thing/service/command_reply
消息格式
{
"id": "4a9ace ",
"version": "1.0",
"command": "poweron",
"synctime": "1694757182",
}
参数说明
参数 | 类型 | 说明 |
Id | String | 设备唯一id |
Version | String | 协议版本 |
Command | String | 下发的命令poweron、poweroff、wol等 |
Synctime | Long | 命令下发时间戳 |
由于感知层设备通常不具备计算能力,难以承受边缘计算任务。因此边缘计算主要在边缘层设备上完成。边缘层主要实现数据脱敏、加密、解密、存储和对感知层设备的快速响应。
网络层和应用层是边缘层与云服务器连接的桥梁。通信方式主要有4G/5G、NB-IoT、WiFi,主要采用mqtt、http/https、modbus等协议进行数据传输。
云计算层主要由云计算服务器、数据库服务器和web服务器等构成。云计算服务器主要负责与边缘层设备建立连接,保持数据传输顺畅,利用云计算服务器强大的计算能力,进行数据分析、模型处理和复杂事件的处理,并提供感知层和边缘层设备控制的接口。数据库服务器主要实现对系统运行中出现的各种的数据进行存储,包括感知层和边缘层设备信息、采集的信息、设备执行命令日志,系统产生的日志以及用户权限、信息,用户操作日志等。Web服务器主要向外提供数据查询、认证、控制、数据展示等服务。Web服务器后端技术采用Java、Springboot 框架,Web服务器前端采用vue3响应式框架、echart(展示、分析数据图表)。
5.1数据库
系统产生的数据通常来自于设备、用户和系统。其中用户和系统的数据修改频次低,而设备产生的信息,如运行状态、采集的信息、命令下发和上传等往往流量大,类型多种,时间序列关联性强,分析处理实时性要求高。
针对上述数据各自的特点出发,采用Resdis存储,MySQL数据库、时序数据库对数据进行存储。
5.2数据传输流程
三、 系统应用
本节以测试系统为例,说明该系统的运作。实际系统由于数据安全问题不便展示。
以PC控制和PC信息展示为例。
信息显示:系统可以展示设备id、设备所属展馆、设备所属展项、地理位置、无操作时间、前台程序详细信息、前台程序窗口名、消息更新时间、是否在线、设备类型、设备名称、固件版本、固件详细信息、设备运行时间、设备体验时长、设备开机时间、客户端启动时间,设备本地时间。
▲信息显示
地理位置:基于IP预测。
是否在线:受控设备是否开机,使用物联网终端I/O、或通信功能实现监测。
设备体验时长:用于分析展项受欢迎程度。
设备本地时间:用于与NTP服务器对比,分析时间是否与NTP服务器同步。
设备控制:VNC、开机、关机、重启、远程命令执行。
▲设备控制及前台程序详细信息
VNC:远程协助,JavaScript调用本地应用。
开机:基于WOL(Wake-On-Lan,网络唤醒)或物联网终端I/O控制实现。
关机:物联网终端I/O控制实现。
重启:物联网终端I/O控制实现。
前台程序详细信息:在不使用远程桌面或桌面截图的情况下判断设备当前是否正在前台运行展项展示软件。
此小节介绍将数据转换为图表,可以方便运维人员快速获取展馆设备整体运行状态。
2.1设备在线状态
▲展馆受控设备开关机状态
▲展馆受控设备数量
2.2设备无操作时间、设备运行时间及设备体验时长
▲设备无操作时间、设备运行时间及设备体验时长
基于此数据,可获得展品被观众体验的时间,分析出展品的受欢迎程度。
2.3设备异常检测,故障预测
相对传统设备开关系统,本系统能够实时监测被控设备系统状态。当设备频繁出现开关机或者异常关机、蓝屏时,系统可以推送报警到管理员设定的平台(例如邮箱、短信、各大即时通讯平台)进行实时通知。管理员可及时发现和通知维修人员处理异常。同时,受益于云计算模型,系统可预测当前异常设备可能的故障,方便维修人员快速定位问题。
四、结束语
介绍了一种基于物联网、边缘计算、云计算的展馆设备管控系统。阐述了各个技术在系统中的作用,对系统架构、数据库、物联网终端通信协议、数据处理流程、系统应用等进行了详细的设计与说明。将物联网应用与展馆设备管控进行结合,为展馆运营人员运维人员提供了更方便更智能的控制系统。
下一步将对感知层设备的感知能力以及技术进行提升,提供更多更稳定的数据,为展馆数字孪生以及智能化打下夯实的基础。
引用
1 刘陈, 景兴红, 董钢. 浅谈物联网的技术特点及其广泛应用[J]. 科学咨询, 2011(9):86-86.
2边缘计算产业联盟. 边缘计算实验平台推介-智慧安监边缘计算实验平台. 《 自动化博览 》 , 2017