1.      概述... 2

2.      ServerSuperIO.Core跨平台开发环境... 2

3.      ServerSuperIO.Core特点... 2

4.      ServerSuperIO.Core与ServerSuperIO区别... 2

5.      嵌入式应用... 2

6.      上位机应用... 2

7.      云服务应用... 2

8.      应用和测试说明,以Linux平台为例... 2


  概述

我们的大数据平台(云)平台的数据接收服务基于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)    实际运行效果


1.[连载]《C#通讯(串口和网络)框架的设计与实现》

2.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍

2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案

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

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

6.助力中小企业级连云端,促进工业互联网平台蓬勃发展,全套解决方案。

物联网&集成技术 QQ群:54256083

物联网&集成项目合作QQ群:727664080

物联网框架ServerSuperIO.Core(.netcore)跨平台,一套设备驱动通吃嵌入式、上位机、云服务的更多相关文章

  1. 《物联网框架ServerSuperIO教程》-19.设备驱动和OPC Client支持mysql、oracle、sqlite、sqlserver的持久化。v3.6.4版本发布

    19.设备驱动和OPC Client支持mysql.oracle.sqlite.sqlserver的持久化 19.1     概述 ServerSuperIO支持设备驱动和OPC Client采集的数 ...

  2. 物联网框架ServerSuperIO在.NetCore实现跨平台的实践路线

    正所谓天下大势,不跟风不行.你不跨平台,很low嘛.java说:你们能跨嘛,跨给我看看.C#说:不要强人所难嘛.java说:能部署在云上吗?docker?微服务?C#说:不要强人所难嘛.java说:你 ...

  3. 《连载 | 物联网框架ServerSuperIO教程》- 3.设备驱动介绍

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  4. 《连载 | 物联网框架ServerSuperIO教程》-4.如开发一套设备驱动,同时支持串口和网络通讯。附:将来支持Windows 10 IOT

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  5. 《连载 | 物联网框架ServerSuperIO教程》- 11.实现设备(驱动)与设备(驱动)交互和级联控制。注:设备驱动模拟金三与普京的对话

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  6. 《连载 | 物联网框架ServerSuperIO教程》- 14.配制工具介绍,以及设备驱动、视图驱动、服务实例的挂载

    注:ServerSuperIO二次开发套件授权码申请---截止到:2016-12-09 1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架Server ...

  7. 《连载 | 物联网框架ServerSuperIO教程》- 16.OPC Server的使用步骤。附:3.3 发布与版本更新说明。

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  8. 《连载 | 物联网框架ServerSuperIO教程》- 16.集成OPC Server,及使用步骤。附:3.3 发布与版本更新说明。

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  9. 《连载 | 物联网框架ServerSuperIO教程》- 5.轮询通讯模式开发及注意事项。附:网友制作的类库说明(CHM)

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

随机推荐

  1. luoguP3598 Koishi Loves Number Theory

    题目 题解 等比数列,最后统一除以(x-1)(这里数据都存在逆元....) (不存在逆元可以考虑表示成:x*p^y的pair形式,最后上下把p的次数相减(类似扩展Lucas)) 求:lcm(x^(ai ...

  2. 分布式锁与实现(一)——基于Redis实现 【比较靠谱】

    转: 分布式锁与实现(一)——基于Redis实现 概述 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题.分布式的CAP理论告诉我们“任何一个分布式系统 ...

  3. Linux(Centos)设置ip

    一.Linux(Centos7)安装完毕后,重启电脑后,输入用户名(root),密码(**********). 在命令行中输入nmtui命令.选择Edit a connection,选择对应的链接端口 ...

  4. Swift 4 经典数据结构 Data Struct大全

    快速看看吧,看看大神是如何写出最swifty的算法.我先fork一下,以表敬意. https://github.com/Imputes/swift-algorithm-club

  5. vue组件通信的几种方式

    最近用vue开发项目,记录一下vue组件间通信几种方式 第一种,父子组件通信 一.父组件向子组件传值 1.创建子组件,在src/components/文件夹下新建一个Child.vue 2.Child ...

  6. L1-Day10

    1.你需要的是更多的练习.[我的翻译]That you need is more practice.[标准答案]What you need is more practice[对比分析]主语从句用Tha ...

  7. word20170106在机场 At the airport有用的词和句子

    有用的词: airport terminal: 航站楼 domestic flight: 国内航班 international flight: 国际航班 checked luggage: 托运行李 c ...

  8. IIS7二级域名添加同一证书

    IIS7二级域名添加同一证书, 先绑定第一个域名到443 ,之后的用以下命令行绑定 cd C:\Windows\System32\Inetsrv\appcmd set site /site.name: ...

  9. RNN和LSTM

    一.RNN 全称为Recurrent Neural Network,意为循环神经网络,用于处理序列数据. 序列数据是指在不同时间点上收集到的数据,反映了某一事物.现象等随时间的变化状态或程度.即数据之 ...

  10. L2-013 红色警报 (25 分) (并查集)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805063963230208 题目: 战争中保持各个城市间的连通性非 ...