Oleg-7777 писал(а): Пт дек 20, 2019 2:08 pm
Работа с GPIO http://www.qwes.org/art/?src=Raspberry_Pi_GPIO_PHP. Создаем файлы для каждого GPIO. Настраиваем на вход или выход. Потом из MJD записуем в файл 1 или 0, или считываем записи в файлах скриптом (для входов). Работает.
Попробовал , записал каманды в автозагрузку. Сделал перезагрузку малины. Кинул каманду
Все работает. Но после перезагрузки автозапуск не запускает gpio22, пин плавает, подскажите что не так ?
Дальше я не совсем понял что делать . Из МД както управлять надо, разъясните?
Открываем файл, для этого пишем в консоли:
sudo nano /etc/rc.local
В файле прописываем такие строчки:
выход:
echo 4 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio4/direction
chmod 777 /sys/class/gpio/gpio4/value
или
вход:
echo 4 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio4/direction
chmod 777 /sys/class/gpio/gpio4/value
В MJD:
управление выходом:
включить:
$fp = fopen('/sys/class/gpio/gpio4/value', 'wt');
$test = fwrite($fp, "1");
выключить:
$fp = fopen('/sys/class/gpio/gpio4/value', 'wt');
$test = fwrite($fp, "1");
считать состояние входа:
$gp04=LoadFile('/sys/class/gpio/gpio4/value');
sg('GPIO04.stan', $gp04);
Не работает.
С автозагрузкой вроде получилось , команды прописал перед exit 0, вроде при старте загружает.
Еще вопрос, почему каманды exec в методе не отробатывают ?
У меня в файле без "sudo".
Судя по скриншотам, Вы создали файл для GPIO22, а управлять пытаетесь GPIO17.
С "exec", не знаю, получилось управлять GPIO только так:
$fp = fopen('/sys/class/gpio/gpio4/value', 'wt');
$test = fwrite($fp, "1");
(пример для GPIO4)