红联Linux门户
Linux帮助

ServerSuperIO 2.0(SSIO)发布,跨平台物联网通讯框架

发布时间:2016-08-17 14:47:38来源:红联作者:baihuo
1.SSIO特点

轻型高性能通信框架,适用于多种应用场,轮询模式、自控模式、并发模式和单例模式。

不光是通讯框架,是设备驱动、IO通道、控制模式场景的协调机制。

支持协议驱动器,可以按规范写标准协议和自定义协议。

支持发送数据缓存器,支持命令缓存重发和按优先级别发送。

支持协议过滤器,按规则筛选数据,并且可以承继接口,自定义过滤方式。

支持接收数据缓存器,可以缓存不符合过滤器的数据,和下次接收数据进行拼接。

支持按设备命令优先级别进行调度设备,保证有高级别命令的驱动及时发送。

支持一个设备驱动,同时支持串口和网络两种通讯方式,可以监视IO通道数据。

支持一个设备驱动,在网络通讯时可以支持TCP Server和TCP Client两种工作模式。

支持多设备共享同一IO通道进行通讯。

支持定时清理超时的网络IO通道。

支持显示视图接口,满足不同显示需求。

支持服务组件接口,可以自定义完成OPC服务、4-20mA输出、LED大屏显示、短信服务、以及多功能网关服务。

支持创建多服务实例,完成不同业务的拆分。

支持跨平台部署,可以运行在Linux和Windows系统。

2. 测试过程的协议

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

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

3. 测试结果

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

为什么会出现错误数据呢?这是因为协议中以0x35、0x35开头,以0x33、0x33结尾,但是协议数据中包括文件名称,是以时间为 命名规则:yyMMddHHmmss.txt,所以文件名称在协议中的数据有可能包括0x35或0x33的数据,所以会出现截取数据错位的情况,这是正常 现象。但是在设计通讯协议的过程需要特别注意。

4.开源分支

开源地址:http://git.oschina.net/wxzz/ServerSuperIO/tree/2.0/

来自:开源中国社区
文章评论

共有 0 条评论