nodejs通过usb库调用tspl协议控制标签打印机GODEX(G500-U)

  目录

nodejs通过usb库调用tspl协议控制标签打印机GODEX

首先要下载Zadig,下载地址传送门,他是一个usb通用驱动程序,因为佳博官方驱动执行device.open会报错。

接上打印机并开机,然后按照下图做,以达到驱动能被open的目的。
img
img
img

安装nodejs依赖,方法为npm install usb

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
const usb = require('usb');

/**
* 你的设备的vendorId和productId
* 这两个id可以通过Zadig工具获取,也可以通过usb.getDeviceList()方法获取
*/
const vendorId = 0x195F;
const productId = 0x1;
// 打印方法
function PrintLabel(cmds) {
let device = usb.findByIds(vendorId, productId)
device.open()
for (let i = 0, len = device.interfaces.length ; i < len ; i++) {
for (let j = 0, len2 = device.interfaces[i].endpoints.length ; j < len2 ; j++) {
if (device.interfaces[i].endpoints[j].direction == 'out') {
device.interfaces[i].claim() // 找到了要用的对象后,首先要声明所有权
let outEndpoint = device.interfaces[i].endpoints[j]
outEndpoint.transferType = 2 // bulk 批量传输
outEndpoint.transfer(cmds, (err) => {
if (err) {
console.log(err)
}
device.close()
})
return
}
}
}
device.close()
}

let commands = `
^Q30,3
^W50
^H5
^P1
^S2
^AT
^C1
^R0
~Q+0
^O0
^D0
^E12
~R200
^XSET,ROTATION,0
^L
Dy2-me-dd
Th:m:s
BQ,26,15,2,46,40,0,0,WS003
AE,25,130,1,1,0,0,WS00301002
AD,90,178,1,1,0,0,WS003
AB,310,114,1,1,0,0,1241
XRB26,65,4,0,10
WS00301002
XRB325,71,4,0,4
1241
E
`
// 调用打印方法
PrintLabel(commands)