一种基于安卓智能终端外接打印机的打印系统及方法

文档序号:10686795阅读:507来源:国知局
一种基于安卓智能终端外接打印机的打印系统及方法
【专利摘要】本发明实施例公开了一种基于安卓智能终端外接打印机的打印系统,包括安卓智能终端和打印机;该系统还包括一Arduino控制器;所述Arduino控制器分别与所述安卓智能终端和打印机电性连接,所述Arduino控制器用于接收安卓智能终端的打印数据,并将所述打印数据传送给打印机并驱动打印机完成打印。本发明实施例还公开了一种基于安卓智能终端外接打印机的打印方法。该系统和方法通用性好,适用范围宽,方便连接。
【专利说明】
一种基于安卓智能终端外接打印机的打印系统及方法
技术领域
[0001]本发明实施例涉及电子信息技术领域,特别涉及一种基于安卓智能终端外接打印机的打印系统及方法。
【背景技术】
[0002]随着智能终端技术的发展,安卓系统近期在移动终端市场占有了很大的一块市场,基于安卓系统的技术飞速发展。现有的安卓智能移动终端如果需要外接打印机进行打印一般有两种方式。
[0003]现有方案的第一种方式是通过蓝牙或WiFi连接打印机进行打印,该方法的主要缺点是需要外接打印机自身拥有蓝牙或WiFi无线连接模块,与Android进行匹配并连接后才可进行相关打印操作。而现有市面上的打印机大都是为PC设计的,通过并口或者USB口与PC端进行有线连接,并没有蓝牙或者Wifi模块。此方案需要专门为Android智能终端设计对应的带有蓝牙或WiFi连接的打印机。通用性较差,适用范围较窄。
[0004]现有方案的第二种方式是:谷歌云端打印(Google Cloud Print)的服务,GoogleCloud Print是一个Google公司提供的服务,而这个服务最主要的目的就是让你透过Android智能终端直接将文件送到云端中,再从云端传送到有连接打印机的电脑上,从而进行打印工作。这种方案的主要缺点是必须要安装Google Chrome浏览器,而且Android手机端只能打印Android+Google的文件。同样通用性较差,而且适用范围较窄,而且不方便打印机与智能终端的直接连接。
[0005]于是针对基于安卓系统的智能终端,人们亟待一种通用性好,适用范围宽,方便连接的打印方式的出现。

【发明内容】

