Здесь обо всем и ни о чем!

Здравствуйте!
Хочу поведать как я прикрутил вентилятор к своей OrangePi-PC.


Из пластиковой крышки от посуды СВЧ, я вырезал основание для вентилятора(вырезал строительным канцелярским ножом). Просверлил две дырочки для крепления вентилятора и притянул его нейлоновыми стяжками. Что получилось видно на изображении снизу. Так-же купил пластиковые стойки для установки сей конструкции.


OrangePi с креплением под вентилятор.
блок из двух реле заказанных с AliExpress

Далее был установлен блок из двух реле(заказанных с AliExpress где-то за 60 рублей). Реле подключены через разъём GPIO на Orangepi-PC k разъёмам PC4 и PC7. На верхней картинке на разъёме GPIO видно контакты от подключенных реле. Вентилятор тоже был заказан с Aliexpress и работает от 5В. В целях уменшения нагрузки на плату и реле и вентилятор подключены от блока питания на 5В, а не от orangepi.

Затем мною был написан небольшой, простенький sh скрипт и прописан на автозапуск через "rc.local". Далее я приведу сам скрипт, опишу файл конфигурации, и выложу распиновку GPIO разъёма.




Сам sh скрипт(Скачать):

>#!/bin/bash
declare -a MASS
MASS= (0 0 0 0 0 0)
index= 0

while read FAN; do
MASS[$index]= $FAN
index=$(( $index + 1))
done < /etc/fan.conf
TEMP=0
index=0
echo "${MASS[4]}" > "${MASS[0]}"
YY=0
XX=0

while [ $index = 0 ]
do

sleep 5s
read TEMP < "${MASS[1]}"

if [ ${TEMP} -gt ${MASS[2]} ]
then
if [ $YY = 0 ]
then
echo "${MASS[5]}" > "${MASS[0]}"
YY=1
fi
fi

if [ ${TEMP} -lt ${MASS[3]} ]
then
if [ $YY = 1 ]
then
echo "${MASS[4]}" > "${MASS[0]}"
YY=0
fi
fi

if [ $XX = 12 ]
then
XX=0
IN=0
while read FAN; do
MASS[$IN]=$FAN
IN=$(($IN + 1))
done < /etc/fan.conf
fi

XX=$(($XX + 1))
done

exit 0


Скрипт нужно поместить в /usr/bin.




Далее файл конфигурации, нужно сохранить в /etc/fan.conf:


В конфиг файле 6 строк:
/sys/class/gpio_sw/PC4/data
/sys/class/thermal/thermal_zone0/temp
78
61
1
0


1. Путь к файлу управления выводом GPIO.
2. Путь к файлу с данными темпиратуры.
3. Темпиратура включения вентилятора.
4. Темпиратура выключения.
5. Значение записываемое в п.1 для выключения.
6. Значение записываемое в п.1 для включения вентилятора.

Далее открываем /etc/rc.local в любом текстовом редакторе и вставляем две строки:
echo 1 > /sys/class/gpio_sw/PC4/data
/usr/bin/fan-control &

Сохраняем и перезапускаем платку. Теперь при перегреве процессора вентилятор будет автоматически включаться и при остывании выключаться.


В файл конфигурации можно в любое время внести изменения, скрип переодически повторно считывает с него данные.

Ну и на всякий случай разъем GPIO
Разъём GPIO на Orangepi-PC


Оставить комментарий:

Введите имя:

Введите текст: