所以基于传感器我发送"触发"或者"没有触发器"。我在Python上相当新(2天),但我有一点用Visual Basic编程的历史。
问题是60秒后没有"触发"收到它应该使变量svars.trigger
为假。我究竟如何用Python做到这一点?
我试着四处寻找,但似乎没有什么能与我的意思相提并论 此外,欢迎任何重写我现有代码的提示。
P.S使用Python 2.7
import socket
import scalalib as sl
svars = sl.sharedvars(defaults={'trigger': False})
UDP_IP = "192.168.0.219"
UDP_PORT = 5005
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind((UDP_IP, UDP_PORT))
def main():
data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
if data == 'trigger':
svars.trigger = True
print "received message:", data
if data == 'no trigger':
svars.trigger = False
print "received message:", data
while True:
main()
答案 0 :(得分:0)
您可以使用pygame中的时钟类:http://www.pygame.org/docs/ref/time.html#pygame.time.Clock
它基本上是一个跟踪你的时间(一个时钟)的对象。 你需要安装pygame。