Я хочу соединить мой 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 секунд вперед.Кто-нибудь знает ответ на это?Спасибо за помощь!