Остановка временного цикла, модифицирующего его условие (флаг) из другой программы на Python - PullRequest
0 голосов
/ 26 апреля 2018

Я программирую на Python на Raspberry Pi 3, и у меня есть следующая проблема:

Raspberry имеет датчик температуры и его данные печатаются на терминале простым модулем

    #!/usr/bin/python
    import sys
    import Adafruit_DHT
    flag = True

    while flag:

        humidity, temperature = Adafruit_DHT.read_retry(11, 4)

        print 'Temp: {0:0.1f} C  Humidity: {1:0.1f} %'.format(temperature, humidity)

Мне нужно остановить цикл из другого модуля, установив для флага значение False. Как я могу это сделать? Мне нужно иметь такую ​​возможность даже с кнопки в приложении для Android ... лучше всего подходит неблокирующая очередь, но я не нашел ничего подобного в документации Pika.

Кто-нибудь может мне помочь? Заранее спасибо.

1 Ответ

0 голосов
/ 26 апреля 2018

, как кажется, вы будете читать это значение по запросу с других устройств. Я бы предложил использовать веб-сервер. Я использовал Торнадо для аналогичного проекта.

Итак, разработайте 2 конечные точки: localhost: 8000 / startreading и localhost: 8000 / stopreading, которые в основном переключают флаг

...