通过linux上的usb发送原始数据

时间:2010-08-19 21:55:04

标签: linux usb printing zebra-printers

我在Zebra TLP-2844打印机上打印了一些标签,并且通过将EPL指令发送到共享USB打印机,在Windows上做得很好,如下所示:

  

输入Label.prn> \我-PC \斑马

它似乎也适用于串行端口,

  

输入Label.prn> COM1

现在我正试图在Linux上做同样的事情,但它变得非常难!我的第一个猜测是:

  

cat Label.prn |的/ dev /总线/ USB / 005/002

因为我的打印机在005总线上,设备002(用lsusb命令检查)但它根本不起作用,因为我得到以下内容:

  

bash:/ dev / bus / usb / 005/002:权限被拒绝

任何猜测?

4 个答案:

答案 0 :(得分:5)

你做的命令

cat Label.prn | /dev/bus/usb/005/002

将尝试运行/dev/bus/usb/005/002,这是不可执行的,因此“权限被拒绝”。 正确的命令将类似于windows

cat Label.prn > /dev/bus/usb/005/002

然而,不确定你是否真的可以在linux中为打印机写任何东西。如果打印机设置正确,您也可以尝试:

lpr Label.prn

答案 1 :(得分:2)

如果其他人试图访问原始USB打印机端口;通过将用户添加到“lp”组来规避“允许拒绝”问题,如下所示:

$ sudo usermod -aG lp USERNAME

其中USERNAME是您的用户名。

答案 2 :(得分:2)

对不起,我的英文。

我在这里测试过,我的打印机TLP2844连接USB,在我的嵌入式arm9板上用linux连接。

我输入命令提示符:

printf“OD \ r \ nN \ r \ nD5 \ r \ nS2 \ r \ nZT \ r \ n \ n128,24 \ r \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \实际数据显示:\ n \ n + 15,1,2,2,1,1,N,\ “TESTE \”\ r \ nP1 \ r \ n \ n \ n \ n \ n \ n“ >的/ dev / LP0

和... TEST 打印

答案 3 :(得分:2)

  1. 您应该更改/ dev / usb / lp0设备的访问模式:sudo chmod a+w /dev/usb/lp0
  2. 然后您可以使用复制命令打印标签:cp test.zpl /dev/usb/lp0
  3. 您也可以在Sublime Text中创建自己的构建系统,例如:

    {
        "cmd": ["cp", "$file", "/dev/usb/lp0"],
        "encoding": "utf8"
    }
    

    并在完成编辑标签后立即按Ctrl + B键将文件发送到打印机。

    或者您可以尝试我的工具通过TCP / IP将zpl标签发送到打印机: https://github.com/kashamalasha/AutoIt_ZebraTester

    它是用AutoIt Script语言编写的,因此您需要安装AutoIt来构建它。不幸的是,没有关于英语的描述,只有俄语,但如果你需要,我可以很快写出来。