Pi: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(Освободить занятые модулями ядра gpio)
(Освободить занятые модулями ядра gpio)
Строка 42: Строка 42:
  
 
  rmmod leds_gpio
 
  rmmod leds_gpio
  rmmod gpio_button_hotplug  
+
  rmmod gpio_button_hotplug
 
 
 
 
архив сделан для того, чтобы в любой момент можно было восстановить автозагрузку этих модулей, примерно так:
 
 
 
cd /etc/modules.d/
 
tar -xpf gpio_disabled_modules.tar
 

Версия 10:57, 14 марта 2015

Raspberry Pi ver. 1

Схема расположения GPIO

Pi gpio.jpg

Занять первый gpio

echo "1" > /sys/class/gpio/export

Управление первым gpio на выход

echo "1" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio1/direction
echo "1" > /sys/class/gpio/gpio1/value
echo "0" > /sys/class/gpio/gpio1/value


Управление первым gpio на вход

echo "1" > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio1/direction
cat /sys/class/gpio/gpio1/value

Комментарий: читаем катом (или можно watch "cat /sys/class/gpio/gpio1/value") порт, подавая на него 3.3 вольта с нижней левой ноги (замыкая проводом на нужный порт).

При замыкании - в файле /sys/class/gpio/gpio1/value будет единичка, при размыкании — ноль.

Освободить первый gpio

echo "1" > /sys/class/gpio/unexport

Примечание: если gpio не освободить, то его нельзя переключить на противоположный режим и использовать

17 gpio входовыходов!

Pi-17-inouts.jpg

TP-Link MR-3020 GPIOs

gpio на этой железке

Освободить занятые модулями ядра gpio

Для освобождения gpio контактов, занятых соответствующими модулями ядра, нужно выбросить эти подули из автозагрузки. Я это сделал так:

добавил строчки в файл /etc/rc.local перед строкой exit 0

rmmod leds_gpio
rmmod gpio_button_hotplug