我有一个python脚本,它将在终端运行时启动cherrypy webserver。在脚本中,我通过导入serial
使用pyserial,然后打开/dev/ttyAMA0端口,可以发送任何串行命令。
@cherrypy.expose
def login (self, **data):
passcode = data.get("passcode", None)
print "logging in using passcode %s"%passcode ,type(passcode)
import serial
import time
#open connection
serialport=serial.Serial ("/dev/ttyAMA0", 9600, timeout=0.5)
#write in user sign in code
serialport.write("\x03LI%s\x0D"%passcode)
#get reply
reply=serialport.readlines(1)
print reply, type(reply)
但是,由于有一个以太网端口,我可以使用Netcat将串行命令发送到类似的设备,我如何让这个脚本通过以太网端口而不是串行端口发送命令?我该换什么?
对不起,我真的不知道怎么做。我在谷歌上搜索了一下,找不到答案。:(一)
基于Python的解决问题的方法是使用pyserial的内置network ports功能(它基于RFC2217标准)。
在服务器(连接串行设备的地方)中,运行网络串行服务器-可以使用serial port bridge示例,例如:
在您的客户机python代码中,您使用带有较新的
serial_for_url
(如howto中所述)的rfc2217样式的url附加到它,例如:使用^{} 命令怎么样?使用以下命令行,可以通过
eth 127.0.0.1:5555
访问/dev/ttyAMA0
:相关问题 更多 >
编程相关推荐