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

正所谓天下大势,不跟风不行。你不跨平台,很low嘛。java说:你们能跨嘛,跨给我看看。C#说:不要强人所难嘛。java说:能部署在云上吗?docker?微服务?C#说:不要强人所难嘛。java说:你能干啥?C#说:能干啥有必要和你说嘛,我只自己玩。Php说:就服你两装B的样子。哈哈! 噢java改名了,叫Jakarta。



1.跨平台实践环境

操作系统:Ubuntu 16.04

开发工具:Vscode 1.21

中间件:.Net Core 2.0

2..NetCore安装

参见:https://www.microsoft.com/net/learn/get-started/linux/ubuntu16-04

3. Vscode安装

下载:https://code.visualstudio.com/ ,我是直接下载的.tar.gz压缩包。

4.串口通讯的问题

原来使用的是自带的SerialPort类,在.netcore2.0里并没有,但是在官方的docs里是有介绍的,如下图:

我感觉这东西应该很好集成到.netcore里,不改动的情况下在mono跨平台下运行没有任何问题,现在都是MS一家的了,更不是问题了。

ServerSuperIO在串口方面跨平台临时使用的是开源的SerialPortStream,如果.netcore2.1版本集成了SerialPort,再使用该类。使用SerialPortStream,需要注意的是需要编译和安装libnserial.so类库,如下图:

5.网络通讯的问题

网络通讯使用的是SocketAsyncEventArgs类库,并没有出现什么太多问题,在设置参数的时候需要注意如下:

6.关于.NetCore版本的问题

     我电脑上安装的是.NetCore 2.1.4版本,只能使用2.0版本,不知道为什么,在Linux平台,如下图:

在Windows平台,如下图:

7.最后实现结果

Ubuntu的虚拟串口还没有测试,回家(正在出差中)拿树苺派测试。网络通讯效果如下图:



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.助力中小企业级连云端,促进工业互联网平台蓬勃发展,全套解决方案。

物联网&集成技术(.NET) QQ群:54256083

原文地址:https://www.cnblogs.com/lsjwq/p/8531046.html

时间: 2024-07-30 11:18:57

物联网框架ServerSuperIO在.NetCore实现跨平台的实践路线的相关文章

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

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教程》-20.网络通讯控制器分组,提高交互的负载平衡能力。v3.6.6 版本发布

20.1     概述 ServerSuperIO原来在网络通讯模式下,只有一个网络控制器,在自控模式.并发模式和单例模式下时都是异步处理返回的数据,并不会出现性能问题.但是在轮询模式下,一个网络控制器要按顺序逐一操作设备驱动的发送和接收,这样就会出现轮询周期过长,达不到读取数据频率的情况. 为了解决上述问题,现在对设备驱动的参数增加了网络控制器分组功能,网络控制器会根据设备参数设置的分组名称控制设备驱动.例如轮询模式下,有1000个设备驱动,可以每10个设备驱动设置相同的分组名称,这10个设备

《连载 | 物联网框架ServerSuperIO教程》- 18.集成OPC Client,及使用步骤。附:3.5 发布与更新说明。

1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架ServerSuperIO教程>2.服务实例的配置参数说明 <连载 | 物联网框架ServerSuperIO教程>- 3.设备驱动介绍 <连载 | 物联网框架ServerSuperIO教程>-4.如开发一套设备驱动,同时支持串口和网络通讯. <连载 | 物联网框架ServerSupe

物联网框架ServerSuperIO

1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架ServerSuperIO教程>2.服务实例的配置参数说明 <连载 | 物联网框架ServerSuperIO教程>- 3.设备驱动介绍 <连载 | 物联网框架ServerSuperIO教程>-4.如开发一套设备驱动,同时支持串口和网络通讯. <连载 | 物联网框架ServerSupe

开源物联网框架ServerSuperIO 3.0正式发布(C#),附加:二次开发套件和教程。

3.0版本主要更新内容: 1.增加跨平台能力:Win&Win10 Iot&Ubuntu&Ubuntu Mate 2.统一设备驱动接口:可以一套设备驱动,跨平台挂载运行,降低人力成本,提高开发效率. 3.增加二次开发套件:支持控制台和UI界面两种方式. 4.增加配置工具:参数配置.设备驱动挂载.视图挂载.服务实例的挂载. 5.修复BUG,优化代码. SSIO的特点 1.轻型高性能通信框架,适用于多种应用场,轮询模式.自控模式.并发模式和单例模式. 2.不光是通讯框架,是设备驱动.IO

《连载 | 物联网框架ServerSuperIO教程》- 13.自定义视图显示接口开发,满足不同的显示需求

1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架ServerSuperIO教程>2.服务实例的配置参数说明 <连载 | 物联网框架ServerSuperIO教程>- 3.设备驱动介绍 <连载 | 物联网框架ServerSuperIO教程>-4.如开发一套设备驱动,同时支持串口和网络通讯. <连载 | 物联网框架ServerSupe

《连载 | 物联网框架ServerSuperIO教程》2.服务实例的配置参数说明

感谢唯笑志在分享 原博主原地址:http://www.cnblogs.com/lsjwq/ 一.综述 SuperIO(SIO)定位在PC终端(上位机)应用,它只有一个服务实例,配置参数是全局属性.但是,ServerSuperIO(SSIO)与SuperIO(SIO)定位不一样,SSIO定位在服务器端,不管是串口通讯模式,还是网络通讯模式,都支持多服务实例,所以每个服务实例都有自己的配置参数,全部配置参数的定义在ServerConfig.cs文件中. 如下图示意: 二.配置参数说明 1 2 3 4

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

1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架ServerSuperIO教程>2.服务实例的配置参数说明 <连载 | 物联网框架ServerSuperIO教程>- 3.设备驱动介绍 <连载 | 物联网框架ServerSuperIO教程>-4.如开发一套设备驱动,同时支持串口和网络通讯. <连载 | 物联网框架ServerSupe

《连载 | 物联网框架ServerSuperIO教程》1.4种通讯模式机制。附小文:招.NET开发,结果他转JAVA了,一切都是为了生活

参考文章: 1.SuperIO通讯框架介绍,含通信本质 一.感慨 上大学的时候,没有学过C#,花了5块钱在地坛书市买了一本教程,也就算是正式入行了.后来深造,学过JAVA,后来迫于生计,打算转JAVA了.后来考虑考虑,自己写的框架还是有很大发展余地,后来还是在C#的阵地上坚持了下来.从一开始的雏形,到SuperIO的产品化,再到服务器端的ServerSuperIO,也是慢慢演化而来.后期打算把ServerSuperIO移植到嵌入式设备上,以及完善开发文档.本来不想提这些,但是今天打算招一个C#开