Iremos configurar nosso ventilador para ligar e desligar quando a temperatura programada chegar. Adicionando um Resistor e um Transistor, nós podemos usar a porta GPIG21 para quando chegar aos 55 graus nosso ventilador irá ligar para resfriar o circuito, e quando chegar a 48 Graus, nosso ventilador irá desligar.
Você irá necessitar dos seguintes componentes:
- Ventilador 5V;
- Transistor NPN 2N2222
- Resistência de 680 ou 340 Ohns (resistência pode variar dependendo da potência do seu ventilador e quantidade.)
- Cabos para ligar no Raspberry Pi
Se você não tem certeza se como ficaria o circuito, então confira abaixo o diagrama de nossa instalação.
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Para criar nosso script, nós devemos criar nossa pasta, para isso, você terá que rodar o seguinte comando:
mkdir /home/pi/scripts/
Após isso entrar nesta pasta, usando o comando:
cd /home/pi/scripts/
Só então você poderá criar seu programa, que terá o nome fan.py:
nano fan.py
O comando a ser utilizado e o seguinte:
#!/usr/bin/python
import sys
import time
from gpiozero import LED # doc: https://gpiozero.readthedocs.io/
# define o GPIO a ser controlado pelo transistor na parte de gatilhofan = LED(21)
def cpu_temp():
with open(“/sys/class/thermal/thermal_zone0/temp”, ‘r’) as f:
return float(f.read())/1000
def main():
# close fan at begining
is_close = True
fan.off()
while True:
temp = cpu_temp()
if is_close:
if temp > 55.0: # temperatura para ligar fan
print time.ctime(), temp, ‘Fan ON’
fan.on()
is_close = False
else:
if temp < 48.0: # temperatura para desligar fan
print time.ctime(), temp, ‘Fan OFF’
fan.off()
is_close = True
time.sleep(2.0)
print time.ctime(), temp
if __name__ == ‘__main__’:
main()
Para verificar se o ventilador está funcionando, e necessário utilizar o comando:
python /home/pi/scripts/fan.py
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Agora vem a hora de ativar o serviço. Para fazer isso primeiro você vai ter que entrar como administrador.
sudo su
Após isso entre na pasta /etc/init.d, vai ser necessário utilizar o seguinte comando:
cd /etc/init.d
Por fim será necessário criar nosso serviço, então utilize o comando:
#!/bin/bash
# /etc/init.d/fan
### BEGIN INIT INFO
# Provides:fan
# Required-Start:$remote_fs $syslog
# Required-Stop:$remote_fs $syslog
# Default-Start:2 3 4 5
# Default-Stop:0 1 6
# Short-Description: fan
# Description: Fan controller auto start after boot
### END INIT INFO
case “$1” in
start)
echo “Starting Fan”
python /home/pi/scripts/fan.py &
;;
stop)
echo “Stopping Fan”
#killall ledblink.py
kill $(ps aux | grep -m 1 ‘python /home/pi/scripts/fan.py’ | awk ‘{ print $2 }’)
;;
*)
echo “Usage: service fan start|stop”
exit 1
;;
esac
exit 0
Para reiniciar todos os serviços, utilizar o comando:
chmod +x /etc/init.d/fan.service
Podemos começar o serviço com o comando:
sudo service fan start
para verificar se o serviço está rodando, utilizar o comando:
sudo service fan status
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –