微信号:iDotNet

介绍:专注分享 .NET 相关技术文章、教程和工具.有时也会涉及到IT职场相关的一些东西,或者来点幽默趣文.

.NET Core 跨平台物联网框架 ServerSuperIO.Core

2018-09-03 11:45 DotNet

(点击上方蓝字,可快速关注我们)


来源:唯笑志在

cnblogs.com/lsjwq/p/9560736.html


一、概述


我们的大数据平台(云)平台的数据接收服务基于ServerSuperIO开发,因为集成的功能比较多,无法实现跨平台,现在跑在Windows下。


但是云端体系化、标准化建设,跨平台是必走的技术路线。在ServerSuperIO基础上做裁剪和适配,实现ServerSuperIO.Core跨平台应用。


ServerSuperIO.Core跨平台的意义在于一套设备驱动可以部署在任何地方,核心设备驱动接口始终保持一致,例如:嵌入式、上位机(PC)、云端等,从底层到云端的整体链路实现了任意部署,大大提高了效率和节省了成本。


二、ServerSuperIO.Core跨平台开发环境


ServerSuperIO.Core现在是基于.netcore 2.0开发,对串口(com)操作和网络(net)操作进行了跨平台的适配。原始版本使用的是vs2017环境进行开发,跨平台开发调试使用的是vscode工具。


全宇宙第一IDE+跨平台开发工具,还是比较方便。ServerSuperIO在没有集成OPC的时候,也可以基于mono实现跨平台,但是感觉mono还是比较重,如果是基于服务或事务性的应用基于.netcore更好。类地图如下:



三、ServerSuperIO.Core特点


1、轻型高性能物联网通信框架,结合应用业务,适用于多种应用场景,轮询模式、自控模式、并发模式和单例模式。


2、设备驱动、IO通道、控制模式场景协调统一。


3、设备驱动内轩命令驱动器、命令缓存器、自定义参数和实时数据元素。


4、框架平台支持按设备命令优先级别进行调度,保证高级别命令及时发送。


5、一个设备驱动同时支持串口和网络两种通讯方式,可以监视IO通道数据。


6、一个设备驱动,在网络通讯时可以支持TCP Server和TCP Client两种工作模式。


7、网络通讯时可以设置多个控制器,负载平衡对设备运行调度。


8、支持WebSocket网络通讯协议。


9、内置服务组件接口,可以自定义完成OPC服务、4-20mA输出、LED大屏显示、短信服务、以及多功能网关服务。


10、可以创建多服务实例,完成不同业务的拆分。


11、支持跨平台部署,可以运行在Linux和Windows系统。


12、支持设备驱动之间的数据连接器交互。


13、支持设备驱动与服务驱动之间的数据连接交互。


四、ServerSuperIO.Core与ServerSuperIO区别



五、嵌入式应用


使用ServerSuperIO.Core可以运行在Ubuntu Mate、raspbian等嵌入式操作上,如果在纯linux内核上裁剪的系统上运行,没有实际应用这,有兴趣的网友可以测试一下。


六、上位机应用


ServerSuperIO本身是基于SuperIO发展面来的,SuperIO一开始主要应用在上位机的开发,但是随着云、大数据、工业互联网的发展,适应高并发、标准化、体系化应用的新趋势,重构开发了ServerSuperIO框架。现在不现维护SuperIO框架,但是可以基于ServerSuperIO或ServerSuperIO.Core开发上位机程序,如下图:



七、云服务应用


现在我们的大数据平台的数据交互服务是基于ServerSuperIO开发,但是考虑到跨平台和容器化,建议使用ServerSuperIO.Core进行开发。


当然也可以把嵌入式、上位机的驱动进行云化,部署在云端,不需要特别修改代码。现在我们平台实时运行的服务:



八、应用和测试说明,以Linux平台为例


1、环境准备


在Ubuntu 16.04操作系统上安装.netcore 2.0以上版本,以及vscode开发工具。到官网下载,过程不再赘述。


2、下载测试程序


到https://github.com/wxzz/ServerSuperIO.Core下载测试程序,下载解压后直接复制到Ubuntu操作上。



3、使用vscode打开程序目录


因为已经使用vscode调试过,可以直接启动调试,运行TestSelfMain工程项目。默认侦听端口为:6670。


4、使用TestDevice.exe模拟设备



5、实际运行效果



Github地址:https://github.com/wxzz/ServerSuperIO


相关文章:


《应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案》(http://www.cnblogs.com/lsjwq/p/5359907.html)


《C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebAPI、手机App)》

(http://www.cnblogs.com/lsjwq/p/5122612.html)


看完本文有收获?请转发分享给更多人

关注「DotNet」,提升.Net技能 

 
DotNet 更多文章 分布式事务解决方案以及 .NET Core 下的实现 ASP.NET资源大全:10 篇热文汇总 CAP 2.3 版本发布,支持 MongoDB ASP.NET Core 2.0集成OWAS实现文档在线预览与编辑(Word、Excel、PPT、PDF) .NET Core 实践之短信服务-架构设计
猜您喜欢 51多任务内核(RTX51 tiny) 中文指引四( 完) 芬兰野外的小动物们就这么贪吃?! 知道这些,才能搞定线下活动直播 请大牛指点:如何找到对的人谈恋爱? 从一个女人身上看清她背后的男人,很准!