嵌入式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

 


歡迎轉載,歡迎指正,更歡迎點贊。轉載請附原文鏈接。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM