Таймер скачет случайным образом от 2 секунд до 50 - PullRequest
0 голосов
/ 29 января 2019

Я хочу соединить мой Raspberry Pi с моим компьютером.Соединение работает нормально, но теперь я хочу проверить, отправляет ли компьютер сообщения, и через пару минут без сообщения raspi должен отключиться.Если я запускаю программу вручную, она работает нормально, но я хочу запустить ее при автозапуске.Если я сделаю это, таймер переместится с (например) с 2 секунд на 50, и я не знаю почему.

Мой код выглядит следующим образом:

<!-- language: lang-python -->
import threading
import time
import paho.mqtt.client as mqtt

shutdown = 0

def on_connect(client, userdata, flags, rc):
   print("Connected with result code "+str(rc))
   client.subscribe("CoreElectronics/test")
   client.subscribe("CoreElectronics/topic")

def on_message(client, userdata, msg):
   global shutdown
   shutdown = time.time()
   print(msg.topic+" "+str(msg.payload))

def timer_count():
    global shutdown
    shutdown = time.time()
    elapsed = 0
    while elapsed < 10:
         elapsed = time.time()-shutdown
         print("no Message: ", elapsed)
         time.sleep(2)

t1 = threading.Thread(target = timer_count)
t1.start()

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

client.connect("192.168.xx.xx", 1883, 60)


client.loop_forever()


Вывод моего кода выглядит следующим образом:

No Message: 9.32132321321e-06
Connected with result code 0
No Message: 2.00337289731
No Message: 51.3132321321


Iраспечатал функцию time.time () и там он случайно скачет на 50 секунд вперед.Кто-нибудь знает ответ на это?Спасибо за помощь!

...