Программа labVIEW отправляет каждый раз X5 на rpi1, затем rpi1 отправляет ON1 или OFF1 на rpi2.например, отправка ON1 из rpi1, затем, если оператор в rpi2 выполняется каждый раз при получении ON1, теперь моя проблема заключается в том, что GPIO выполняется каждый раз, когда мне нужно, чтобы эта часть выполнялась только при первом получении ON1.
#rpi1
while True:
ready_socks,_,_= select.select(socks, [],[])
for server in ready_socks:
cmnd, addr = server.recvfrom(1024)
print(cmnd)
#print(D)
if 'X5' in str(cmnd):
if(GPIO.input(23)==True):
bytes = "ON1"
sock.sendto(bytes,('192.168.1.22',5007))
data, address = so.recvfrom(1024)
print(data)
if(GPIO.input(23)==False):
bytes = "OFF1"
sock.sendto(bytes,('192.168.1.22',5007))
data, address = so.recvfrom(1024)
print(data)
код для rpi 2:
#rpi 2
while True:
ready_socks,_,_= select.select(socks, [], [])
for sock in ready_socks:
data,addr = sock.recvfrom(1024)
print "recived message:", data
if 'ON1' in str(data):
print"empty of water run the pump"
bytes = "succeeded 1"
sock1.sendto(bytes,('192.168.1.27',6007))
GPIO.output(16,1)
time.sleep(0.1)
GPIO.output(16,0)
GPIO.output(18,1)
elif 'OFF1' in str(data):
print "full of water"
bytes = "succeeded 2"
sock1.sendto(bytes,('192.168.1.27',6007))
GPIO.output(18,0)
time.sleep(0.1)
GPIO.output(18,1)
GPIO.output(16,0)
