мониторинг питона через последовательный порт - PullRequest
2 голосов
/ 26 мая 2009

Добрый день,

Я бы попросил несколько советов о том, как лучше отслеживать события через последовательный порт.

Я использую PySerial для написания «команд» через последовательный порт для некоторых устройств и

Я хотел бы получить отзыв о состоянии этих устройств.

Какой самый лучший способ: 1) заполнить канал и прочитать, 2) новый поток, делегированный только для чтения, или что?

Могу ли я также попросить простой код для реализации решения?

Ответы [ 2 ]

3 голосов
/ 26 мая 2009

Общие советы по работе с pyserial смотрите в поиске, предложенном S.Lott в комментарии.

Относительно лучшей стратегии реализации вашего приложения - все зависит от того, как определены ваши протоколы. Устройства сразу отвечают на запросы? Или они постоянно отправляют данные, которые должны контролироваться? Это важно определить, так как это, безусловно, влияет на то, как вы хотите обрабатывать связь.

В общем, я считаю простым и стабильным иметь отдельный поток, считывающий все с последовательного порта и просто закачивающий данные в Queue. В этом случае основная логика приложения может запрашивать эту очередь в любое время и читать данные.

1 голос
/ 28 мая 2009

Выбранная стратегия заключается в использовании многопроцессорной обработки Python и очереди. см:

  1. http://www.ibm.com/developerworks/aix/library/au-threadingpython/index.html и

  2. http://www.ibm.com/developerworks/aix/library/au-multiprocessing/index.html?ca=dgr-lnxw9dPython-Multi&S_TACT=105AGX59&S_CMP=grsitelnxw9d

для справки

...