Apagado seguro para su Raspberry Pi


Si desenchufa una Raspberry Pi durante el funcionamiento, es muy posible que nunca vuelva a arrancar, porque su tarjeta SD se dañe tal y como hemos visto en otros post relacionados con este asunto

Pinout RPi: si conecta GPIO3 con GND, su Raspberry Pi se apaga de forma segura

No basta con conectar el interruptor. Hemos cambiado el archivo config.txt usando este comando:

sudo nano /boot/config.txt

y agregue la siguiente línea al archivo:

dtoverlay = gpio-shutdown, gpio_pin = 3, active_low = 1, gpio_pull = up

ctrl-X y Sí y, después de reiniciar, debería funcionar.

Aumentar el archivo de intercambio

El siguiente truco tiene que ver con instalaciones con un alto consumo de memoria, principalmente en Pi Zero. Lo aprendí cuando usé Node-Red, influxDB y Grafana en un Pi Zero. Después de un tiempo, el dispositivo se bloqueó y tuvo que reiniciarse. Usando el interruptor de reinicio de antes, BTW.

El comando «top» reveló el problema: No hay más espacio de intercambio disponible. Esto significa que Linux no obtiene suficientes recursos y bloques. El sistema operativo utiliza el espacio de intercambio si la memoria principal no es lo suficientemente grande. Luego, almacena el contenido menos necesario en la tarjeta SD «lenta». Por supuesto, esto sucede antes cuanto menor sea su RAM.

El Pi zero solo tiene 512 MB de RAM y el sistema operativo asigna 102 MB de espacio de intercambio. El Pi 3 tiene 1 GB de RAM y el sistema operativo asigna la misma cantidad. Para Pi 3 esto no es tan crítico porque necesita mucho menos de este espacio. ¿Qué hacer?

Ingresamos el comando:

 sudo nano / etc / dphys-swapfile 

y luego descomente la línea:

CONF_SWAPFILE = / var / swap y CONF_SWAPFACTOR = 2

Esto crea un archivo de intercambio que tiene 2 veces el tamaño de la RAM, lo que parece ser la mejor práctica.

Y tenemos que comentar la línea CONF_SWAPSIZE = 100

Ctrl-Z, Y y entrar.

Entonces tenemos que invocar estos dos comandos:

sudo dphys-swapfile setup

y

sudo dphys-swapfile swapon

Después de reiniciar, vemos que el archivo de intercambio es mucho más grande y, también después de un tiempo, Raspbian todavía tendrá espacio de intercambio libre. El Pi zero no se convierte en un coche de carreras con este cambio. Pero al menos no bloquea.

Configuración de Wi-Fi sin teclado ni pantalla

Queremos conectar una Raspberry «nueva» a una red Wi-Fi por primera vez sin pantalla ni teclado.

Si crea una nueva imagen SD e inicia su Pi, no puede conectarse a su red Wi-Fi porque no conoce las credenciales y, por lo tanto, no puede conectarse para cambiar el SSID o la contraseña. El viejo problema de «Henn» y «huevo».
Aquí está el truco: después de escribir la imagen en la tarjeta SD, puede quitarla e insertarla de nuevo en el lector. Recibirá un mensaje de error. Simplemente ignóralo. Ahora ves esta imagen. Necesitamos agregar dos archivos. Uno se llama:

” Wpa_supplicant.conf ” y el otro ssh sin extensión.

«Wpa_supplicant.conf» debe contener las siguientes líneas:

El primero es su país, y aquí debe ingresar las credenciales de Wi-Fi. Guárdelo en la tarjeta SD.

ountry = CH
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev
update_config = 1
network = {
ssid = ”… ..”
psk = ”… ..
 “
}

El archivo con el nombre ssh puede estar vacío. Simplemente tiene que estar ahí. Por lo general, creo un archivo de texto en blanco y elimino la extensión.

Ahora podemos arrancar una Raspberry con esta tarjeta SD, y se conectará a Wi-Fi y habilitará SSH. Según sea necesario. Mi consejo: guardo un archivo wpa_supplicant.conf en mi PC que incluye mis credenciales. Entonces solo tengo que copiarlo en la nueva tarjeta SD.

Instalar ssh en Windows 10


Hace ya tres años, Microsoft presentó WSL, lo que son las siglas de Windows Susbystem for Linux. Como usuario de Ubuntu pensé «Esto no sirve para nada, no lo voy a usar nunca si ya uso Ubuntu de nativo», pero ¿estaba en lo cierto? Probablemente no. Justamente he empezado a usar WSL en Windows 10 porque soy usuario de Linux, porque el terminal de Ubuntu nos ofrece posibilidades muy interesantes que merece la pena tener a mano.

