专利汇可以提供一种基于串口的服务器控制方法专利检索,专利查询,专利分析的服务。并且本 发明 提供一种基于串口的 服务器 控制方法,该方法的功能是通过定制通信协议,根据协议的要求通过串口通信程序把所需要的数据发送出去,然后利用控制终端可以显示出来数据也可以来控制服务器。该方法的好处是有了这套通信协议的定制和程序的实现,以后有关于控制服务器的操作的相关项目中,都能很快的 修改 少量的通讯协议或程序就可以轻松实现,无论控制终端是控制终端还是其他的一些设备,都可以达到控制服务器的效果。因为他都是在底层实现了串口的通讯,从而通过串口实现了控制服务器的目的。,下面是一种基于串口的服务器控制方法专利的具体信息内容。
1.一种基于串口的服务器控制方法,其特征在于,定义串口通讯协议的数据包格式,其中定义包括发送的格式和发出的格式、发送采用的波特率和字符编码,根据协议的要求通过串口通信程序把所需要的数据发送出去,显示到控制终端上或通过控制终端利用串口通信程序实现控制服务器,具体实现步骤如下:
一、定制串口协议规则,包括串口的参数
当串口向系统发送数据是指控制终端通过响应事件来设置所要的数据,把数据的信息以字符的形式发送给系统,以下通一简称为“serial到system”,当系统向串口发送响应的数据是指系统收到有效的信息后,做出的相应的处理结果,把结果以字符的形式发送给串口,以下统一简称为“system到serial”无论从system到serial还是serial到system都是以字符的形式发送且字符编码都是Unicode;
A:定义串口的初始化参数,波特率统一设置为9600;数据位8位,停止位1,奇偶校验无;
B:定义从控制终端通过串口发送数据到系统的数据格式,定义了包头,命令,信息长度,信息位,数据,包尾,校验和;
规定包头统一用#号,命令分别用到FGVCRDT字母,信息长度是统计信息位和数据的字节数的总和;
信息位:是判断受到的数据正确与否和收到正确的数据后,执行系统命令正确与否,当要收到错误命令的时候标志位为E,当执行系统命令出错的时候返回F正确的时候返回T;
数据位:当有数据的时候返回实际的数据,当没有数据返回0包尾:*号;
校验和:指的是所有从包头到包尾的ASCII码的总和,同理配置从系统通过串口发送到控制终端配置的数据格式也分为包头,命令,信息长度,信息位,数据,包尾,校验和,但是从系统通过串口发送到控制终端的信息位和数据是不一样的,其他的都一样,因为这里的标志位代表执行系统的命令是否正确,数据位代表要取的数据,从包头到包尾的ascii码的和是用四个字节表示;
二:配置驱动程序
RXTX是一个提供串口和并口通信的开源java类库,由该项目发布的文件均遵循LGPL协议;
A:修改javax.comm.properties RXTX驱动的类配置文件,内容是Driver=gnu.io.RXTXCommDriver serpath0=/dev/ttyS0这里的ttys0代表是串口1,是串口2侧修改成ttys1;
B:把下载下来的rxtx解压后,另外还有linux/solaris/windows/mac的目录,这是RXTX针对不同平台的动态链接库,处理器是i386,所以就是i686-unknown-linux-gnu下的so文件librxtxParallel.so,librxtxSerial.so两个文件考到$JAVA_HOME/lib/下,同时在考到
C:把javax.comm.properties 文件考到$JAVA_HOME/jre/lib下;
D:最后把RXTXCommon.jar添加到你的工程里;
注意:用ide工具eclipse编译用上边的方法;用命令编译:把RXTXCommon.jar拷贝到$JAVA_HOME/jre/lib/ext目录下;
三:初始化串口程序
这里的初始化指的后台程序进行的初始化,包括初始化串口的端口号,串口的传输速率,端口时超时时间,串口的数据位,串口的停止位,因为我们是操作控制终端来触发的事件,所以让串口的继承erialPortEventListener这个类,然后让他实现是该类的public void serialEvent(SerialPortEvent serialevent)这个方法,然后让事件监听注册到串口类中:serialport.addEventListener(this),最重要的是得到输入和输出流,in=serialport.getInputStream();out=serialport.getOutputStream();利用输入输出流来操作得到和输出的数据,当都初始化成功返回该串口对象,当调用完之后必须关闭串口,out.close(),
in.close();
四:数据格式的优化操作
当通过串口接收到数据,把数据返回给业务逻辑层来处理数据,这里用到了大量的优化数据的操作,包括以下内容:
A:判断接收到的数据是否正确,用
Pattern.compile(″#[T,D,R,C,V,G,F]0200\\*\\d+″);来匹配正确的数据包,此处用到的匹配方法就是通讯协议定义的格式,当不匹配的时候直接按照铜须协议定义的发送给串口的数据格式返回一个错误指令,即信息标志位为E,表示接收的数据有问题,当正确的时候,把这个正确的字符串返回给public booleanmesglength(String m)判断校验和是否正确,不正确也是把标志位为E,正确后调用public String realString(String m)把正确的数据包的字符串置成全局变量;
B:执行public String getCommand(String m),分解出所要执行的命令关键字,然后根据命令调用不同的执行方法对应的执行的底层的命令,底层对象取得数据后,把信息位置为F或T,分别代表执行错误和执行正确的标志,把取得的数据放到数据位上;
C:串口通过初始化业务逻辑类public class HandleString,调用publicFlagBean syscommand(String m)调用刚才执行命令,返回一个不带校验和的数据包格式的字符串;
D:初始化优化类ReturnString后,调用public byte[]returnbytes(FlagBeanflag),把刚才得到的数据包字符串,无论是正确的还是错误的都调用public byte[]covbyte(FlagBean flag),就是根据不同的命令来区分不同的数据发送格式,按照通讯协议的格式来优化,把他们调优成对应的字节格式,包括把一个整数类型转换成一个字节,执行完返回给一个字节数组,此时的字节数组就是一个完整的数据包格式,但是不带校验和,然后returnbytes在根据这个数组算出校验和,统一放到一个字节数组里,返回给串口发送端,串口发送端public voidwritePort2(byte[]result)。
2.监听读取数据和串口发送数据的方法,其特征在于,监听的判断依据就是当有数据的时候就接受:serialevent.DATA_AVAILABLE==serialevent.getEventType(),接受时设了一个字节缓存区,每次有数据的时候发数据放到缓存区中,其中就是控制终端发送的校验和是float类型,接受过来的时候要把他转换成float后,在和前面的数据一起合并后把他传给业务逻辑层,当业务逻辑层把数据处理后传回来时,由串口public void writePort(byte[]result)负责把数据通过串口传到控制终端上,然后调用public void writePort(byte b),out.write(b);out.flush();用写入串口字节,然后清除缓存区,这样保证每次都发送的数据是最新的。
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
一种分布式块存储的数据恢复方法、装置及存储介质 | 2020-06-12 | 1 |
国民价值链规划配置全息对接均衡表列技术 | 2022-08-13 | 0 |
基于工作流的通用软件测试过程模型的建立方法 | 2022-10-30 | 0 |
基于构件机械原理的机构运动虚拟实验仿真方法 | 2023-02-16 | 0 |
一种CDN网络中批量处理大量主机的方法及装置 | 2022-01-23 | 0 |
一种嵌入式设备的启动方法及软件升级方法 | 2023-06-14 | 1 |
一种连续页版式文档结构化信息提取方法 | 2020-05-30 | 0 |
一种用于数字内容共享的商业模式与方法 | 2020-09-10 | 1 |
一种基于人工智能的高校招生数据采集方法及系统 | 2020-07-12 | 1 |
Document validation mapping system and method | 2022-09-13 | 0 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。