将TCP写入RS232驱动程序

时间:2010-10-10 13:03:57

标签: python sockets serial-port

我需要通过网络套接字向客户端公开RS232连接。我计划在python中编写一个TCP套接字服务器,它将侦听某个端口,允许客户端连接和处理传出,管理和控制请求以及从R2232端口回复。

我的问题是,我如何同步客户端,每个客户端将一些字符串发送到串口,并在回复后发回,我需要返回该客户端的结果。只有这样我才能处理下一个请求。

如何同步对串口的访问?

2 个答案:

答案 0 :(得分:2)

为了扩展Sjoerd的答案,构建一个单线程服务器(例如http://docs.python.org/library/basehttpserver.html)然后控制端口(通过像http://pyserial.sourceforge.net/pyserial_api.html这样的东西),加上一个简单的URL结构,给你一个简单的, RESTful曝光和处理请求的方式。

我使用与此非常类似的东西(使用webby界面更精细一些)来控制我们的landscape irrigation system;我的妻子喜欢它。

答案 1 :(得分:1)

最简单的方法是简单地接受连接,处理请求并关闭连接。这样,您的程序一次只能处理一个请求。

另一种方法是使用锁定或信号量,以防止多个客户端同时访问RS232端口。