物联网数据采集网关开发历程(一)

一、最终成品

本系列博文所指的开发是指软件系统的开发,不包括硬件开发。由于网关软件系统是跨平台的,可以运行在Windows系统上,也可以运行在Linux系统上。所以,只要在一台小主机上安装了此软件系统,就形成了一个数据采集网关。

本系统用于测试的小主机如下图所示:

它的一些参数如下表所示:

项目说明
处理器ARM Cortex-A9
内存512M
操作系统Ubuntu 18.04

最终网关所支持的功能包括:系统配置、数据采集、设备反控、数据显示、数据存储、数据上传等。除了基本的网关功能,需要特别说明的是系统具有很强的灵活性。系统支持大量采集协议(Modbus、DLMS、DL645、OPC-UA等)和上传协议(MQTT、TLink、HJ212等),并且可以很方便地进行扩展。

系统管理界面如下图所示:

 

二、总体技术方案

2.1 跨平台能力

系统的跨平台能力,依赖于.NET的跨平台特性。本系统是基于.NET开发的,而.NET可以运行在Windows/Linux/Mac系统上,内核也支持x86/x64/ARM,所以本系统就可以运行在上述平台上(实际上中间还有很多问题需要解决)。

2.2 前后端

由于网关没有显示设备,对网关的操作通过Web页面完成。后台服务与Web页面的通信存在两种方式,Web API主要用于配置,WebSocket主要用于实时通信。Web前端没有使用nginx等服务器,而是直接使用.NET内置的Kestrel服务器。一方面是兼容性的考虑,由于系统是跨平台的,使用任何软件和组件都需要考虑是否兼容这些平台。另一方面是安装方便性的考虑,越少软件部署越方便。

如果是在Windows平台上,系统甚至可以提供C/S结构的客户端。实现这一点的方法是使用CefSharp做一个浏览器壳,把Web页面包含其中,实现类似于客户端的效果。

系统架构如下图所示:

 

2.3 扩展灵活性

系统的扩展灵活性体现在两方面,一是通信协议的灵活扩展,二是界面的灵活扩展。

系统对通信协议的解析定义了统一的接口。只要实现了接口,就能嵌入到系统中,完成数据的解析功能。主程序通过反射机制将外部开发的程序加载进来。

系统使用了配置驱动界面的方法,使得系统的配置界面不固定,能够根据配置内容进行动态变化。

2.4 开发技术

本系统分前后端。后端使用C#语言开发,需安装.NET6环境。前端使用Vue、TypeScript开发。

以工业能源、资源计量和监测为背景,设计了一种基于和的工业 物联网网关设备。实现了多种协议的工业计量仪表的数据采集、本地存储和远传。本文 利用工业级微控制器芯片,通过引脚复用,实现了七路数据采集端口。 采用芯片加以有效的信号隔离、电源隔离措施,实现了串行端口到总 线的自动双工转换。 在网络传输方面,本文充分利用微控制器的以太网介质接入层控制器,通过 接口连接芯片,实现了的双工以太网通信。 本文对网关设备设计的讨论主要分三方面,分别是硬件电路的设计与实现、系统软 件的设计和应用层软件的设计。 网关设备的硬件部分主要包括微控制器、电源、日历、存储器、声卡、网卡、 接门、接门以及卡扩展槽等的原理分析和电路设计、板图的设计、制板及 硬件电路的调试。 系统软件方面采用作为引导加载程序,设了一个基于内核的嵌入式 操作系统并根据需要修改了部分驱动程序。操作系统采用制作了常用的系统工 具,并使用创建了根文件系统。 在系统的基础上,本文采用语言幵发了三种工业远传仪表规约的应用层 实现,利用和两种方式实现与服务器的通信并根裾国家的相关标准实现 了数据采集和远传。 最后,本文针对网关设备的功能,进行了部分测试,并对功能的扩展和进步测试 做出了展望。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值