嵌入式Linux系统添加USB打印机功能

嵌入式Linux系统添加通用USB接口的打印机功能,主要包括以下三步。

 

一.内核添加USB接口的通用打印机识别驱动

在make menuconfig 编译菜单项选上USB打印机选项:

Device Drivers --->

         [*] USB support --->

                     <*> USB Printer support

插入打印机就可以看到/dev/usb/lp0设备节点了

有了USB接口的打印机设备节点,我们就可以使用相关工具向该节点输入需要打印的数据了

 

二.在文件系统中添加打印工具,主要包括以下三个工具:

添加cups工具(主要用于管理打印的服务应用)

添加gohstscript工具(用于转换文档格式到打印机能识别的pbm格式);

添加foo2zjs工具(用于发送数据到打印机进行打印);

1.添加cups、gohstscript工具

由于我使用的是Yocto来管理开发Linux系统,而这两个工具已在Yocto中以下载了该处方,故在Yocto中添加编译即可。

 IMAGE_INSTALL_append = " cups"

 IMAGE_INSTALL_append = " gohstscript"

如果不是用yocto开发,可以去以下网址中将cups和gohstscript下载下来,然后设置好编译器,手动make就好。

https://github.com/apple/cups/releases

http://iweb.dl.sourceforge.net/project/ghostscript/GPL%20Ghostscript/9.04/ghostscript-9.04.tar.bz2

2.添加foo2zjs工具

 由于Yocto中没有关于foo2zjs相关工具的处方,故需要下载安装包手动编译,加载到文件系统中。

http://foo2zjs.rkkda.com/

编译时,具体问题具体分析,配置好编译器,修改相关makefile的干扰项。

 

三、将以上三个工具安装到文件系统中,使用以下命令实现USB打印功能

使用gs工具将pdf文件转换为pbm文件:

/gs -q -dBATCH -dSAFER -dQUIET -dNOPAUSE -sPAPESIZE=a4 -r600x600 -sDEVICE=pbmraw -sOutputFile=xxx.pbm xxx.pdf

使用foo2zjs工具将pbm文件数据传输给lp0设备节点:

/foo2zjs -z3 -p9 -r600x600 xxx.pbm > /dev/usb/lp0

 


欢迎转载,欢迎指正,更欢迎点赞。转载请附原文链接。

posted @ 2020-06-20 17:19  Aaron看世界  阅读(2817)  评论(1编辑  收藏  举报