Один из способов вкл/выкл GPIO на Raspberry
Для охлаждения процессора на малинке поставил вентилятор. Но через пол года он стал шуметь, несмотря на то, что подавал пониженное напряжение.
Решил собрать термостат для вкл вентилятора только при повышенной температуре процессора.
Температуру легко взять из МДМ, но штатного управления GPIO для включения вентилятора не нашел.
Но с помощью нескольких статей в интернете организовал включение/выключение штатных GPIO малинки из МДМ.
Для управления вентилятором использовал GPIO15 чарез транзисторный ключ (штатный выход GPIO до 16 мА, а вентилятор потребляет 22 мА от 3,3В)
Sudo raspi-config
Выбираем Interfacing Options
Затем Remote GPIO Enable/Disable... и активируем
Перезагружаем систему
Заходим с правами суперпользователя:
sudo –i
Готовим gpio15 к управлению:
echo 15 > /sys/class/gpio/export
Устанавливаем для gpio15 тип OUT :
echo out > /sys/class/gpio/gpio15/direction
Проверяем:
cat /sys/class/gpio/gpio15/direction
В результате на экране должно появиться слово "out"
Выходим из root:
exit
Создаем файл /var/www/vkl15.sh
sudo nano /var/www/vkl15.sh
со следующим содержанием: (левые скобки не учитываем, они для правильно отображения на странице)
(#!/bin/bash
(# Включение GPIO15 (вентилятор)
(echo 15 > /sys/class/gpio/export
(echo out > /sys/class/gpio/gpio15/direction
(echo 1 > /sys/class/gpio/gpio15/value
И файл /var/www/vikl15.sh
(#!/bin/bash
(# ВЫключение GPIO15 (вентилятор)
(echo 15 > /sys/class/gpio/export
(echo out > /sys/class/gpio/gpio15/direction
(echo 0 > /sys/class/gpio/gpio15/value
Делаем файлы исполняемыми
sudo chmod +x /var/www/vkl15.sh
sudo chmod +x /var/www/vikl15.sh
Вызывать исполнение можно строчками кода в php:
exec ("/var/www/vkl15.sh");
или
exec ("/var/www/vikl15.sh");
Можно написать универсальный bash файл с передачей в виде параметров номера gpio и состояния выхода, но мне это надо только для одного gpio и не стал заморачиваться.
Челябинск, Россия
На форуме: AK1