【重大更新】开源跨平台物联网通信框架ServerSuperIO 2.0(SSIO)下载

更新具体细节参见:[更新设计]跨平台物联网通信框架ServerSuperIO 2.0 ,功能、BUG、细节说明,以及升级思考过程!html

     声明:公司在建设工业大数据平台,SSIO正好能派上用场,因此抓紧时间进行了完善,而且升级到了2.0版本,但愿对你们有帮助。仅供开源学习,商用请联系做者。git

1.SSIO特色

  • 轻型高性能通讯框架,适用于多种应用场,轮询模式、自控模式、并发模式和单例模式。
  • 不光是通信框架,是设备驱动、IO通道、控制模式场景的协调机制。
  • 支持协议驱动器,能够按规范写标准协议和自定义协议。
  • 支持发送数据缓存器,支持命令缓存重发和按优先级别发送。
  • 支持协议过滤器,按规则筛选数据,而且能够承继接口,自定义过滤方式。
  • 支持接收数据缓存器,能够缓存不符合过滤器的数据,和下次接收数据进行拼接。
  • 支持按设备命令优先级别进行调度设备,保证有高级别命令的驱动及时发送。
  • 支持一个设备驱动,同时支持串口和网络两种通信方式,能够监视IO通道数据。
  • 支持一个设备驱动,在网络通信时能够支持TCP Server和TCP Client两种工做模式。
  • 支持多设备共享同一IO通道进行通信。
  • 支持定时清理超时的网络IO通道。
  • 支持显示视图接口,知足不一样显示需求。
  • 支持服务组件接口,能够自定义完成OPC服务、4-20mA输出、LED大屏显示、短信服务、以及多功能网关服务。
  •  支持建立多服务实例,完成不一样业务的拆分。
  •  支持跨平台部署,能够运行在Linux和Windows系统。

2. 测试过程的协议

     协议头(2个字节),客户端编号(ASCII,4个数字字符),文件名称,文件内容,协议尾(2个字节)github

     事例:0x35,0x35,0001,yyMMddHHmmss.txt,文件内容,0x33,0x33缓存

3. 测试结果

    从2016-8-16 14:00左右开始测试,到2016-8-17 13:00左右截图。每间隔5s发送一个65kb的文件,SSIO负责接收,而且存储数据。以下图:网络

 

    红圈标注的内容,为何会出现错误数据呢?这是由于协议中以0x3五、0x35开头,以0x3三、0x33结尾,可是协议数据中包括文件名称,是以时间为命名规则:yyMMddHHmmss.txt,因此文件名称在协议中的数据有可能包括0x35或0x33的数据,因此会出现截取数据错位的状况,这是正常现象。可是在设计通信协议的过程须要特别注意。并发

4.开源分支

     SSIO 2.0版本是在SSIO1.3版本基础上修改的,修改的内容比较多,因此新建了一个分支,在github上下载时须要注意,以下图:框架

 

 

相关文章
相关标签/搜索