正所谓天下大势,不跟风不行。你不跨平台,很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

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

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

    1.      概述... 2 2.      ServerSuperIO.Core跨平台开发环境... 2 3.      ServerSuperIO.Core特点... 2 4.      Ser ...

  2. 开源物联网框架ServerSuperIO 3.0正式发布(C#),跨平台:Win&Win10 Iot&Ubuntu&Ubuntu Mate,一套设备驱动跨平台挂载,附:开发套件和教程。

    3.0版本主要更新内容: 1.增加跨平台能力:Win&Win10 Iot&Ubuntu&Ubuntu Mate 2.统一设备驱动接口:可以一套设备驱动,跨平台挂载运行,降低人力 ...

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

    参考文章: 1.SuperIO通讯框架介绍,含通信本质 2.C#跨平台物联网通讯框架ServerSuperIO(SSIO) 一.感慨 上大学的时候,没有学过C#,花了5块钱在地坛书市买了一本教程,也就 ...

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

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

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

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

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

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

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

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

  8. 《连载 | 物联网框架ServerSuperIO教程》- 6.并发通讯模式开发及注意事项

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

  9. 《连载 | 物联网框架ServerSuperIO教程》- 7.自控通讯模式开发及注意事项

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

随机推荐

  1. 《Thinking in Java》学习笔记(二)

    1.Java方法的重载 如果几个方法都有相同的名字,区分它们就需要重载来完成. 构成重载的种类: 1)形参的个数不同  2) 形参的类型不同 3) 形参的顺序不同 注意,返回值.抛出的异常和修饰符的不 ...

  2. BZOJ 4766: 文艺计算姬 [矩阵树定理 快速乘]

    传送门 题意: 给定一个一边点数为n,另一边点数为m,共有n*m条边的带标号完全二分图$K_{n,m}$ 求生成树个数 1 <= n,m,p <= 10^18 显然不能暴力上矩阵树定理 看 ...

  3. js事件机制

    js事件属性:

  4. Struts2 中添加 Servlet

    Struts2中如何添加Servlet 以前Java开发都是Servlet的天下,如今是各种框架横行,遇到一个需要将以前的Servlet加入到现有的Struts2的环境中. Google之后发现Sta ...

  5. Jenkins配置备份恢复插件ThinBackup

    一.系统管理-管理插件-找到ThinBackup并安装 二.系统管理-找到ThinBackup-点击Setting进行设置 第一个参数备份目录是必选,其它可选,点保存. 三.保存后返回到ThinBac ...

  6. mysql sql_cache缓存使用

    有如下规则,如果数据表被更改,那么和这个数据表相关的全部Cache全部都会无效,并删除之.这里"数据表更改"包括: INSERT, UPDATE, DELETE, TRUNCATE ...

  7. C# 托管堆和垃圾回收器GC

    这里我们讨论的两个东西:托管堆和垃圾回收器,前者是负责创建对象并控制这些对象的生存周期,后者负责回收这些对象. 一.托管堆分配资源 CLR要求所有的对象都从托管堆分配.进程初始化时,CLR划出一个地址 ...

  8. 单元测试——Qunit

    为什么需要单元测试 正确性:测试可以验证代码的正确性,在上线前做到心里有底 自动化:当然手工也可以测试,通过console可以打印出内部信息,但是这是一次性的事情,下次测试还需要从头来过,效率不能得到 ...

  9. Yii2中JSONP跨域问题的解决

    Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据. 为什么我们从不同的域(网站)访问数据需 ...

  10. C语言_结构体变量指针做函数参数的使用案例

    # include <stdio.h> # include <stdlib.h> # include <string.h> # include <malloc ...