如何使用socat通过TCP / IP在脚本中传输串行命令?

时间:2013-05-16 05:07:12

标签: python tcp serial-port raspberry-pi ethernet

我有一个Web应用程序,它会不断发布一些查询,并通过Raspberry Pi上的串口从设备获得回复。像这样:

 @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)

    reply=serialport.readlines(1)
    print reply, type(reply)
    #check if log in success
    if not "00" in reply[0]:
        if "FE" in reply[0]:
            state="engineer"
        else:
            state="user"
    else:
        state="none"
    print state
    time.sleep(1)
    return state

目前我正在使用Raspberry Pi的直接3线( gnd,txd,rxd )到设备的( gnd,rxd,txd )。 Raspberry Pi的串口是/ dev / ttyAMA0,并说该设备的 IP 为10.0.0.55。我可以像这样一次发送一个netcat命令:

nc 10.0.0.55 1001
^CLI1234^M  //this is an example of the serial command sent to the device from Raspberry Pi terminal

我应该如何使用**socat**?我不想更改脚本,只是为了操纵socat(或其他)中将命令转发到设备IP的一些配置。我想摆脱连接到R-Pi UART的3根线。我几乎找不到适合这个要求的socat的例子(或者我可能不知道我应该使用什么关键词)。请赐教:)非常感谢!

0 个答案:

没有答案