正所谓天下大势,不跟风不行。你不跨平台,很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.助力中小企业级连云端,促进工业互联网平台蓬勃发展,全套解决方案。

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


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

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

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

    一.概述 我们的大数据平台(云)平台的数据接收服务基于ServerSuperIO开发,因为集成的功能比较多,无法实现跨平台,现在跑在Windows下. 但是云端体系化.标准化建设,跨平台是必走的技术路 ...

  2. 《物联网框架ServerSuperIO教程》- 23.动态数据接口增加缓存,提高数据输出到OPCServer和(实时)数据库的效率...

     22.1   概述及要解决的问题 设备驱动有DeviceDynamic接口,可以继承并增加新的实时数据属性,每次通讯完成后更新这些属性数据.原来是通过DeviceDynamic接口实体类反射的方式获 ...

  3. 《连载 | 物联网框架ServerSuperIO教程》- 15.数据持久化接口的使用。附:3.2发布与版本更新说明。...

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

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

    SSIO的更新 在SSIO上增加了UDP通讯方式,可以到Github上下载源代码.在原来的项目中,远端的设备与中心站的数据交互并没有使用过UDP方式.这种短连接的通讯链路,不容易维护,主要体现在:(1 ...

  5. 开源物联网通讯框架ServerSuperIO,成功移植到Windows10 IOT,在物联网和集成系统建设中降低成本。附:“物联网”交流大纲...

    [开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 一.概述 经过一个多月晚上的时间,终于把开源物联网通讯框架ServerSuperIO成功移植到Windows10 IOT上, ...

  6. 一张图让你读懂鹅厂的物联网框架

    一张图让你读懂鹅厂的物联网框架 本文从物联网的中心要素.物联网的关键场景.微信硬件平台的通讯协议剖析三个维度去剖析基于微信硬件平台的物联网架构. 一.基于微信硬件平台的物联网架构图 上图涵盖以下信息: ...

  7. 网易云音乐网络库跨平台化实践

    导读: 2021年10月21日,「QCon 全球软件开发大会」在上海举办,网易智企技术 VP 陈功作为出品人发起了「AI 时代下的融合通信技术」专场,邀请到网易云信.网易音视频实验室.网易云音乐的技术 ...

  8. 闲鱼基于 Flutter 的移动端跨平台应用实践

    闲鱼为什么使用 Flutter Flutter 作为 Google 新一代的跨平台框架,有较多的优点,但跟其他跨平台解决方案相比,最吸引我们的是它的高性能,可以轻松构建更流畅的 UI.虽然各跨平台方案 ...

  9. XCoreRedux框架:Android UI组件化与Redux实践

    XCoreRedux框架:Android UI组件化与Redux实践 @author: 莫川 https://github.com/nuptboyzhb/ XCoreRedux源码+Demo:http ...

最新文章

  1. Painting A Board --POJ 1691
  2. python招聘笔试题_滴滴2020年春招笔试题分析(Python)
  3. 笔记。------数组
  4. tensor_proto.raw_data().empty() || !tensor_proto.float_data().empty() || !tensor_proto.double_data()
  5. Building your training into your researcing
  6. XMPP键盘订制实现图文混排
  7. boost::gil模块实现带默认参数的框过滤器的测试程序
  8. jqGrid如何设置jqGrid第一次初始化时不加载任何数据?实现方法!
  9. Codeup-问题 A: 【字符串】最长回文子串
  10. C# Zip解压缩,规避 [content_types].xml 文件
  11. python 仿真模拟_Python SimPy 仿真系列 (1)
  12. [python + debug] set()操作对象的元素为字符串,则结果随机排序,使用sorted()函数以固定顺序
  13. GUI开发之AWT、SWING、SWT和JFACE的比较
  14. CompoundButton调用setChecked多次触发onCheckedChanged
  15. java ios开发工具_5款用来开发iOS应用的Java开源工具
  16. 教学向|如何快速入门maya制作动画,萌新也能冲
  17. UIKit基础:6.UIView的常用属性 - SuperView和SubViews基本认识
  18. Base64和Base64URL加解密
  19. 如何使用Tracup设定现实的项目目标(以及要避免的错误)
  20. 黑客利用WordPress 插件暗中建立后门网站

热门文章

  1. Linq 实现 DataTable 行转列
  2. 数据结构笔记--栈的总结及java数组实现简单栈结构
  3. js调用高德API获取所在当前城市
  4. android 多布局
  5. c# 获取当前活动窗口句柄,获取窗口大小及位置
  6. 值得永久收藏的 C# 设计模式套路(二)
  7. 如何通过提问成为更好的开发人员
  8. ABP Framework 研习社经验总结(6.28-7.2)
  9. Masuit.Tools,一个免费的轮子
  10. .NET 6 Preview5+VS2022实战千万并发秒杀项目,帅爆了(附源码)