Apuntes

Notebook del blog AcastilloG

Una pregunta recurrente en los foros de la Raspberry Pi es cómo deshabilitar el salvapantallas de Raspbian.

Se refieren al hecho de que transcurridos diez minutos, sin actividad, la pantalla se oscurece y se pone negra. Esto se evita tecleando, en una terminal, la siguiente orden:

xset -dpms s off

Lo que hemos hecho es deshabilitar el administrador de energía de la pantalla, DPMS (Display Power Management Signaling).

Para comprobar que está deshabilitado, teclee:

xset dpms q

Sin embargo, debe tener en cuenta que solo es efectivo para la sesión actual. Al reiniciar, el ordenador, el DPMS volverá a estar activo.

Si desea que se mantenga de forma permanente, deberá incluir la orden en un script que se ejecute al inicio de sesión.

También puede hacerlo de forma gráfica instalando un salvapantallas con:

sudo apt install xscreensaver -y

Posiblemente, en un futuro, Raspbian incluya un salvapantallas por defecto, pero de momento no es así.

Para averiguar la temperatura de la Raspberry Pi, podemos consultar la temperatura de la CPU o de la GPU. Ambas forman parte del SoC y alcanzan una temperatura similar ya que estan encapsuladas dentro del mismo circuíto integrado.

La temperatura de la CPU se consulta con:

cat /sys/class/thermal/thermal_zone0/temp

Y la salida es un número cinco cifras que tenemos que dividir por 1000 para hallar los grados.

La temperatura de la GPU se consigue con:

vcgencmd measure_temp

Y tiene una salida similar a esto: temp=48.3'C

Nosotros vamos a usar la temperatura de la GPU y la guardaremos, cada 5 minutos, en un archivo al que llamaremos “/home/pi/temperatura.log”.

Para hacer esto, vamos a editar “crontab” con:

crontab -e

y le añadimos esta línea

*/5 * * * * echo "$(date) $(/opt/vc/bin/vcgencmd measure_temp)" >> /home/pi/temperatura.log

Además, añadiremos una tarea más para borrar el archivo en cada reinicio y evitar que se haga excesivamente grande.

@reboot rm /home/pi/temperatura.log

Después de reiniciar el equipo, se creará el archivo “/home/pi/temperatura.log” que puedes editar con:

nano /home/pi/temperatura.log

Para consultar la temperatura alcanzada en intervalos de 5 minutos.

Nota: Ver de forma más detallada en AcastilloG

Un tema recurrente en los foros de la Raspberry es la alta temperatura que alcanza y el temor, de muchos usuarios, a que se averíe. Este temor está totalmente infundado ya que, la Raspberry, se autoprotege al rebasar los 80ºC. bajando la frecuencia del microprocesador y nos avisa con un pequeño termómetro, en la esquina superior derecha del monitor.

Si desea aumentar la seguridad, puede editar el archivo config.txt

sudo nano /boot/config.txt

y rebajar la temperatura a 70º añadiendo al final:

temp_limit=70

Lo guarda y listo. Con esto hemos rebajado 10 grados la temperatura a la que la Raspberry toma precauciones, pero el precio que se paga es una merma del rendimiento al superar los 70 grados.

Para mejorar la refrigeración podemos colocarle disipadores de calor o instalar un ventilador.

Instalar disipadores:

Existen disipadores muy baratos de aluminio, cobre o incluso cerámicos, pero con ellos solo se consigue rebajar la temperatura 3 o 4 grados. Yo los he usado y en todas las pruebas que he realizado no he notado ninguna diferencia significativa.

Instalar un ventilador:

Esta es la solución más eficaz. Con un pequeño ventilador de 5V. (los hay muy baratos) conseguiremos rebajar la temperatura hasta 20 o 25 grados. El problema que presentan es que suelen ser ruidosos y emiten un molesto zumbido. Pero también hay solución para aminorar este problema. Consiste en alimentarlo con 3V. en lugar de 5V. Utilizando los pines 1 y 6 que suministran 3,3V. en vez de los 5V. que hay entre los pines 4 y 6.

GPIO

Evidentemente el caudal de aire es menor, ya que gira a menos revoluciones, pero es suficiente para disminuir la temperatura entre 15 y 20 grados, algo menos que si lo alimentamos con los 5V. Pero compensa, ya que el ruido, prácticamente, desaparece.

La eficacia es mayor, si el ventilador impulsa el aire al interior de la caja, en lugar de extraerlo.

La temperatura sube, principalmente, debido a la carga de trabajo de la CPU y a la temperatura ambiente, pero la Raspberry, se protege de una forma muy eficaz.

Si desea ver con más detalle lo anteriormente tratado, puede visitar este enlace AcastilloG

En linux, consultar el tiempo desde la linea de comandos es algo sumamente fácil. Primero, debemos asegurarnos de que tenemos instalado el comado “curl” con:

