Страница 5 из 5

Re: работа с GPIO raspberry

Добавлено: Сб дек 21, 2019 5:48 pm
masterpro77
Oleg-7777 писал(а): Пт дек 20, 2019 2:08 pm Работа с GPIO http://www.qwes.org/art/?src=Raspberry_Pi_GPIO_PHP. Создаем файлы для каждого GPIO. Настраиваем на вход или выход. Потом из MJD записуем в файл 1 или 0, или считываем записи в файлах скриптом (для входов). Работает.
Попробовал , записал каманды в автозагрузку. Сделал перезагрузку малины. Кинул каманду

Код: Выделить всё

sudo echo 1 > /sys/class/gpio/gpio22/value
Консоль выдала

Код: Выделить всё

pi@md:~ $ sudo echo 1 > /sys/class/gpio/gpio22/value
bash: /sys/class/gpio/gpio22/value: Нет такого файла или каталога
Закинул команды

Код: Выделить всё

sudo echo 22 > /sys/class/gpio/export
sudo echo out > /sys/class/gpio/gpio22/direction
sudo chmod 777 /sys/class/gpio/gpio22/value
sudo echo 1 > /sys/class/gpio/gpio22/value
Все работает. Но после перезагрузки автозапуск не запускает gpio22, пин плавает, подскажите что не так ?
Дальше я не совсем понял что делать . Из МД както управлять надо, разъясните? :(

Re: работа с GPIO raspberry

Добавлено: Сб дек 21, 2019 6:58 pm
Oleg-7777
Открываем файл, для этого пишем в консоли:
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);

Re: работа с GPIO raspberry

Добавлено: Сб дек 21, 2019 7:35 pm
masterpro77
Прописал в методе

Код: Выделить всё

В MJD:
управление выходом:
включить:
$fp = fopen('/sys/class/gpio/gpio4/value', 'wt');
$test = fwrite($fp, "1");
выключить:
$fp = fopen('/sys/class/gpio/gpio4/value', 'wt');
$test = fwrite($fp, "0");
Не работает.
С автозагрузкой вроде получилось , команды прописал перед exit 0, вроде при старте загружает.
Еще вопрос, почему каманды exec в методе не отробатывают ?

Код: Выделить всё

exec ("sudo echo 0 > /sys/class/gpio/gpio22/value");

Re: работа с GPIO raspberry

Добавлено: Сб дек 21, 2019 9:15 pm
Oleg-7777
У меня в файле без "sudo".
Судя по скриншотам, Вы создали файл для GPIO22, а управлять пытаетесь GPIO17.
С "exec", не знаю, получилось управлять GPIO только так:
$fp = fopen('/sys/class/gpio/gpio4/value', 'wt');
$test = fwrite($fp, "1");
(пример для GPIO4)

Re: работа с GPIO raspberry

Добавлено: Вс дек 22, 2019 4:34 pm
Lerych
masterpro77 писал(а): Сб дек 21, 2019 3:07 pm Попробывал проверить установку библиотеки wiringPi этой камандой , пишет "команда не найдена"
gpio -v
gpio readall
Базовом образе МД эта библиотека не стоит. Установи через apt-get install wiringpi

Re: работа с GPIO raspberry

Добавлено: Вс дек 22, 2019 5:21 pm
masterpro77

Код: Выделить всё

Базовом образе МД эта библиотека не стоит. Установи через apt-get install wiringpi
Пакет установлен. Попробовал, реакции на пинах нет, из консоли тоже нет. Может какой нибудь другой командой?

Re: работа с GPIO raspberry

Добавлено: Вс дек 22, 2019 10:18 pm
Lerych
masterpro77 писал(а): Вс дек 22, 2019 5:21 pm

Код: Выделить всё

Базовом образе МД эта библиотека не стоит. Установи через apt-get install wiringpi
Пакет установлен. Попробовал, реакции на пинах нет, из консоли тоже нет. Может какой нибудь другой командой?
Выдай в терминале линукс:
gpio readall
gpio mode 21 out
gpio write 21 1
gpio readall
gpio mode 21 out
gpio write 21 0
gpio readall
Посмотри на результаты в таблице

Re: работа с GPIO raspberry

Добавлено: Вс дек 22, 2019 10:33 pm
masterpro77
Изображение