应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案
- SSIO的更新
在SSIO上增加了UDP通讯方式,可以到Github上下载源代码。在原来的项目中,远端的设备与中心站的数据交互并没有使用过UDP方式。这种短连接的通讯链路,不容易维护,主要体现在:(1)持续的数据交互能力。(2)对现场设备进行长时间的维护和校准。(3)SSIO要协调设备、IO和控制方式之间的运作关系,无法即时反应设备的IO状态。等等。
但是,对于一个平台来讲,UDP的通讯方式是应该具有的,根据现场情况选择是否应用。例如:远端的设备定时发送设备状态信息等,可以使用UDP的通讯方式,在SSIO里单独建立一个状态服务实例。
- SIO和SSIO应用方案
SIO和SSIO的设计思想是相似的,但是还是有一定的区别,请参见《C#跨平台物联网通讯框架ServerSuperIO(SSIO)》。
根据应用场景,SIO和SSIO可以相互配合部署到不同的地方。SIO可以部署在工业现场或工作站点,采集区域范围的硬件设备或传感器的数据,然后打包上传数据;SSIO可以部署在服务器端,接收上传的数据,并与现场进行数据或命令交互。结合图如下:

SIO本身就是一个WinForm应用程序,只需要继承MainForm就能够很快的构建自己的图形化的通讯平台,把开发好的设备驱动、图形显示、服务等以插件的方式挂载到平台,就可以运行了,可以参见二次开发手册。一般现场工控机都是Windows操作系统,尽管SIO不支持跨平台(开发SIO的时候,还没有Mono呢),但是支持Windows XP sp3所有以上版本的操作系统。
SSIO本身是一个支持多服务实例的命令行程序,更适合部署在服务器端,负责与SIO或现场设备、传感器进行数据交互。并且SSIO的各方面的性能更优于SIO,以及支持4种控制模式的应用场景,轮询模式、自控模式、并发模式和单例模式。
使用SIO和SSIO二次形式发时不需要关心对设备、IO和控制方式的调度,只需要继承接口开发设备驱动和设置相应的参数就可以了。另外,SIO和SSIO可以作为组态软件的核心通讯组件。
- 嵌入式智能设备
SSIO可以支持跨平台运行,如果智能设备内嵌裁剪后的Linux操作系统,SSIO可以跑在智能设备中,唯一的缺点就是缺少强大的Web监控服务,现在ASP.NET Core支持跨平台部署了,到是一个发展的方向。
SSIO也可以作为嵌入式智能网关服务,对采集的数据进行协议转换、打包、转发。
- 其他说明
SIO和SSIO的设备驱动,当网络通讯时,都支持Tcp Client工作模式。因为现场环境比较复杂,又是防火墙、路由之类的。有时候做项目,找个熟悉环境的人都困难,所以当前找了一个最简单的解决方法,就是反向连接,也一直延续至今。
开源地址:https://github.com/wxzz/ServerSuperIO
QQ:504547114
QQ群:54256083
应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案的更多相关文章
- 开源物联网框架ServerSuperIO 3.0正式发布(C#),跨平台:Win&Win10 Iot&Ubuntu&Ubuntu Mate,一套设备驱动跨平台挂载,附:开发套件和教程。
3.0版本主要更新内容: 1.增加跨平台能力:Win&Win10 Iot&Ubuntu&Ubuntu Mate 2.统一设备驱动接口:可以一套设备驱动,跨平台挂载运行,降低人力 ...
- 【重大更新】开源跨平台物联网通讯框架ServerSuperIO 2.0(SSIO)下载
更新具体细节参见:[更新设计]跨平台物联网通讯框架ServerSuperIO 2.0 ,功能.BUG.细节说明,以及升级思考过程! 声明:公司在建设工业大数据平台,SSIO正好能派上用场,所以抓紧时间 ...
- 开源物联网框架ServerSuperIO(SSIO),项目中实践应用介绍
一.项目背景 我们是传统行业,但是我们有一颗不传统的心.企业用户遍布国内和国外,面对行业,要建设行业级的(大)数据平台.一提到大数据平台,大家往往想到Hadoop.Spark.Nosql.分布式等等, ...
- 物联网框架ServerSuperIO在.NetCore实现跨平台的实践路线
正所谓天下大势,不跟风不行.你不跨平台,很low嘛.java说:你们能跨嘛,跨给我看看.C#说:不要强人所难嘛.java说:能部署在云上吗?docker?微服务?C#说:不要强人所难嘛.java说:你 ...
- 物联网框架ServerSuperIO.Core(.netcore)跨平台,一套设备驱动通吃嵌入式、上位机、云服务
1. 概述... 2 2. ServerSuperIO.Core跨平台开发环境... 2 3. ServerSuperIO.Core特点... 2 4. Ser ...
- 《连载 | 物联网框架ServerSuperIO教程》1.4种通讯模式机制。附小文:招.NET开发,结果他转JAVA了,一切都是为了生活
参考文章: 1.SuperIO通讯框架介绍,含通信本质 2.C#跨平台物联网通讯框架ServerSuperIO(SSIO) 一.感慨 上大学的时候,没有学过C#,花了5块钱在地坛书市买了一本教程,也就 ...
- 《连载 | 物联网框架ServerSuperIO教程》2.服务实例的配置参数说明
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制 一.综述 SuperIO(SIO)定位 ...
- 《连载 | 物联网框架ServerSuperIO教程》- 3.设备驱动介绍
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- 《连载 | 物联网框架ServerSuperIO教程》-4.如开发一套设备驱动,同时支持串口和网络通讯。附:将来支持Windows 10 IOT
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
随机推荐
- Node.js入门(一)
一.Node.js本质上是js的运行环境. 二.可以解析js代码(没有浏览器安全级的限制): 提供系统级的API:1.文件的读写 2.进程的管理 3.网络通信 三.可以关注的四个网站: 1.https ...
- 页面布局class常见命名规范
头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:left rig ...
- Android—Volley:接收服务端发送的json数据乱码问题解决
new JsonObjectRequest中重写方法parseNetworkResponse,内容如下: /** * 重写此方法不会导致乱码 */ @Override protected Respon ...
- iOS从零开始学习直播之3.美颜
任何一款直播软件都必须进行美颜,不然哪来的那么多美女,所以技术改变世界,不只是说说而已.美颜在采集的时候就得就行,让主播实时看到直播的效果. 1.美颜原理 其实美颜的本质就是美白和磨皮,分别通 ...
- IT雇员及外包商选择:人品第一
最近,苹果iOS操作系统和智能手机爆出了一个奇葩故障,在播放特定一段五秒钟的视频时能导致手机死机.唯一的解决办法是按住电源键和Home按键进行手机的重启. 第十八届中国国际高新技术成果交易会在深圳举办 ...
- VS2015 Git 源码管理工具简单入门
1.VS Git插件 1.1 环境 VS2015+GitLab 1.2 Git操作过程图解 1.3 常见名词解释 拉取(Pull):将远程版本库合并到本地版本库,相当于(Fetch+Meger) 获取 ...
- C#与yaml解析
YAML 官方网站称 YAML 是"一种所有编程语言可用的友好的数据序列化标准".YAML Ain't Markup Language,和GNU一样,YAML是一个递归着说&quo ...
- JS模块化开发:使用SeaJs高效构建页面
一.扯淡部分 很久很久以前,也就是刚开始接触前端的那会儿,脑袋里压根没有什么架构.重构.性能这些概念,天真地以为前端===好看的页面,甚至把js都划分到除了用来写一些美美的特效别无它用的阴暗角落里,就 ...
- Java线程池解析
Java的一大优势是能完成多线程任务,对线程的封装和调度非常好,那么它又是如何实现的呢? jdk的包下和线程相关类的类图. 从上面可以看出Java的线程池主的实现类主要有两个类ThreadPoolEx ...
- 常用数据库的驱动程序和Url地址
常用数据库的驱动程序及JDBC URL: Oracle数据库: 驱动程序包名:ojdbc6.jar 驱动类的名字:oracle.jdbc.driver.OracleDriver JDBC URL:jd ...