Как правильно регистрировать статус GPIO для контактов с raspberry?

#python

Вопрос:

Я пытаюсь зарегистрировать значение GPIO для raspberry pi, подобное этому

 logging.info("value is ", str(GPIO.input(21)))
 

ошибка заключается в:

 --- Logging error ---
Traceback (most recent call last):
  File "/usr/lib/python3.7/logging/__init__.py", line 1034, in emit
    msg = self.format(record)
  File "/usr/lib/python3.7/logging/__init__.py", line 880, in format
    return fmt.format(record)
  File "/usr/lib/python3.7/logging/__init__.py", line 619, in format
    record.message = record.getMessage()
  File "/usr/lib/python3.7/logging/__init__.py", line 380, in getMessage
    msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
  File "/etc/openhab/scripts/gpiomqttcontrol.py", line 80, in <module>
    logging.info("value is ", str(GPIO.input(21)))
Message: 'value is '
Arguments: ('1',)
 

Комментарии:

1. info требуется только один аргумент, вы даете ему два. Создайте строку, которую вы хотите передать.

2. Печать в консоль или сохранение в файл-это хорошие способы отслеживать, что делает программа. Если вы особенно хотите узнать состояние GPIO, вы можете посмотреть на PiScope Джоан, который позволяет записывать состояния GPIO и отображать их локально или на другом устройстве.