работа с GPIO raspberry

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

masterpro77
Сообщения: 43
Зарегистрирован: Сб ноя 16, 2019 12:38 am
Благодарил (а): 13 раз
Поблагодарили: 0

Re: работа с GPIO raspberry

Сообщение masterpro77 » Сб дек 21, 2019 5:48 pm

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, пин плавает, подскажите что не так ?
Дальше я не совсем понял что делать . Из МД както управлять надо, разъясните? :(
Oleg-7777
Сообщения: 18
Зарегистрирован: Ср апр 20, 2016 10:26 am
Благодарил (а): 0
Поблагодарили: 3 раза

Re: работа с GPIO raspberry

Сообщение Oleg-7777 » Сб дек 21, 2019 6:58 pm

Открываем файл, для этого пишем в консоли:
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);
masterpro77
Сообщения: 43
Зарегистрирован: Сб ноя 16, 2019 12:38 am
Благодарил (а): 13 раз
Поблагодарили: 0

Re: работа с GPIO raspberry

Сообщение masterpro77 » Сб дек 21, 2019 7:35 pm

Прописал в методе

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

В 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");
Вложения
Снимок1.PNG
Снимок1.PNG (133.66 КБ) 3664 просмотра
Последний раз редактировалось masterpro77 Сб дек 21, 2019 9:34 pm, всего редактировалось 1 раз.
Oleg-7777
Сообщения: 18
Зарегистрирован: Ср апр 20, 2016 10:26 am
Благодарил (а): 0
Поблагодарили: 3 раза

Re: работа с GPIO raspberry

Сообщение Oleg-7777 » Сб дек 21, 2019 9:15 pm

У меня в файле без "sudo".
Судя по скриншотам, Вы создали файл для GPIO22, а управлять пытаетесь GPIO17.
С "exec", не знаю, получилось управлять GPIO только так:
$fp = fopen('/sys/class/gpio/gpio4/value', 'wt');
$test = fwrite($fp, "1");
(пример для GPIO4)
Аватара пользователя
Lerych
Сообщения: 191
Зарегистрирован: Чт дек 14, 2017 8:46 pm
Откуда: Московская область, Серпухов
Благодарил (а): 79 раз
Поблагодарили: 24 раза

Re: работа с GPIO raspberry

Сообщение Lerych » Вс дек 22, 2019 4:34 pm

masterpro77 писал(а):
Сб дек 21, 2019 3:07 pm
Попробывал проверить установку библиотеки wiringPi этой камандой , пишет "команда не найдена"
gpio -v
gpio readall
Базовом образе МД эта библиотека не стоит. Установи через apt-get install wiringpi
masterpro77
Сообщения: 43
Зарегистрирован: Сб ноя 16, 2019 12:38 am
Благодарил (а): 13 раз
Поблагодарили: 0

Re: работа с GPIO raspberry

Сообщение masterpro77 » Вс дек 22, 2019 5:21 pm

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

Базовом образе МД эта библиотека не стоит. Установи через apt-get install wiringpi
Пакет установлен. Попробовал, реакции на пинах нет, из консоли тоже нет. Может какой нибудь другой командой?
Аватара пользователя
Lerych
Сообщения: 191
Зарегистрирован: Чт дек 14, 2017 8:46 pm
Откуда: Московская область, Серпухов
Благодарил (а): 79 раз
Поблагодарили: 24 раза

Re: работа с GPIO raspberry

Сообщение Lerych » Вс дек 22, 2019 10:18 pm

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
Посмотри на результаты в таблице
masterpro77
Сообщения: 43
Зарегистрирован: Сб ноя 16, 2019 12:38 am
Благодарил (а): 13 раз
Поблагодарили: 0

Re: работа с GPIO raspberry

Сообщение masterpro77 » Вс дек 22, 2019 10:33 pm

Изображение
Вложения
Снимок2.PNG
Снимок2.PNG (108.02 КБ) 3583 просмотра
Снимок2.PNG
Снимок2.PNG (108.02 КБ) 3583 просмотра
Ответить