USB HOST+HP DeskJet 1000打印机

2019-12-27 18:52发布


    S3C2440 USB HOST控制 HP DeskJet 1000打印机:

     终于测试通过,可以使用s3c2440的usb host功能控制此打印机了。

     HP DeskJet 1000打印机,采用的是PCL3 GUI打印机语言,与一般的PCL打印机语言有很大的区别;
     使用原先好用的PCL命令控制此打印机,是一点结果也没有,郁闷了好长时间了!!!

     现在终于测试通过了,可以控制此打印机,打印出东西来了。真是高兴啊!!!
     作为嵌入式应用,可以通过usb host控制廉价的喷墨打印机了!!!

     HP DeskJet 1000打印机,市面上的价格才:290元RMB左右的价格。

     提供大家测试的bin文件: USART0,波特率:115200bps

      USB_Host_hp1000.rar (93.11 KB, 下载次数: 46) 2012-7-9 23:39 上传 点击文件名下载附件

    请留意我原先发过的帖子:
    “STM32F103ZET6+CH375+USB打印机(原理图+部分源码”
    链接如下:
        http://www.amobbs.com/thread-5482853-1-1.html

    这样一来,就可以通过STM32F103等芯片,控制这样廉价的USB打印机了!!!

  
      
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
kangear
2019-12-28 04:57
本帖最后由 kangear 于 2014-1-10 17:57 编辑

今天刚好有条件测试一下,程序没有问题,在mini2440上也可以用。打印出来的内容是“HP802黑 {MOD}墨盒加墨方法“。

选区_807.png (123.93 KB, 下载次数: 0)

下载附件

2014-1-9 23:16 上传



最近在嵌入式linux系统上搞这个打印机,还没有什么眉目,楼主用“裸机”就实现了,太值得学习了。我在linux搞出来后也分享一下。


--------------------------------------------------------------------
还真有一些进展:
gs -sDEVICE=ijs -sIjsServer=hpijs -dIjsUseOutputFD -sDeviceManufacturer="HEWLETT-PACKARD" -sDeviceModel="deskjet 5550" -r300x300 -dNOPAUSE -dSAFER -sOutputFile="/dev/usb/lp0" /root/下载/sample.ps -c quit
linux下如下命令就可以让它打印了。

  1. root@kangear:~# gs -sDEVICE=ijs -sIjsServer=hpijs -dIjsUseOutputFD -sDeviceManufacturer="HEWLETT-PACKARD" -sDeviceModel="deskjet 5550" -r300x300 -dNOPAUSE -dSAFER -sOutputFile="/dev/usb/lp0" /root/下载/sample.ps -c quit
  2. GPL Ghostscript 9.06 (2012-08-08)
  3. Copyright (C) 2012 Artifex Software, Inc.  All rights reserved.
  4. This software comes with NO WARRANTY: see the file PUBLIC for details.
  5. Loading NimbusRomNo9L-Regu font from /usr/share/fonts/type1/gsfonts/n021003l.pfb... 2696868 1345248 2225636 924576 1 done.
  6. Loading NimbusRomNo9L-Medi font from /usr/share/fonts/type1/gsfonts/n021004l.pfb... 2800488 1464220 2285924 975525 1 done.
  7. Loading NimbusRomNo9L-ReguItal font from /usr/share/fonts/type1/gsfonts/n021023l.pfb... 2917632 1578727 2306020 1000408 1 done.
  8. root@kangear:~#
复制代码
把测试ps文件也上传一下: tiger.ps.tar.gz (40 KB, 下载次数: 6) 2014-1-10 01:14 上传 点击文件名下载附件

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以上是在PC上的操作,本以为hpijs会很难移植到ARM上去,结果发现很好弄。
开始一直在弄hplip,编译极为的复杂。最后发现我需要的hpijs在06年之前和hplip是分开的。05年的版本,编译起来没有什么问题。
1。下载源码http://sourceforge.net/projects/hpinkjet/files/
2。编译:
  1. ./configure --host=arm-linux --target=arm-linux --build=i686-linux CC=arm-linux-gcc CXX=arm-linux-g++ LD=arm-linux-ld RANLIB=arm-linux-ranlib AR=arm-linux-ar
复制代码
3。make
注:中间会遇到基本的C语言的错误,具体是const char* 不能转换为char*的问题,修改了就没有问题了。
4。make install DESTDIR=/work/rootfs/rootfs_qtopia_qt4
install时会把hpijs放到/usr/local/bin/hpijs,如果PATH环境变量没有包含这个路径,可以拷贝到/bin目录下:
cp /usr/local/bin/hpijs /bin
然后与pc上同样的命令就可以打印了。
(当然ghostscript还是要移植的,这个网上的教程比较多。)
ghostccript
http://blog.csdn.net/maohuiabc/article/details/6861692
wget http://ghostscript.googlecode.com/files/ghostscript-9.04.tar.gz
tar xvzf ghostscript-9.04.tar.gz
cd ghostscript-9.04
修改STDLIBS=-lpthread-lm 为STDLIBS=-lpthread -lm-static
./configure --host=arm-linux
make XCFLAGS=-DHAVE_SYS_TIME_H=1  #Fix ./src/time_.h  error redefinition of  struct timeval
cp ../ghostscript-8.15-pc/obj/echogs ./obj/
(遇到:./src/time_.h:50:8: error: redefinition of 'struct timeval',添加DHAVE_SYS_TIME_H)
后续还有的问题,关于gs的字库的问题等等。

一周热门 更多>