1.本发明涉及安卓系统控制技术领域,特别涉及一种使用安卓系统控制热敏打印机的方法。
背景技术:2.安卓(android)是一种基于linux内核(不包含gnu组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国google公司和开放手机联盟领导及开发。android操作系统最初由andy rubin开发,主要支持手机,一般在工业生产中,会使用安卓系统去远程控制相关设备。
3.网络通信中使用的是tcp/ip协议,tcp/ip通讯协议采用四层通讯结构,链路层、网络层、传输层、应用层,每一层都呼叫它的下一层提供的网络来完成自己的需求,当用户发起一个请求时,应用层、传输层、网络层和链路层的相关协议依次对该请求进行包装并携带对应的首部,最后在链路层生成以太网数据包,通过wifi传送给接收方,然后接收方对数据按照对应协议层层拆包并进行相应数据校验,若数据无误则把拆包后的应用程序数据交给应用程序处理。
4.目前市场上,使用安卓系统远程控制热敏打印机时,需要对数据进行校验,crc校验存在于数据链路层,而协议栈代码与网卡驱动程序紧耦合,数据校验保证了通信的可靠性,但大量数据的校验,势必会增加通信延时。若只是一味的要求通信速率,则会使得每个数据码元所占地时间缩短、波形变窄、能量减少,从而在受到干扰后产生错误的可能性增加,传送信息的可靠性下降,为此,现提出一种使用安卓系统控制热敏打印机的方法。
技术实现要素:5.本发明的主要目的在于提供一种使用安卓系统控制热敏打印机的方法,可以有效解决背景技术使用安卓系统远程控制热敏打印机时,需要对数据进行校验,crc校验存在于数据链路层,而协议栈代码与网卡驱动程序紧耦合,数据校验保证了通信的可靠性,但大量数据的校验,势必会增加通信延时。若只是一味的要求通信速率,则会使得每个数据码元所占地时间缩短、波形变窄、能量减少,从而在受到干扰后产生错误的可能性增加,传送信息的可靠性下降的问题。
6.为实现上述目的,本发明采取的技术方案为:一种使用安卓系统控制热敏打印机的方法,包括以下步骤:s1、安卓设备通过安卓系统对待打印文件进行数据编码,并向热敏打印机打发起一个打印请求,应用层、传输层、网络层和链路层的相关协议依次对该请求进行包装并携带对应的首部,最后在链路层生成以太网数据包;s2、wifi驱动移植配置:将网卡驱动进行移植,通过wifi将数据包传送给热敏打印机;s3、热敏打印机将数据包传送给检验模块,对数据按照对应协议层层拆包并进行
相应数据校验;s4、实现循环冗余算法,所述循环冗余算法包括crc算法和crc查表生成算法,所述crc算法将安卓系统与热敏打印机按一定规则处理生成一个数据校验码(即crc校验码)y位,安卓系统发送二进制数据帧x位,并在尾部附加y位校验码构成新的数据帧,热敏打印机按照确定的规则利用crc校验码对接收数据进行校验,检查接收数据是否无误,crc码即循环冗余校验码,采用多项式编码方式,其中,crc查表生成算法通过分高低位查表来计算crc校验码;s4、实现海明前向纠错码,包括确定校验位的个数、确定校验位的位置、计算校验位和数据校验纠错;s5、采用arq和fec实施混合纠错机制,fec系统使用的是海明码编码方式,海明编码作为一种循环码,纠错能力强,构造方便,适用于在信道特征不理想的无线通信中来纠正多个突发错误。与其他编码方式相比,其译码错误率小和纠错能力良好。海明码纠错能力与码长大小相关,根据该特点对编码长度作出调整,进而适应不尽相同特征的信道,而arq系统采取高效、可靠的crc来对传输差错进行校验;发送节点对要传输的信息码字作crc编码,随后将该码字作为基础再生成包括纠错信息的低冗余海明码。再生成的码字通过调制后发送至目的节点,在系统实时性与可靠性的改进发送过程中,由于信号受到各种干扰等原因,容易发生畸变,目的节点借助解调获取接收码字,通过比较接收码字与发送的原始码字,有可能存在一个偏差。接收方需要先作海明码译码,若接收码字的出错码元个数为超出海明码纠错能力,那么借助译码能够得到原始码字,则证明译码正确。若译码器在接收码字的纠错距离内未获得有效码字。译码出现失败,接收节点发送nak应答信号,告知发送节点接收出现错误,并请求重传,如图2、图3所示;s6、采用海明前向纠错码、未改进crc校验码、改进后crc码与海明码混合纠错进行数据通信测试,测试网络实时性和可靠性;s7、若数据校验无误则把拆包后的应用程序数据交个热敏打印机进行打印处理,若数据有误则纠错后进行数据拆包。
7.优选地,所述wifi驱动移植配置包括编译内核、usb无线网卡驱动和配置无线网。
8.优选地,所述crc算法采用模二运算,对逐个字节进行依次计算加以验证。
9.优选地,所述crc查表生成算法通过字节查表来查找各个字节对应的crc校验码。
10.优选地,所述海明码的码组长度表达式为2
r-1,其中,上式中r代表校验位个数。
11.优选地,所述数据校验纠错为数据编码的逆过程。
12.优选地,所述海明码为一种循环码,所述fec系统使用的为海明码编码方式。
13.优选地,所述混合纠错机制采取type-iii型hec,且所述混合纠错机制在arq系统中吸纳fec子系统。
14.与现有技术相比,本发明具有如下有益效果:1.本发明中,通过计算第一个字节的crc码,逐步递推得到所有二进制数据的crc码。通过逐步递推减少了crc码计算量,提高了运算速度。为了进一步提高数据校验的速度,可以对一个字节的所有可能取得的值进行crc码的求取。将所有crc码做成表格,当进行数据帧校验时,通过查表快速检索到所有的crc码,提高crc码的运算速度。
15.2.本发明中,对于crc查表法,通过分高低位查表来计算crc校验码,把所有字节拆成高低4位的二进制两个部分,计算4位二进制数得到crc校验码做成表格,这样能够节约较多的存储空间。
16.3.本发明中,采用arq和fec实施混合纠错机制,能够将二者良好结合起来组成混合差错控制系统,系统采取了type-iii型hec,并在arq系统中吸纳fec子系统,fec子系统可以对少数错误数据进行纠正,进而减少重传次数,在其不能纠正时就使用arq重传机制,如此一来不仅增强系统可靠性,同时也确保了效率,其中,fec系统使用的是海明码编码方式,海明编码作为一种循环码,纠错能力强,构造方便,适用于在信道特征不理想的无线通信中来纠正多个突发错误,与其他编码方式相比,其译码错误率小和纠错能力良好,海明码纠错能力与码长大小相关,根据该特点对编码长度作出调整,进而适应不尽相同特征的信道,而arq系统采取高效、可靠的crc来对传输差错进行校验。
附图说明
17.图1为本发明一种使用安卓系统控制热敏打印机的方法的混合纠错机制原理图;图2为本发明一种使用安卓系统控制热敏打印机的方法的第一译码流程图;图3为本发明一种使用安卓系统控制热敏打印机的方法的第二译码流程图。
具体实施方式
18.为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
19.在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”“前端”、“后端”、“两端”、“一端”、“另一端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
20.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体的连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
21.请参照图1—3所示,本发明为一种使用安卓系统控制热敏打印机的方法,包括以下步骤:s1、安卓设备通过安卓系统对待打印文件进行数据编码,并向热敏打印机打发起一个打印请求,应用层、传输层、网络层和链路层的相关协议依次对该请求进行包装并携带对应的首部,最后在链路层生成以太网数据包;s2、wifi驱动移植配置:将网卡驱动进行移植,通过wifi将数据包传送给热敏打印机;s3、热敏打印机将数据包传送给检验模块,对数据按照对应协议层层拆包并进行相应数据校验;
s4、实现循环冗余算法,循环冗余算法包括crc算法和crc查表生成算法,crc算法将安卓系统与热敏打印机按一定规则处理生成一个数据校验码(即crc校验码)y位,安卓系统发送二进制数据帧x位,并在尾部附加y位校验码构成新的数据帧,热敏打印机按照确定的规则利用crc校验码对接收数据进行校验,检查接收数据是否无误,crc码即循环冗余校验码,采用多项式编码方式,其中,crc查表生成算法通过分高低位查表来计算crc校验码;s4、实现海明前向纠错码,包括确定校验位的个数、确定校验位的位置、计算校验位和数据校验纠错;s5、采用arq和fec实施混合纠错机制,fec系统使用的是海明码编码方式,海明编码作为一种循环码,纠错能力强,构造方便,适用于在信道特征不理想的无线通信中来纠正多个突发错误。与其他编码方式相比,其译码错误率小和纠错能力良好。海明码纠错能力与码长大小相关,根据该特点对编码长度作出调整,进而适应不尽相同特征的信道,而arq系统采取高效、可靠的crc来对传输差错进行校验;发送节点对要传输的信息码字作crc编码,随后将该码字作为基础再生成包括纠错信息的低冗余海明码。再生成的码字通过调制后发送至目的节点,在系统实时性与可靠性的改进发送过程中,由于信号受到各种干扰等原因,容易发生畸变,目的节点借助解调获取接收码字,通过比较接收码字与发送的原始码字,有可能存在一个偏差。接收方需要先作海明码译码,若接收码字的出错码元个数为超出海明码纠错能力,那么借助译码能够得到原始码字,则证明译码正确。若译码器在接收码字的纠错距离内未获得有效码字。译码出现失败,接收节点发送nak应答信号,告知发送节点接收出现错误,并请求重传,如图2、图3所示;s6、采用海明前向纠错码、未改进crc校验码、改进后crc码与海明码混合纠错进行数据通信测试,测试网络实时性和可靠性;s7、若数据校验无误则把拆包后的应用程序数据交个热敏打印机进行打印处理,若数据有误则纠错后进行数据拆包。
22.wifi驱动移植配置包括编译内核、usb无线网卡驱动和配置无线网。
23.crc算法采用模二运算,对逐个字节进行依次计算加以验证。
24.crc查表生成算法通过字节查表来查找各个字节对应的crc校验码。
25.海明码的码组长度表达式为2
r-1,其中,上式中r代表校验位个数。
26.数据校验纠错为数据编码的逆过程。
27.海明码为一种循环码,fec系统使用的为海明码编码方式。
28.混合纠错机制采取type-iii型hec,且混合纠错机制在arq系统中吸纳fec子系统,fec子系统可以对少数错误数据进行纠正,进而减少重传次数,在其不能纠正时就使用arq重传机制,如此一来不仅增强系统可靠性,同时也确保了效率。
29.以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。