как выполнить часть кода при первом запуске программы [на python] - PullRequest
0 голосов
/ 28 мая 2018

Программа 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)

Code

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...