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

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

3.0版本主要更新内容:

1.增加跨平台能力:Win&Win10 Iot&Ubuntu&Ubuntu Mate

2.统一设备驱动接口:可以一套设备驱动,跨平台挂载运行,降低人力成本,提高开发效率。

3.增加二次开发套件:支持控制台和UI界面两种方式。

4.增加配置工具:参数配置、设备驱动挂载、视图挂载、服务实例的挂载。

5.修复BUG,优化代码。

SSIO的特点

1.轻型高性能通信框架,适用于多种应用场,轮询模式、自控模式、并发模式和单例模式。
2.不光是通讯框架,是设备驱动、IO通道、控制模式场景的协调机制。
3.支持协议驱动器,可以按规范写标准协议和自定义协议。
4.支持发送数据缓存器,支持命令缓存重发和按优先级别发送。
5.支持协议过滤器,按规则筛选数据,并且可以承继接口,自定义过滤方式。
6.支持接收数据缓存器,可以缓存不符合过滤器的数据,和下次接收数据进行拼接。
7.支持按设备命令优先级别进行调度设备,保证有高级别命令的驱动及时发送。
8.支持一个设备驱动,同时支持串口和网络两种通讯方式,可以监视IO通道数据。
9.支持一个设备驱动,在网络通讯时可以支持TCP Server和TCP Client两种工作模式。
10.支持多设备共享同一IO通道进行通讯。
11.支持定时清理超时的网络IO通道。
12.支持显示视图接口,满足不同显示需求。
13.支持服务组件接口,可以自定义完成OPC服务、4-20mA输出、LED大屏显示、短信服务、以及多功能网关服务。
14.支持创建多服务实例,完成不同业务的拆分。
15.支持跨平台部署,可以运行在Linux和Windows系统。
16.设备驱动与设备驱动,设备驱动与服务器(云端)可以实时双向交互,上传数据和指令下发。

SSIO概述

     SSIO通信框架的设计思想是在SuperIO(SIO)基础上发展而来,并没有高大上的技术,主要是工作经验的积累,适合于不同应用场景的物联网的数据采集与交互。SSIO和SIO并不是简单的对IO高性能的操作,而是设备驱动、IO通道、控制模式和实际硬件设备之间的协调机制,各方面之间无缝衔接和运行,也是为了解决现实工作和应用场景的一些痛点。软硬件之间的数据交互,并且面临着复杂的现场环境:
(1)复杂的、多样的通讯协议。有标准的协议,例如:Modbus等,也有很多根据标准协议修改的协议格式、以及自定义协议格式,并且千差万别。对于不好的软件架构,疲于应对,增加设备或协议要对整个软件进行梳理,往往在此过程中出现新的问题或BUG。
(2)针对不同用户对软件界面或功能的要求有很大不同,使之满足不同用户的显示要求,可以自定义数据显示界面。那么就需要提供显示视图接口,与设备驱动进行交互。
(3)既然现场设备的数据被采集上来,那么就需要对其进行处理,不仅仅是保存、查询、报表等,还有:数据转发、数据输出(OPC、模拟量、大屏等)等。那么就需要提供服务性的接口,与设备驱动进行交互。
(4)通讯链路的多种性,对于同一个设备可能要支持RS232/RS485/RS422、RJ45、3G/4G等通讯方式,所以对于一个设备要对应多种通讯方式(串口和网络),也给我们的开发造成很大的障碍。
(5)设备驱动、IO通道和实际的现场硬件终端之间链路复杂,有可能:一个设备驱动对应一个IO通道、一个设备驱动对应多个IO通道、多个设备驱动对应一个IO通道等情况。
(6)既然设备与服务端进行数据交互,那么就应该对设备的通讯状态、IO状态、以及设备本身的状态进行监控,这样设备才处于可维护状态。
(7)软件各版本、以及软件与硬件之间的兼容性很差,管理起来错综复杂。在框架平台稳定的情况下,只需要更新设备驱动。
为了解决以上诸多问题,开发一个软件框架,支持二次开发。在不对软件框架改动的情况下,能够很方便的接入设备、维护设备、集成设备、处理设备业务数据等。软件框架相对稳定,把容易变化的部分进行灵活设计。

  下载:ServerSuperIO官方下载

  下载:Github下载


 

连载教程:

