正所谓天下大势, 不跟风不行你不跨平台, 很 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# 工业物联网和集成系统解决方案的技术路线(数据源数据采集数据上传与接收 ActiveMQMongodbwebApi 手机 App)
5.github 地址: https://github.com/wxzz/ServerSuperIO
6. 助力中小企业级连云端, 促进工业互联网平台蓬勃发展, 全套解决方案
来源: https://www.cnblogs.com/lsjwq/p/8531046.html