Как выключить выход Vout после перезагрузки?

Как сделать так чтобы первоначально выход Vout был выключен?

Можно написать скрипт, кинуть его в /etc/wb-rules/ с таким кодом:

	dev["wb-gpio"]["5V_OUT"] = false;

После перезагрузки, линия 5V Всегда будет отключатся (но возможно на короткое время - на пару секунд она будет включена)

1 лайк

Вообще, все немного сложнее. Добавление строчки

dev["wb-gpio"]["5V_OUT"] = false;

в начало скрипта действует только при перезапуске wb-rules. При старте системы оно почему-то не срабатывает.
В общем, чтобы все это корректно работало, нужно:

  1. Создать /etc/rc.local, установить права +x.
  2. Поправить файл /lib/systemd/system/rc-local.service (изначально в системе он некорректный и rc.local не запускается). Пример rc-local.service
[Unit]
 Description=/etc/rc.local Compatibility
 ConditionPathExists=/etc/rc.local
 After=network.target

[Service]
 Type=forking
 ExecStart=/etc/rc.local start
 TimeoutSec=0
 StandardOutput=tty
 RemainAfterExit=yes

[Install]
 WantedBy=multi-user.target
  1. Добавить в rc.local
service wb-rules restart

После перезагрузки Vout будет активен секунд 5, потом выключится.

Тогда, чтобы избежать ковыряний в системе есть следующий вариант:

Опять же создаем скрипт и в нем:
setTimeout(function () {
dev[“wb-gpio”][“5V_OUT”] = false;
}, 10000);

Где 10000 - это задержка в 10 секунд после старта скрипта, чтобы уж точно все сработало.
У меня так обрабатывается свет после перезагрузки. 10 секунд ожидания хватает, чтобы wb-rules проиницализировалось полностью.

1 лайк