我尝试通过PowerShell发送命令行,以便通过串口打开投影机电源。我使用的是NEC投影机,打开和关闭投影机的命令如下:
开机:02H 00H 00H 00H 00H 02H
关机:02H 01H 00H 00H 00H 03H
我使用制造商的软件,我确实监控了它发送的内容,并且使用以下内容进行监控:
打开COM端口
写道:
00 bf 00 00 01 00 c0
读:
20 bf 01 20 10 00 ff 22 4d 33 35 33 57 53 00 00 00 08 12 00 00 dd
写道:
00 bf 00 00 01 02 c2
读:
20 bf 01 20 10 02 0f ff ff ff ff 00 00 00 00 00 00 00 00 00 00 1d
写了(这是我在手册中指出的命令行):
02 00 00 00 00 02
然后关闭打开的COM端口。
我试图找出如何发送命令。 我做了一些挖掘并发现了命令:
$port.WriteLine
但它没有发送十六进制,它发送:
30 30 20 62 66 20 30 30 20 30 30 20 30 31 20 30 00 bf 00 00 01 0 30 20 63 30 0a 0 c0.
答案 0 :(得分:2)
[Byte[]] $powerOn = 0x02,0x00,0x00,0x00,0x00,0x02
[Byte[]] $powerOff = 0x02,0x01,0x00,0x00,0x00,0x03
# Use your COM port here
$port = new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one
$port.Open()
$port.Write($powerOn, 0, $powerOn.Count)
# ...
$port.Write($powerOff, 0, $powerOff.Count)
$port.Close()