Как сделать так чтобы первоначально выход Vout был выключен?
Можно написать скрипт, кинуть его в /etc/wb-rules/ с таким кодом:
dev["wb-gpio"]["5V_OUT"] = false;
После перезагрузки, линия 5V Всегда будет отключатся (но возможно на короткое время - на пару секунд она будет включена)
Вообще, все немного сложнее. Добавление строчки
dev["wb-gpio"]["5V_OUT"] = false;
в начало скрипта действует только при перезапуске wb-rules. При старте системы оно почему-то не срабатывает.
В общем, чтобы все это корректно работало, нужно:
- Создать /etc/rc.local, установить права +x.
- Поправить файл /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
- Добавить в rc.local
service wb-rules restart
После перезагрузки Vout будет активен секунд 5, потом выключится.
Тогда, чтобы избежать ковыряний в системе есть следующий вариант:
Опять же создаем скрипт и в нем:
setTimeout(function () {
dev[“wb-gpio”][“5V_OUT”] = false;
}, 10000);
Где 10000 - это задержка в 10 секунд после старта скрипта, чтобы уж точно все сработало.
У меня так обрабатывается свет после перезагрузки. 10 секунд ожидания хватает, чтобы wb-rules проиницализировалось полностью.