Blog EnFaseTerminal es un Blog de tecnología que ofrece consejos y resúmenes sobre los últimos temas de tecnología, como seguridad cibernética, privacidad, hardware y software. Nuestros artículos son escritos por un equipo de expertos en tecnología que están comprometidos a proporcionar a sus lectores la información que necesitan para tomar decisiones informadas sobre su tecnología. Visite Blog EnFaseTerminal para obtener más información y estar al día con las últimas tendencias en tecnología.
Hay personas tan atractivas
Comienzas las pruebas del sistema de alerta a la población RAN-PWS
Como ha anunciado en su cuenta de Twitter la Dirección General de Protección Civil y Emergencias, Ministerio del Interior. Algunos usuarios están recibiendo una notificación en sus teléfonos móviles con un mensaje en pruebas del sistema de alerta a la población RAN-PWS.
A partir de junio de 2022 está previsto su despliegue total y permitirá que las autoridades puedan informar de situaciones de emergencia a través de los teléfonos móviles que se encuentren dentro del área afectada por la alerta. Que ponga en peligro a personas y/o bienes materiales. Todo ello se encuentra regulado según:
El artículo 12 de la Ley 17/2015, de 9 de Julio, del Sistema Nacional de Protección Civil, dicta la existencia de la Red de Alerta Nacional de Protección Civil:
- Se crea la Red de Alerta Nacional de Protección Civil como sistema de comunicación de avisos de emergencia a las autoridades competentes en materia de protección civil, sin perjuicio de las competencias de las comunidades autónomas, a fin de que los servicios públicos esenciales y los ciudadanos estén informados ante cualquier amenaza de emergencia.
- La gestión de la Red corresponderá al Ministerio del Interior, a través del Centro Nacional de Seguimiento y Coordinación de Emergencias de Protección Civil.
- Todos los organismos de las Administraciones Públicas que puedan contribuir a la detección, seguimiento y previsión de amenazas de peligro inminente para las personas y bienes comunicarán de inmediato al Centro Nacional de Seguimiento y Coordinación de Emergencias de Protección Civil cualquier situación de la que tengan conocimiento que pueda dar lugar a una emergencia de protección civil.
- Los órganos competentes de coordinación de emergencias de las comunidades autónomas serán cauce tanto para la información de las emergencias de protección civil al Centro Nacional de Seguimiento y Coordinación de Emergencias de Protección Civil, como para la transmisión de la alerta a quien corresponda.
Que es un Bash Shell
Bash Shell Es un archivo de procesamiento por lotes, que por lo general es un archivo de texto plano. Es útil e interactivo entre el usuario y el sistema operativo. El ejecutable resultante no ha de ser compilado y por la tanto es legible por el usuario, y puede ser modificado, siempre y cuando tenga permisos habilitados sobre el archivo.
Esto aporta algunas ventajas:
- Multiplataforma: al no ser binario, se pueden ejecutar en diversas plataformas sin modificaciones, lo que es una clara ventaja si queremos que el código funcione en cualquier sistema.
- Portabilidad: si el intérprete está listo para una plataforma, entonces el script o lenguaje interpretado funcionará en dicha plataforma.
Sin embargo, estos lenguajes interpretados también tienen sus desventajas:
- Una de ellas es el rendimiento, ya que necesitan del intérprete siempre ejecutándose en segundo plano para que funcione.
- La propia dependencia del intérprete.
Cada línea contiene un comando, o instrucción y sus opciones, y una vez ejecutado pasará a la siguiente línea de ejecución. Pueden ser creados para realizar una serie de operaciones utilizando los comandos del sistema operativo. O como ejecutable de un lenguaje de programación interpretado, como puede ser Java, C#, JavaScript, Visual Basic .NET y VBScript, Perl, Python, Lips, Ruby, PHP, ASP, SQL etcétera
Añadir botón apagado encendido Raspberry
Raspberry es un pequeño ordenador, de bajo coste que podemos utilizar como PC de sobremesa o como servidor, sin necesidad de conectarle ningún periférico (pantalla, teclado, ratón). En este último caso, la labor de apagado solo es posible desconectando la corriente, con el consabido riesgo de pérdida de datos, y creamos archivos corruptos que impidan y/o dificulten su posterior encendido. También es posible que dañemos la tarjeta SD y debemos sustituirla o formatearla y volver a volcar el sistema operativos e instalar servicios que teníamos instalados y configurarlos otra vez.
Una forma de evitar este tedioso proceso es incluir un botón de apagado, que también nos será válido para volver a encenderlo si lo dejamos en stand-by.
Para ello utilizaremos el interfaz I/O del que dispone la Raspberry
El interfaz GPIO dispone de unos terminal macho numerados. Disponiendo las Raspberry en esta posición su disposición sera de izquierda a derecha y de arriba abajo empezando del 1 al 40
En nuestro caso utilizaremos los pines 4 y 6 donde colocaremos nuestro botón para realizar el apagado de nuestro pequeño ordenador.
Realizaremos un pequeño bricolaje. La manera más sencilla sería con la utilización de dos cables que en una de sus puntas se encuentran una punteras hembras aisladas y en la otra punta de los cables soldar un pequeño pulsador. También podremos utilizar una placa de pruebas para, más adelante poder ampliar nuestros proyectos.
Dependendiendo del sistema operativo que utilicemos, es posible que tengamos que realizar la instalación de ciertas librerías para que los scripts de Python funcionen correctamente
sudo apt-get install python-is-python3
sudo apt-get -y install python3-rpi.gpio
Los siguientes scripts que manejan los eventos provocados por la pulsación del botón colocado entre el pin 5 y 6 han sido copiados de la página
Crearemos un archivo ejecutable para Python que llamaremos listen-for-shutdown.py
sudo nano listen-for-shutdown.py
Copiaremos el siguiente script el archivo que hemos creado y guardaremos su contenido
#!/usr/bin/env python
import RPi.GPIO as GPIO
import subprocess
GPIO.setmode(GPIO.BCM)
GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.wait_for_edge(3, GPIO.FALLING)
subprocess.call(['shutdown', '-h', 'now'], shell=False)
sudo mv listen-for-shutdown.py /usr/local/bin/
Y le daremos atributos de ejecución
sudo chmod +x /usr/local/bin/listen-for-shutdown.py
Si tenemos nuestra Raspberry en stand-by, bien por que la hemos apagado desde la línea de comandos o desde nuestro botón de apagado. También es posible encenderlo desde el mismo botón, para ello crearemos un nuevo archivo.
sudo nano listen-for-shutdown.sh
Y copiaremos y guardaremos el siguiente código:
#! /bin/sh
### BEGIN INIT INFO
# Provides: listen-for-shutdown.py
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
# If you want a command to always run, put it here
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting listen-for-shutdown.py"
/usr/local/bin/listen-for-shutdown.py &
;;
stop)
echo "Stopping listen-for-shutdown.py"
pkill -f /usr/local/bin/listen-for-shutdown.py
;;
*)
echo "Usage: /etc/init.d/listen-for-shutdown.sh {start|stop}"
exit 1
;;
esac
exit 0
Una vez guardado moveremos el archivo a la carpeta /etc/init.d/
sudo mv listen-for-shutdown.sh /etc/init.d/
Y le concederemos privilegios de ejecución:
sudo chmod +x /etc/init.d/listen-for-shutdown.sh
Ahora registramos la secuencia de comandos para ejecutar en el arranque y le pasaremos el parámetros de arranque con los dos siguientes comandos.
sudo update-rc.d listen-for-shutdown.sh defaults
sudo /etc/init.d/listen-for-shutdown.sh start
En mi caso tenia instalado Ubuntu Server como sistema operativo. Y es posible que al ejecutar el script te aparezcan uno o varios mensajes de error. Si es asi te dejo los articulos que publique para solucionarlos, y que vuestro botón de apagado funcione correctamente.
Mensaje de error /usr/bin/env: ‘python’: No such file or directory
Mensaje de error import RPi.GPIO as GPIO ModuleNotFoundError: No module named 'RPi'
Mensaje de error import RPi.GPIO as GPIO ModuleNotFoundError: No module named 'RPi'
Continuando con la configuración para que funcione un botón de apagado para la Raspberry Pi2 conectado al al GPIO.
Al lanzar el ejecutable escrito en Python 3 se detiene en la linea en la que importa la RPi de la GPIO, el módulo no ha sido instalado.
import RPi.GPIO as GPIO ModuleNotFoundError: No module named 'RPi'
Para solucionarlo hay que instalar, o reinstalar el módulo python3-rpi.gpio
sudo apt-get -y install python3-rpi.gpio
Mensaje de error /usr/bin/env: ‘python’: No such file or directory
Al intentar implementar un botón de apagado para la Raspberry Pi2 en el que tengo instalado Ubuntu Server, al lanzar el servicio de un ejecutable escrito para Python 3, me encontré con el siguiente error.
/usr/bin/env: ‘python’: No such file or directory
La solución encontrada ha sido realizando la instalación del paquete python-is-python3
sudo apt-get install python-is-python3
Mensaje de error sudo: unable to resolve host ubuntu: Name or service not known
En mi caso me ocurrió en una Raspberry en la que había instalado Ubuntu Server. Pero puede que les ocurra al invocar el comando sudo. No es problematico, por que el comando era ejecutado con privilegios de administrador, pero es molesto que cada vez realices una tarea, salga un mensaje de error
sudo: unable to resolve host ubuntu: Name or service not known
Para resolverlo basta con cerciorarse el nombre que le hemos dado a la máquina
hostname
Y añadir una línea que falta en el archivo /etc/hosts
sudo nano /etc/hosts
Justo debajo de 127.0.0.1 localhost añadiremos una nueva línea similar a la anterior pero con el nombre de nuestro hosts
127.0.0.1 nombre_del_hosts