Lógicamente, no es perfecto. Tal y como explicaremos a continuación, habrá algunas tareas que no podamos realizar, en parte porque lo que vamos a instalar y usar es solo un terminal, es decir, una ventana en la que introduciremos las líneas de comandos para hacer lo que necesitemos. A continuación os explico los pasos a seguir para instalar el terminal de Ubuntu 18.04 en Windows 10 y qué podemos hacer con él.

Índice [Ocultar]

WSL, ejecutando comandos de Linux en Windows 10

Antes de poder usarlo, tenemos que instalarlo. Los pasos a seguir serían los siguientes:

  1. Vamos a la Microsoft Store e instalamos Ubuntu 18.04.
Instalar Ubuntu 18.04 desde la Microsoft Store
  1. A continuación, tenemos que ejecutar como administrador el siguiente comando. Para ello, hacemos clic derecho sobre Inicio y elegimos «Windows PowerShell (Administrator)»:(boton derecho como administrador)
1Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Activar WSL
  1. Esperamos a que se active WSL. Una vez finalizado el proceso, tenemos que reiniciar. Por defecto, está marcado que «sí», por lo que podemos reiniciar presionando Intro. También podemos hacerlo los primeros pasos al contrario: activar primero WSL y luego instalar Ubuntu.
Instalando WSL
  1. A continuación, iniciamos Ubuntu desde el menú de aplicaciones.
  2. Esperamos un rato a que se instale el sistema.
Esperamos a que se instale el sistema
  1. Llegado el momento, nos pedirá un nombre de usuario. Tenemos que introducirlo en minúsculas y presionar Intro.
  2. Para la contraseña, haremos lo mismo que en cualquier otra parte: ponerla una vez, presionar intro, ponerla otra vez para confirmarla y volver a presionar Intro.
Introducir usuario y contraseña

Y eso sería todo. Ya tenemos el terminal de Ubuntu instalado en Windows. Por defecto ya podemos usar comandos como el APT, por lo que la primera prueba que recomiendo es instalar «neofetch»:

1sudo apt install neofetch

Para lanzarlo y ver algo como lo de la imagen de cabecera, solo tenéis que escribir «neofetch» sin las comillas. Me parece importante mencionar que podemos lanzar los comandos de Linux desde el PowerShell de Windows o directamente desde la opción «Ejecutar«.

Qué podemos y qué no podemos hacer con WSL

No funcionan programas con GUI en WSL

Lo que hay que tener claro es qué es un terminal. Explicado rápido y mal, es un sistema operativo que funciona única y exclusivamente con líneas de comandos y no puede mostrar imágenes más allá del texto que introducimos/muestra. Esto significa que, por ejemplo, podemos instalar cualquier programa que esté disponible en los repositorios de Ubuntu, pero no podremos lanzar aquellos que hagan uso de una GUI, como Firefox (aunque no tendría sentido instalar nada que esté disponible para Windows de manera oficial). También significa que no podremos seguir, por ejemplo, este tutorial para grabar la pantalla con ffmpeg: si introducimos el comando y presionamos Intro, empezará la tarea, pero parará cuando se dé cuenta de que «no hay ningún monitor disponible».

En el momento de escribir este artículo, tampoco es compatible con los paquetes Snap, por lo que no he podido probar un paquete que nos permite visualizar GIFs desde el terminal (probablemente escriba un artículo sobre él).

Pero ya que hemos mencionado ffmpeg, decir que sí podemos usarlo para convertir archivos, algo que explicamos en este otro artículo. Pero antes tenemos que instalar el software y todas sus dependencias (sudo apt install ffmpeg). También podemos instalar ImageMagick y hacer esto otro, lo que nos permitirá convertir/editar imágenes por lotes.

Pero hay un problemilla con las rutas…

Algo que me gustaría que solucionaran en el futuro está relacionado con las rutas. No son lo mismo y no las reconoce igual. El problema está en cómo las escribe Windows y cómo las necesita Linux. Lo bueno es que es fácil recordar cómo convertir una ruta de Windows a Linux.

Por ejemplo: la ruta C:\Users\Pablo\Destktop\ de Windows sería /mnt/c/Users/Pablo/Desktop. Sabiéndolo, si alguna vez queremos arrastrar un archivo de Windows al terminal de Ubuntu, lo que tenemos que hacer es básicamente cambiar las barras invertidas por barras normales, poner la «c» minúscula, quitar los dos puntos y delante añadir «/mnt/». No es difícil de recordar.

Y así es como se instala y usa WSL en Windows 10. Teniendo en cuenta la capacidad de los discos duros de los ordenadores actuales y las posibilidades que nos ofrece, creo que merece la pena tenerlo instalado. Y salgo del artículo con el siguiente comando:

exit