[0006]有鉴于此,本发明实施例提出一种基于安卓智能终端外接打印机的打印系统,其目的在于提供一种通用性好,适用范围宽,方便连接的打印系统。
[0007]本发明实施例是这样实现的,包括安卓智能终端和打印机;其特征在于,所述系统还包括一 Arduino控制器;所述Arduino控制器分别与所述安卓智能终端和打印机电性连接,所述Arduino控制器用于接收安卓智能终端的打印数据,并将所述打印数据传送给打印机并驱动打印机完成打印。
[0008]进一步地,所述打印机进一步包括带有可编程芯片的打印机和不带有可编程芯片的打印机;
[0009]当打印机带有可编程芯片时,所述Arduino控制器一次性把数据发送给打印机;[00?0]当打印机不带可编程芯片时,所述Arduino控制器把收到的数据按字节进行解析分解为二进制码,将分解后的二进制码发送给打印机。
[0011]进一步地,所述安卓智能终端和Arduino控制器通过通用串行总线连接;所述Arduino控制器与打印机通过通用串行总线或并口连接。
[0012]根据本发明的另一方面,本发明实施还提出一种基于安卓智能终端外接打印机的打印方法,其目的在于提供一种通用性好,适用范围宽,方便连接的打印方法。
[0013]本发明实施例是这样实现的,该方法包括如下步骤:(I),连接Arduino控制器与打印机并对打印机进行初始化;(2),将安卓智能终端连接到Arduino控制器;(3),安卓智能终端发送待打印数据到Arduino控制器;(4) ,Arduino控制器设置打印机为开始状态;(5),Arduino控制器发送数据给打印机进行打印。
[OOM] 进一步地,所述步骤(2)进一步包括:所述Arduino控制器查看外部是否有USB连接;当检测到有USB接入时,Arduino控制器检测厂家标识和/或产品标识是否匹配;当匹配成功时,返回匹配成功信号给安卓智能终端。
[0015]进一步地,所述步骤(5)进一步包括:当打印机带有可编程芯片时,所述Arduino控制器一次性把数据发送给打印机;当打印机不带可编程芯片时,所述Arduino控制器把收到的数据按字节进行解析分解为二进制码,将分解后的二进制码发送给打印机。
[0016]根据本发明的另一方面,本发明实施还提出一种安卓智能终端,其目的在于提供一种通用性好,适用范围宽的智能终端,可以直接连接传统的打印机进行打印。
[0017]本发明实施例是这样实现的,该智能终端包括存储器,还包括一Arduino控制器,所述Arduino控制器进一步包括:
[0018]内部接口,用于接收存储器传送的待打印数据;
[00?9]外部接口,用于外接打印机,接受Arduino控制器的驱动,并将接收到的待打印数据传送给打印机。
[0020]根据本发明的另一方面,本发明实施还提出一种打印机,其目的在于提供一种通用性好,适用范围宽的打印机,可以直接连接安卓智能终端并为其提供打印服务。
[0021]本发明实施例是这样实现的,该打印机包括打印控制器,还包括一Arduino控制器,所述Arduino控制器进一步包括:
[0022]外部接口,用于连接外部安卓智能终端,并接收所述安卓智能终端传送来的待打印数据;
[0023]内部接口,用于驱动打印控制器,并将接收到的带打印数据传送给打印控制器进行打印。
[0024]根据本发明的另一方面,本发明实施例还提供一种用于连接安卓智能终端和打印机的的Arduino控制器,包括:
[0025]终端连接装置,用于与所述安卓智能终端电性连接,并接收安卓智能终端的打印数据;
[0026]打印连接装置,用于与所述打印机电性连接,并将所述打印数据传送给打印机并驱动打印机完成打印。
[0027]从上述方案可以看出,本发明实施例提供的打印方法,在传统打印机和智能终端之间增加一个Arduino控制器进行连接,通过Arduino控制器对智能终端和打印机进行控制,实现了简单的打印实现,该方法和系统通用性好,适用范围宽,方便连接,大大的提高了智能终端的打印效率。同时提出的Ardu ino控制器便于智能终端和打印机的连接。还提出一种改进的智能终端和打印机,将Arduino控制器分别置入传统智能终端和打印机中,这样可以不用通过外接Arduino控制器,便可以直接实现智能终端和打印机的连接了,适用范围更为广泛。本发明实施例提供的系统打印速度快,稳定性好,无延迟,实用性更强,适用于大数据量的打印。
【附图说明】
[0028]图1示出本发明实施例提供的打印系统框图;
[0029]图2示出本发明实施例提供的打印方法流程图;
[0030]图3示出本发明实施例提供的打印方法时序图;
[0031 ]图4示出本发明实施例提供的Arduino控制器控制准备阶段流程图;
[0032]图5示出本发明实施例提供的Arduino控制器接收数据打印流程图;
[0033]图6示出本发明实施例提供的智能终端发送打印数据流程图;
[0034]图7示出本发明实施例提供的智能终端框图;
[0035]图8示出本发明实施例提供的打印机框图。
【具体实施方式】
[0036]为了使本发明实施例的目的、技术方案和优点更加清楚明白,以下举具体实施例并参照附图,对本发明实施例进行进一步详细的说明。
[0037]如图1所示,本发明实施例提供的一种基于安卓智能终端外接打印机的系统,包括安卓智能终端I和Arduino控制器2和打印机3;该Arduino控制器分别与所述安卓智能终端和打印机电性连接,所述Arduino控制器用于接收安卓智能终端的打印数据,并将所述打印数据传送给打印机并驱动打印机完成打印。
[0038]Android智能终端和Arduino控制器通过USB(通用串行总线)口进行通信(Android支持此通信并提供相应接口,我们称它为Android Open Accessory Development Kit简称ADK),目地是通过此方式扩展智能终端(如手机和平板电脑)与外设的连接。
[0039]智能终端为达到轻薄和易携带的目地,通常仅提供Usb接口(还是Mini的Usb接口),极大限制了智能终端外接多种外设,Android智能终端通过外接Arduino控制器解决了此问题。
[0040]因为传统的打印机分为带有可编程芯片的打印机和不带有可编程芯片的打印机;所以基于本本发明的打印方法也需要根据打印机的不同进行不同的打印设置。当打印机带有可编程芯片时,所述Arduino控制器一次性把数据发送给打印机;当打印机不带可编程芯片时,所述Arduino控制器把收到的数据按字节进行解析分解为二进制码,将分解后的二进制码发送给打印机。举例说明:第一种是带可编程芯片,可以根据它的要求一次性把4KB数据(或分批按要求)把数据发送给打印机。第二种是不带可编程芯片,需要控制器把收到的数据按每个Byte解析,如与原有的打印机是按照并口连接的,假设打印字符char型的AJlJ把字符A分解为二进制的ASCII码01000001每个并口对应一个bit位传输给打印机。打印机根据获得的数据打印。
[0041]如图2所示,提出了基于上述打印系统的打印方法流程图,具体包括:S201,连接Arduino控制器与打印机并对打印机进行初始化;S202,将安卓智能终端连接到Arduino控制器;S203,安卓智能终端发送待打印数据到Arduino控制器;S204,Arduino控制器设置打印机为开始状态;S205 ,Arduino控制器发送数据给打印机进行打印。
[0042]下面根据图3所示,对打印流程进行具体的介绍:
[0043]a)初始化打印机外设:Arduino控制器初始化设置,对外设打印机状态复位。控制端设置为等待状态,并对打印接口(并口 /串口)设置为O。
[0044]b)查看外部是否有Usb连接:Arduino控制器自循环反复监听和检查是否有Usb外接接入。
[0045]c) Usb接入:Andro id智能终端外设通过Usb连接Arduino控制器,智能终端弹出已连接Usb提示框,表示Android智能终端已连接成功。
[0046]d)检测Usb Vendor ID和Product ID(Vender ID和Product ID,即“厂家标识”和“产品标识”USB设备驱动的硬件接口需要识别Vender ID和Product ID)是否匹配:。Arduino控制器检测已接入的Usb Vendor ID是否为(0xl8Dl ),同时Product ID是否为0x2D00或者0x2D01 (Vendor ID和Product ID用来确认产品是Google生产的Android智能终端产品,Arduino控制器可通过ID识别是否是Android智能终端通过Usb接入)。如匹配成功则表示连接者为Android智能终端,如不匹配则控制器发送数据包给智能终端用于确认是否为Android智能终端。等待返回,失败表示匹配不成功,否则匹配成功。上述步骤如图4所述,为Arduino控制器准备阶段,主要完成的工作是:初始化打印机,并且确认是否与Andr ο i d智能终端匹配,完成后等待Andr o i d智能终端的数据输入。
[0047]e)连接成功:匹配成功,返回Android智能终端匹配成功。
[0048]f)发送数据:智能终端收到匹配成功信号,分批发送一次发送4KB需要打印的数据给Arduino控制器,控制器把接收到的数据存储在内存中。控制器芯片ATmega2560的SRAM为8KB。当使用的Arduino控制器芯片为其他型号时,同样发送一次的打印数据也会相应变化。
[0049]g)设置打印机为开始状态:控制器发现有需要打印数据,则设置外设打印机为准备开始打印状态。
[0050]h)把接收数据分批发送给打印机:外接打印机分为两种,第一种是带可编程芯片,可以根据它的要求一次性把4KB数据(或分批按要求)把数据发送给打印机。第二种是不带可编程芯片,需要控制器把收到的数据按每个Byte解析,如与原有的打印机是按照并口连接的,假设打印字符char型的A,则把字符A分解为二进制的々3(:11码01000001每个并口对应一个bi t位传输给打印机。打印机根据获得的数据打印。上述步骤如图5所述为Arduino控制器接收数据并打印的流程,接收到4KB数据,根据打印机类型(有无可编程芯片)进行解析,并发送到原有打印机打印,直至打印完毕通知Android智能终端数据打印完毕。
[0051]如图6所示,为安卓智能控制终端发送打印数据的流程,基于此发明技术方案,安卓智能终端主要是需要提供上层应用软件。或者是在联系人和短信上添加打印控件。把所需打印的数据推送给Arduino控制器。或者是接收Arduino控制器的请求,读取存储器中打印数据。
[0052]如图7所示,本发明实施例提供还一种安卓智能终端11,该终端的设计基于上述打印系统和方法的基础,将包括存储器1101和Arduino控制器1102,存储器用于存储所有打印数据,并将此打印数据传送给Arduino控制器,所述Arduino控制器进一步包括:内部接口,用于接收存储器传送的待打印数据;外部接口,用于外接打印机,接受Arduino控制器的驱动,并将接收到的待打印数据传送给打印机。该智能终端可以直接连接外接打印机12进行打印,无须通过任何中间间,该发明实施例正是将该Arduino控制器置于智能终端中,将其外接接口与智能终端的接口所共用,当然也可以单独为其专门设置一个用于连接打印机的接口。
[0053]如图8所述,本发明实施例提供还一种打印机21,包括打印控制器2102 JPArduino控制器2101,所述Arduino控制器进一步包括:外部接口,用于连接外部安卓智能终端,并接收所述安卓智能终端传送来的待打印数据;内部接口,用于驱动打印控制器,并将接收到的带打印数据传送给打印控制器进行打印。该打印机可以直接连接智能终端进行打印,无须通过任何中间间,该发明实施例正是将该Arduino控制器置于打印机中,将其外接接口与传统打印机的接口所共用,当然也可以单独为其专门设置一个用于连接智能终端的USB接口。
[0054]本发明实施例还专门提供一种用于连接安卓智能终端和打印机的的Arduino控制器,包括:终端连接装置,用于与所述安卓智能终端电性连接,并接收安卓智能终端的打印数据;打印连接装置,用于与所述打印机电性连接,并将所述打印数据传送给打印机并驱动打印机完成打印。该装置专门用于连接传统智能终端和传统打印机,便于进行打印。
[0055]使用本发明实施例提供的Arduino控制器,不需要对Android智能终端和原有的打印机的硬件进行修改,只需要添加一个Arduino控制器就可以实现打印功能。
[0056]从上述方案可以看出,本发明实施例提供的打印方法,在传统打印机和智能终端之间增加一个Arduino控制器进行连接,通过Arduino控制器对智能终端和打印机进行控制,实现了简单的打印实现,该方法和系统通用性好,适用范围宽,方便连接,大大的提高了智能终端的打印效率。同时提出的Ardu ino控制器便于智能终端和打印机的连接。还提出一种改进的智能终端和打印机,将Arduino控制器分别置入传统智能终端和打印机中,这样可以不用通过外接Arduino控制器,便可以直接实现智能终端和打印机的连接了,适用范围更为广泛。
[0057]本发明实施例提供的系统首先Arduino控制器是安卓智能系统唯一推荐和指定的扩展外设设备,其稳定性方面已经得到google的多方面的测试和全面的认证。其次本发明采用的是有线连接方式,有线连接在打印时可以很好的解决打印延迟现象并且传输稳定性好,实用性强,并可以实现大数据量的传输并打印。目前移动互联非常的发达,可以通过此功能实现手机在线订票支付并且打印的功能。还可以打印保存在手机内的图片信息,邮件,文本,短信,联系人和通话记录等一系列信息。
[0058]以上所述仅为本发明实施例的较佳实施例而已,并不用以限制本发明实施例,凡在本发明实施例的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明实施例的保护范围之内。
【主权项】
1.一种基于安卓智能终端外接打印机的打印系统,包括安卓智能终端和打印机;其特征在于,所述系统还包括一 Arduino控制器; 所述Ardu ino控制器分别与所述安卓智能终端和打印机电性连接,所述Ardu ino控制器用于接收安卓智能终端的打印数据,并将所述打印数据传送给打印机并驱动打印机完成打印。2.如权利要求1所述的打印系统,其特征在于,所述打印机进一步包括带有可编程芯片的打印机和不带有可编程芯片的打印机; 当打印机带有可编程芯片时,所述Arduino控制器一次性把数据发送给打印机; 当打印机不带可编程芯片时,所述Ardu i no控制器把收到的数据按字节进行解析分解为二进制码,将分解后的二进制码发送给打印机。3.如权利要求1或2所述的打印系统,其特征在于,所述安卓智能终端和Arduino控制器通过通用串行总线连接;所述Arduino控制器与打印机通过通用串行总线或并口连接。4.一种安卓智能终端,包括存储器,其特征在于,所述智能终端还包括一Arduino控制器,所述Arduino控制器进一步包括: 内部接口,用于接收存储器传送的待打印数据; 夕卜部接□,用于外接打印机,接受Ar du i η ο控制器的驱动,并将接收到的待打印数据传送给打印机。5.一种打印机,包括打印控制器,其特征在于,所述打印机还包括一 Arduino控制器,所述Arduino控制器进一步包括: 外部接口,用于连接外部安卓智能终端,并接收所述安卓智能终端传送来的待打印数据; 内部接口,用于驱动打印控制器,并将接收到的带打印数据传送给打印控制器进行打印。6.—种用于连接安卓智能终端和打印机的的A r d u i η ο控制器,其特征在于,所述Arduino控制器包括: 终端连接装置,用于与所述安卓智能终端电性连接,并接收安卓智能终端的打印数据;打印连接装置,用于与所述打印机电性连接,并将所述打印数据传送给打印机并驱动打印机完成打印。7.—种基于安卓智能终端外接打印机的打印方法,其特征在于,包括如下步骤: (1),连接Arduino控制器与打印机并对打印机进行初始化; (2),将安卓智能终端连接到Arduino控制器; (3),安卓智能终端发送待打印数据到Arduino控制器; (4),Arduino控制器设置打印机为开始状态; (5),Arduino控制器发送数据给打印机进行打印。8.如权利要求7所述的打印方法,其特征在于,所述步骤(2)进一步包括: (201)所述Arduino控制器查看外部是否有USB连接; (202)当检测到有USB接入时,Arduino控制器检测厂家标识和/或产品标识是否匹配; (203)当匹配成功时,返回匹配成功信号给安卓智能终端。9.如权利要求7所述的打印方法,其特征在于,所述步骤(5)进一步包括: 当打印机带有可编程芯片时,所述Arduino控制器一次性把数据发送给打印机; 当打印机不带可编程芯片时,所述Ardu i no控制器把收到的数据按字节进行解析分解为二进制码,将分解后的二进制码发送给打印机。
【文档编号】G06F3/12GK106055288SQ201610383651
【公开日】2016年10月26日
【申请日】2016年6月2日
【发明人】施志荣
【申请人】施志荣
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1