【发布时间】:2019-07-09 10:51:26
【问题描述】:
import socket
import time
TCP_IP = 'rssmb100a110186.local'
TCP_PORT = 5025
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP,TCP_PORT))
for i in range(0,2):
s.send(b"outp on")
print('set output on')
time.sleep(1)
s.send(b'outp on')
print('set output off')
time.sleep(1)
print('shutdown')
s.send(b'SYST:REB') # reboot generator
我需要使用 python 控制 Rohde & Schwarz SMB 100A 射频信号发生器。当使用 putty 使用“RAW”或 TELNET 选项发送命令时,一切正常...
当使用我的(测试)python 脚本时,生成器切换到“远程操作模式”,在这个设备的 web gui 中,我可以看到收到了 SCPI 命令,但没有任何反应。当我用 telnetlib 替换套接字时,同样的问题。执行我的 python 脚本时我也没有错误。
我的python脚本和putty有什么区别?
【问题讨论】:
-
“我的 python 脚本和 putty 有什么区别?” - 也将等式的 telnet 部分添加到问题中,以便我们能够说。
-
您可以使用嗅探器来比较原始网络数据包——这肯定会告诉您差异。
-
我猜你需要添加换行符——否则,设备无法确定命令是否完整。