Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.
Модератор: immortal
-
masterpro77
- Сообщения: 43
- Зарегистрирован: Сб ноя 16, 2019 12:38 am
-
Благодарил (а):
13 раз
-
Поблагодарили:
0
Сообщение
masterpro77 » Сб дек 21, 2019 5:48 pm
Попробовал , записал каманды в автозагрузку. Сделал перезагрузку малины. Кинул каманду
Консоль выдала
Код: Выделить всё
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 раза
Сообщение
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
Сообщение
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 (133.66 КБ) 3664 просмотра
Последний раз редактировалось
masterpro77 Сб дек 21, 2019 9:34 pm, всего редактировалось 1 раз.
-
Oleg-7777
- Сообщения: 18
- Зарегистрирован: Ср апр 20, 2016 10:26 am
-
Благодарил (а):
0
-
Поблагодарили:
3 раза
Сообщение
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 раза
Сообщение
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
Сообщение
masterpro77 » Вс дек 22, 2019 5:21 pm
Код: Выделить всё
Базовом образе МД эта библиотека не стоит. Установи через apt-get install wiringpi
Пакет установлен. Попробовал, реакции на пинах нет, из консоли тоже нет. Может какой нибудь другой командой?
-
Lerych
- Сообщения: 191
- Зарегистрирован: Чт дек 14, 2017 8:46 pm
- Откуда: Московская область, Серпухов
-
Благодарил (а):
79 раз
-
Поблагодарили:
24 раза
Сообщение
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
Сообщение
masterpro77 » Вс дек 22, 2019 10:33 pm
-
Вложения
-
- Снимок2.PNG (108.02 КБ) 3583 просмотра
-
- Снимок2.PNG (108.02 КБ) 3583 просмотра