sudo apt install curl -y

Luego, basta con teclear en una terminal:

curl wttr.in

para obtener una pantalla como esta:

tiempo en Sevilla

Nos presenta el tiempo del lugar donde nos encontramos (en este caso Sevilla, España) y la previsión de los tres próximos días.

También podemos especificar cualquier ciudad y el idioma. Por ejemplo, si queremos consultar el tiempo de Ribadeo en español, debemos teclear lo siguiente:

curl wttr.in/Ribadeo?lang=es

Lo que estamos haciendo es usar las prestaciones de los proyectos wego y wyyr.in, ambos están disponibles en GitHub.

Nota: Ver de forma más detallada en AcastilloG

La Raspberry utiliza el fichero de intercambio “var/swap” y este fichero se configura con “/etc/dphys-swapfile”.

Por ejemplo, para subir la RAM de 100 a 256 megas debe editarse con:

sudo nano /etc/dphys-swapfile

Busca la linea:

CONF_SWAPSIZE=100

y sustitúyela por:

CONF_SWAPSIZE=256

Activar la nueva cantidad con:

sudo dphys-swapfile setup

Luego introducir:

sudo dphys-swapfile swapon

Y ahora puede comprobarla con:

cat /proc/meminfo | grep Swap

Esto es todo.

Nota: Ver de forma más detallada en AcastilloG

Si conectas a la Raspberrypi un ratón que tenga una tasa de refresco alta, notarás que la posición del puntero no se actualiza como debiera y funciona con mucho retraso.

Para solucinarlo hay que editar el archivo “/boot/cmdline.txt” y añadirle al final “usbhid.mousepoll=0” (sin las comillas).

Primero hacemos una copia del archivo, como prevención:

sudo cp /boot/cmdline.txt{,.original}

Después editamos “cmdline.txt”

sudo nano /boot/cmdline.txt

y le añadimos, al final, separado por un espacio (igual que el resto de los parámetros del fichero).

usbhid.mousepoll=0

Reiniciamos y listo.

Con esto aumentará la tasa de refresco y trabajará correctamente.

Nota: Ver de forma más detallada en AcastilloG

La instalación de un servidor local en Raspbian es idéntica a la que hay que realizar en cualquier sistema operativo basado en Debian. Así que, describiré como instalar LAMP en nuestra Raspberry Pi presuponiendo que el sistema operativo instalado es Raspbian.

Abre una terminal y copia en ella lo siguiente:

sudo apt install php php-mysql mariadb-server -y

Apache se instala junto al módulo de PHP como una dependencia.

Una vez finalizada la instalación, nuestro servidor estará localizado en “/var/www/html”. Ahora tendremos que darle los permisos oportunos con:

sudo chmod 777 /var/www/html

Queda un paso más si queremos habilitar el archivo “htaccess” para poder configurar el acceso al Servidor Apache.

El archivo que tenemos que modificar es “apache2.conf” tecleando en una terminal:

sudo nano /etc/apache2/apache2.conf

localizar estas lineas:

<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>

y cambiar “AllowOverride None” por “AllowOverride All”. Dejandolo así:

<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>

Si, además, queremos dejar operativo el módulo rewrite y tener la posibilidad de escribir direcciones amigables (Friendly URL's), necesitamos ejecutar en una terminal estos dos comandos:

sudo a2enmod rewrite sudo service apache2 restart

Y esto es todo.

Nota: Ver de forma más detallada en AcastilloG

En linux disponesmos del comando “dd” (Dataset Definition) cuyo formato es el siguiente:

dd if=[origen] of=[destino]

Donde “if” es la abreviatura de “input file” y “of” es la abreviatura de “output file”.

Un ejemplo práctico de la instalación sería el siguiente:

Averiguamos donde está montada la tarjeta micro-SD con:

df -h

Lo normal es que el disco duro del ordenador sea “sda1” y que la tarjeta micro SD sea “sdb1”.

Bajamos una imagen de Raspbian de esta dirección. A día de hoy el archivo es “2016-03-18-raspbian-jessie.zip” que una vez descomprimido quedaría como “2016-03-18-raspbian-jessie.img”

Abrimos una terminal en la carpeta donde se encuentre la imagen y tecleamos:

sudo dd if=2016-03-18-raspbian-jessie.img of=/dev/sdb bs=32M

Observe que hemos llamado a la tarjeta de destino “sdb” en lugar de “sdb1” y que hemos añadido la opción “bs=32M” que sirve par indicar que la copia se realice en bloques de 32 megas. Tardará más o menos tiempo dependiendo del tipo de tarjeta micro-SD y del equipo utilizado, dando la impresión de que la terminal se ha “colgado”.

Tenga paciencia.

Nota: Ver de forma más detallada en AcastilloG