我有一个c ++程序,它从rpi读取GPIO的传感器数据。 我想通过以太网将这些数据传递给我的计算机(不能做Wi-Fi)。
我从cpp调用python脚本将1个数据字节发送到套接字。
我想关闭套接字并结束py脚本,然后在cpp中执行下一次读取,然后再次调用相同的python脚本重新打开相同的套接字并发布下一个数据。如何使此脚本模块化?
另外(可选)
下面的发送和接收脚本在连续模式下工作得很好,但是我想要一个更加异步的方法来完成这项工作。如果我试图关闭套接字然后重新打开它,我会收到错误,说明它已经打开等等。
我可以使用
通过以太网发送数据#!/usr/bin/python
import socket
HOST='169.254.72.2'
PORT=2225
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr=s.accept()
s.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
print 'Connected by', addr
while True:
conn.send('5')
s.close()
我在PC上接收python脚本(客户端)是这样的:
import socket
HOST='169.254.72.2'
PORT=2225
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
while 1:
a=time.clock()
data=s.recv(1)
print data
s.close()