1.4种通讯模式机制
2.服务实例的配置参数说明
3.设备驱动介绍
4.如开发一套设备驱动,同时支持串口和网络通讯
5.轮询通讯模式开发及注意事项
6.并发通讯模式开发及注意事项
7.自控通讯模式开发及注意事项
8.单例通讯模式开发及注意事项
9. 协议过滤器,解决一包多发、粘包、冗余数据
10.持续传输大块数据流的两种方式(如:文件)
11.实现设备(驱动)与设备(驱动)交互和级联控制。
12.服务接口的开发,以及与云端双向交互
13.自定义视图显示接口开发,满足不同的显示需求
14.配制工具介绍,以及设备驱动、视图驱动、服务实例的挂载

 


 

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

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

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

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

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

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

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
1月前
|
Ubuntu
百度搜索:蓝易云【Ubuntu开机自启服务systemd.service配置教程】
现在,你的服务将在Ubuntu开机时自动启动,并在之后的启动中持续运行。记得根据你的实际需求修改 `your_service_name.service`文件中的相关信息。
86 2
|
1月前
|
监控 Ubuntu 安全
Ubuntu开启FTP服务教程
在Ubuntu服务器上配置FTP服务是一个常见的需求,无论是用于文件分享、网站管理还是数据备份。FTP(文件传输协议)是一种用于在网络上传输文件的协议,它可以让用户通过身份验证下载或上传文件。本文将指导您如何在Ubuntu系统上安装和配置FTP服务器,以及如何管理用户权限来保证服务器的安全性。
191 0
|
1月前
|
Ubuntu
百度搜索:蓝易云【ubuntu 16.04升级到18.04教程】
请注意,在升级过程中可能会出现一些问题,例如软件包依赖关系或配置文件冲突。在升级前,建议备份重要数据,以免数据丢失。如果你在升级过程中遇到问题,可以查看相关错误信息并尝试解决。
56 2
|
1月前
|
Ubuntu 数据安全/隐私保护
百度搜索:蓝易云【ubuntu安装qemu教程】
现在,你已经成功在Ubuntu系统中安装了QEMU。你可以使用QEMU来模拟x86、ARM等体系结构的虚拟机,并在其中运行不同的操作系统。请注意,QEMU的使用可能涉及到一些复杂的参数和配置,具体使用方法可以参考官方文档或相关教程。
64 1
|
27天前
|
存储 Ubuntu 关系型数据库
Ubuntu 20.04 卸载与安装 MySQL 5.7 详细教程
该文档提供了在Ubuntu上卸载和安装MySQL 5.7的步骤。首先,通过`apt`命令卸载所有MySQL相关软件包及配置。然后,下载特定版本(5.7.32)的MySQL安装包,解压并安装所需依赖。接着,按照特定顺序安装解压后的deb包,并在安装过程中设置root用户的密码。安装完成后,启动MySQL服务,连接数据库并验证。最后,提到了开启GTID和二进制日志的配置方法。
|
7天前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
IoTDB是面向物联网的时序数据库,专注于时间序列数据管理,提供高效的数据处理、集成Hadoop和Spark生态、支持多目录存储策略。它还具有InfluxDB协议适配器,允许无缝迁移原本使用InfluxDB的业务。文章讨论了IoTDB的体系结构,包括数据文件、系统文件和预写日志文件的存储策略,并介绍了如何配置数据存储目录。此外,还提及了InfluxDB版本和查询语法的支持情况。IoTDB在物联网数据管理和分析中扮演关键角色,尤其适合处理大规模实时数据。
25 5
|
10天前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
物联网技术带来数据库管理挑战,特别是实时数据整合与安全性。IoTDB是一个专为时间序列数据设计的数据库,提供数据收集、存储和分析服务,适用于海量物联网数据。其架构包括数据文件、系统文件和预写日志文件的管理,并支持多目录存储策略。此外,IoTDB还开发了InfluxDB协议适配器,使得用户能无缝迁移原有InfluxDB业务。此适配器基于IoTDB的Java服务接口,转换InfluxDB的元数据格式,实现与IoTDB的数据交互。目前,适配器支持InfluxDB 1.x版本及部分查询语法。
35 5
|
21天前
|
Ubuntu
蓝易云 - 虚拟机中Ubuntu16.04设置网络教程
以上就是在虚拟机中设置Ubuntu 16.04网络的基本步骤。具体的步骤可能会根据你的虚拟机软件和网络环境有所不同。
32 8
|
1月前
|
Ubuntu JavaScript 开发工具
远程服务器ubuntu安装Jupyter Lab详细教程
远程服务器ubuntu安装Jupyter Lab详细教程
431 0
|
1月前
|
开发框架 .NET Linux
2024年最全C# 图解教程 第5版 —— 第1章 C# 和 ,2024年最新终于有人把Linux运维程序员必学知识点全整理出来了
2024年最全C# 图解教程 第5版 —— 第1章 C# 和 ,2024年最新终于有人把Linux运维程序员必学知识点全整理出来了
2024年最全C# 图解教程 第5版 —— 第1章 C# 和 ,2024年最新终于有人把Linux运维程序员必学知识点全整理出来了

相关产品

  • 物联网平台