一种动态可配置多路串口网关设计

上传人:lis****666 文档编号:172580283 上传时间:2022-12-05 格式:DOCX 页数:6 大小:14.49KB
返回 下载 相关 举报
一种动态可配置多路串口网关设计_第1页
第1页 / 共6页
一种动态可配置多路串口网关设计_第2页
第2页 / 共6页
一种动态可配置多路串口网关设计_第3页
第3页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
一种动态可配置多路串口网关设计摘要:为了使物联网网关连接多个串口设备且能够并行处理来自串口的数据,设计了一个支持多路串口设备连接、在线配置串口参数的物联网网关。网关部署在RaspberryPi开源硬件平台。软件基于开源的Kura框架,使用OSGi插件技术进行开发,功能模块将来自不同串口的数据按照不同的主题以消息的形式发送到云端,模块之间使用事件通信,网关与云端采用MQTT技术实现数据通信,Kura实现了串口的可视化配置。实际应用说明,该系统可以稳定、可靠地工作,到达了设计要求。关键词:串口通信;MQTT;OSGi;Kura0引言在早期的设备中,大多使用串口与控制器进行通信,而控制器对串口设备数据的读取,一般采用轮询的方式,在对实时性要求比拟高的场合,这种方式无法有效地满足系统要求13,串口参数一旦配置完成,无法对其进行动态配置。物联网技术的开展,要求对设备进行统一的管理和控制,控制器不仅能快速获取设备数据,还要求通过网络与云平台通信。由于串口控制器功能比拟单一,如果需要连接外网,还要配置通信模块,且编程复杂,系统的灵活性和可扩展性也不能满足实际使用的要求。针对这些问题,本文提出一种动态可配置串口物联网网关。网关上运行可配置、可插拔的OSGi(OpenServicesGatewayinitiative)插件,插件实现多个串口设备的数据采集和通信功能。由于OSGi插件具有动态和并行的特性,与网关相连的串口设备可以独立、并行地与网关进行数据通信。网关运行通信模块,对通信数据遵循消息队列遥测传输协议(MessageQueuingTelemetryTransport,MQTT)协议进行格式转换,并将来自不同串口设备的数据封装成消息的形式,发布到不同的主题上。1Kura平台及插件机制Kura是Eclipse基金会发布的物联网工程,用于构建IoT(InternetofThings)网关框架。Kura由根本效劳、远程连接效劳、网络配置、用户管理界面等模块组成。它支持基于事件的消息通信机制,可以在不同组件之间通过事件进行通信。Kura可在树莓派等多种硬件平台上部署。Kura使用OSGi技术实现模块设计和管理。OSGi基于构件的软件设计方法和面向效劳的模块化设计思想,定义了一个开放、统一的体系结构4。OSGi采用层次结构,其中OSGi内核框架、bundle(插件)和效劳是其核心要素。插件是OSGi框架下模块化设计的主要表达。在形式上,插件就是一个Jar文件,OSGi所有根本效劳和功能模块,都是通过插件实现的。插件之间实现物理隔离,系统运行期可以远程安装、启动、升级和卸载,实现软件热插拔、多版本控制。利用插件的动态模块化、面向效劳架构等特性5,用户可以很方便地创立自己的功能插件,并集成到系统中实现网关功能,可根据需要对功能模块扩展67。2MQTT协议MQTT是一种基于TCP/IP的议通信协议,为低带宽、不稳定网络环境中的物联网应用提供可靠的网络效劳8。由于其在网络连接、可靠性、灵活性及本钱等方面突出的优点,目前已经被国际标准化组织采用,成为物联网行业的一个标准。MQTT协议使用发布/订阅消息模式,提供一对多的消息分发效劳。MQTT协议由客户端和代理效劳器两局部组成,代理效劳器主要完成消息路由功能,它连接了多个客户端,客户端是消息的发布者和接收者。3系统设计及实现3.1硬件结构网关采用开源硬件树莓派3B。树莓派集成四个USB接口和WiFi模块,可以直接通过USB接口与底层设备连接,假设连接设备数量较多,也可以使用USBhub对串口扩展。树莓派使用WiFi与MQTT消息代理效劳器连接。将串口获取的数据上传到云端,实现设备端到云端的数据传送。由于网关与底层设备通过标准的USB串口连接,同时与云端的通信也是基于WiFi技术实现,这时网关的硬件连接基于标准化的接口,系统扩展和连接都很方便,具有更强的适应性。3.2软件设计3.2.1软件整体框架软件设计基于Kura框架,采用符合OSGi4标准标准的模块化设计,用Java语言编程实现9。每一个bundle可以独立进行开发和部署。插件根据需要调用OSGi和Kura提供的根底效劳。插件需要实现的主要功能是与串口设备的连接和与云端效劳器的通信,这两局部功能分别由串口bundle和通信bundle具体实现。其次,还需要实现插件的动态配置和可视化管理以及插件之间的通信。(1)串口bundle。串口bundle实现与多路串口设备连接,并根据串口设备的不同动态配置串口通信数据格式、波特率等参数,串口bundle还要支持设备的热插拔和在线升级。(2)通信bundle。根据数据来源不同,通信bundle按照不同的主题将数据以消息的形式发送到MQTT代理效劳器。(3)插件的可视化管理。bundle需要实现Configurableponent接口,调用Kura框架提供的可配置效劳,配置参数来自XML文件。(4)网关连接的串口可动态设置。网关支持多串口设备同时连接到一个网关,每一个串口的参数信息可以动态改变,包括串口名称、波特率等。且要求在串口设备工作时动态完成不同设备之间的切换,即实现所谓的热插拔。(5)串口bundle与通信bundle之间的通信。插件之间的通信采用基于事件的实时通信。串口bundle将实时获取的数据以事件的方式发送给通信bundle。3.2.2系统设计及实现(1)串口bundle串口bundle需要与底层串口设备连接,由于不同设备的波特率及数据格式各异,在设计插件时,必须将串口bundle设计成可动态可配置的。串口bundle的功能实现,需要调用OSGi容器和Kura框架提供的一些功能插件。串口bundle主要依赖连接效劳和事件管理效劳。同时,它也提供可配置效劳,供Web管理程序使用。串口bundle启动时,引用一个连接效劳的实例,建立与串口设备的逻辑连接。随后读取串口配置文件,串口配置参数作为插件的元数据,以XML文件的形式保存,串口bundle根据这些参数设置串口的工作模式。为实现串口数据收发,在串口bundle中启动一个新线程用来监听串口,接收来自串口设备的数据,这些数据被封装成事件,每一个事件与一个主题相关联,对于通信bundle来说,这个主题也是区分不同串口bundle的一个主要依据。借助于事件管理效劳,由OSGi容器负责事件的路由分发。由于插件继承了可配置接口,可对外发布Configurableponent效劳,当插件激活后,插件的运行状态出现在Web管理界面,通过可视化界面可以对串口插件的参数进行动态配置。同时,插件的生命周期也可以在这里统一管理。(2)通信bundle通信bundle基于Kura内置的MQTTservice,根据连接MQTT代理效劳器的不同可以在可视化界面中配置MQTT效劳代理的参数。通信bundle接收来自串口bundle的事件。通过解析事件的主题,提取出来自串口bundle的数据,并根据事件主题,建立相应的消息主题。(3)插件间通信插件之间的通信使用事件实现,这是一种松耦合的通信方式,最大限度地减少了插件之间的依赖性。OSGi提供了事件管理效劳,具体实现时,插件需要应用OSGi框架内置的事件管理效劳。管理效劳采用发布/订阅模型。事件发布者将要传输的数据封装成事件的形式,并以特定的主题向外发布。由OSGi框架对事件进行管理,将事件向所有订阅该主题的订阅者发布。订阅者实现事件监听接口,接收特定主题,对事件进行解析,获得发布者发送的数据。4系统测试4.1测试环境网关硬件使用开源硬件平台RaspberryPi,运行Linux操作系统。Kura框架采用4.1版本,测试时同时连接了四个USB串口设备,每台设备工作在不同的波特率下。为实现远程配置,使用PC在局域网内与网关连接,登录Web效劳器进入管理界面对插件进行可视化管理。使用WMQTTutility客户端订阅云端数据。4.2功能测试通信bundle根据串口数据的来源不同将数据发布到不同的主题上,可以选择不同的MQTT代理效劳器将消息发布到局域网或云端。这里测试了两种不同的代理效劳器设置,分别是Kura内置的ApacheActiveMQArtemis代理效劳器和Eclipse提供的MQTT测试代理效劳器。测试结果说明,在两种不同的网络环境中,插件都能够很好地工作。5结论本文设计并开发了一种动态可配置多路串口的网关,网关软硬件都基于开源工程,具有可扩展性强、开发快捷、使用灵活等特点。解决了网关与早期设备的联网问题,在快速网关原型设计中具有一定的实用价值。系统的插件设计方法,也为未来网关兼容更多的底层设备和通信协议提供了一种有效的方法。参考文献1胥飞燕,郑华容,周宦银,等.基于FPGA的多串口控制器的设计与实现J.物联网技术,2022,7(10):3132.2王春媚.多串口并行通信数据传输系统设计J.现代电子技术,2022,40(4):86903孙广明,唐建.基于高可靠CPCI接口的4通道串口设计J.电子设计工程,2022,25(23):9093.4佘俊,钟保强,高鹏.基于OSGi的SOA应用架构搭建模块化的企业应用平台研究与实现J.自动化与仪器仪表,2022,6:156157.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!