Управление RPi GPIO с помощью NodeRed при ошибке докера?

Я пытаюсь включать и выключать красный светодиод в узле, который работает под контейнером докера на пи. Я должен упомянуть, что я не очень хорошо понимаю докер, и после того, как я развернул узел GPIO и подключил его, он отображается под узлом ECONNREFUSED localhost:8888 Я пытался включить контроль GPIO над сетью в raspi-config, но безуспешно...

Любая идея о том, как это исправить?


person MikeLemo    schedule 28.11.2020    source источник


Ответы (1)


Проблема будет заключаться в том, что localhost будет указывать внутри контейнера, а не на хост-ОС.

Попробуйте отредактировать узел, чтобы он указывал на 172.17.0.1 (IP-адрес хоста по умолчанию для Docker).

И убедитесь, что pigpiod работает в хост-ОС.

person hardillb    schedule 29.11.2020
comment
Что ж, я использовал 172.17.0.0:8888, и он, похоже, ведет себя по-другому и дает зеленое поле вместо ECONNREFUSEF, но впоследствии меняется на ETIMEOUT, и это не влияет на PIN-код GPIO (протестировал светодиод с python) - person MikeLemo; 30.11.2020
comment
Вам нужно убедиться, что демон pigpiod работает в хост-ОС (и, возможно, убедитесь, что он прослушивает не только 127.0.0.1) - person hardillb; 30.11.2020
comment
И вы не скопировали IP-адрес, который я указал - person hardillb; 30.11.2020
comment
Итак, я протестировал 172.17.0.0, потому что прошлой ночью он дал мне другой результат, и теперь, после включения этого демона pigpiod, как вы сказали, и он работает с 172.17.0.1:8888, я следил за этой веткой: raspberrypi.stackexchange.com/questions/70568/ сделать это. Огромное спасибо за помощь! - person MikeLemo; 30.11.2020
comment
stackoverflow.com/help/someone-answers - person hardillb; 30.11.2020