Controla la temperatura de tu Orange Pi
Publicado en Julio de 2018En esta guía vamos a explicar como controlar la temperatura de tu Orange Pi, haciendo que el ventilador se encienda automáticamente cuando el microprocesador llegue a una determinada temperatura. Al final de la guía encontrarás unos consejos para una refrigeración ultrasilenciosa. Todas las temperaturas están en grados Celsius. Empecemos.
Que necesitas:
Esta guía va a ser muy sencilla. Vamos a necesitar tener instalada la librería orangepi_PC_gpio_pyH3
. Para instrucciones sobre como hacerlo, pulsa aquí.
El esquema de conexiones también es muy sencillo. He decidido usar un relé porque es la forma más rápida y económica, aunque necesitarás algo de espacio para colocar el relé. Debes hacer estas conexiones:
Para conectar al relé tendrás algo parecido a Vcc (+5v), GND (GND) e IN (Pin 7). A la salida, en este caso el conector verde, conecta el ventilador al circuito NC (Normaly Closed, o Normalmente Cerrado) para que en caso de fallo en la detección o fallo del programa, el ventilador esté activado, ya que así la Orange Pi no se sobrecalentará, siempre será mejor opción en caso de fallo. Ahora vamos a crear un archivo python para leer la temperatura del micro y, en caso de que sea mayor de 45°, activar el relé y que se arranque el ventilador. Esta medición se puede hacer cada minuto, por ejemplo. Juega con estos datos y adáptalos a tus necesidades. Creamos el fichero python:
sudo nano temperatura.py
y escribe dentro:
#!/usr/bin/env python # -*- coding: iso-8859-15 -*- # author : "javier pérez santos para orangepiweb.es" # credits : "javier pérez santos, orangepiweb.es" # copyright : "Copyright 2018, orangepiweb.es" # # ___ ____ ___ __ _ # / _ \ _ __ __ _ _ __ __ _ ___| _ \(_) \ / /__| |__ ___ ___ # | | | | '__/ _` | '_ \ / _` |/ _ \ |_) | |\ \ /\ / / _ \ '_ \ / _ \/ __| # | |_| | | | (_| | | | | (_| | __/ __/| | \ V V / __/ |_) | __/\__ \ # \___/|_| \__,_|_| |_|\__, |\___|_| |_| \_/\_/ \___|_.__(_)___||___/ # |___/ # # Control de temperatura del micro import os import sys import subprocess from time import sleep from pyA20.gpio import gpio from pyA20.gpio import port ventilador = port.PA6 gpio.init() gpio.setcfg(ventilador, gpio.OUTPUT) temperaturamaxima = 45 while True: temp = int(os.popen('cat /sys/class/thermal/thermal_zone0/temp').read()) temp = temp/1000 if temp >= temperaturamaxima: gpio.output(ventilador,1) else: gpio.output(ventilador,0) sleep (60)
En las últimas versiones de Armbian, la temperatura se muestra con 5 cifras, así 40° se representan como 40000. Debemos ajustar la temperatura dividiendo por mil o estableciendo la variable tempreaturamaxima
en 45000.
Puedes descargar el código de GitHub: https://github.com/javipsantos/OrangePi-temp
Cuando la temperatura supere los 45°, el pin 7 (PA6) se pondrá a 1 y el relé se activará arrancando el ventilador. Ahora sólo falta que lo incluyas en los programas que se ejecutan al arrancar tu Sistema Operativo y ya está. Sencillo ¿verdad?.
Unos consejos para evitar o reducir los ruidos con estos ventiladores. Por mi experiencia, los ventiladores de 5v funcionan perfectamente a 3.3v. Es posible que refrigeren quizás algo menos, pero es más que suficiente. Si necesitas más potencia, hay unos ventiladores de impresora 3D que dirigen el aire a través de una tobera y resultan más eficientes. Su tensión nominal es de 12v, pero pasa lo mismo, si los conectas a 5v, funcionarán perfectamente y reducirás el ruido. Si además le colocas al micro un disipador de calor reducirás algo más la temperatura. Pruébalo.
Espero que te haya sido de utilidad, no dudes en escribir un comentario si ves algún error o si puedo ayudarte.
Utiliza este espacio si quieres añadir algún comentario adicional o si tienes alguna duda.
No olvides añadir tu distribución y tu placa.
Todos los comentarios serán validados antes de su publicación.
Maxlinux2000
Muy buena guía. Me va a ser muy útil en un servidor web
Copyright © 2024 desde 2016. Todos los derechos reservados | Diseño JaviPSantos