¿Utiliza la Raspberry Pi para un proyecto sin cabeza, como un reproductor multimedia, un servidor NAS, una caja de semillas o una cámara de seguridad? Si lo haces, entonces tu Raspberry Pi probablemente esté escondida en un lugar que no sea tan fácil de acceder.

Siempre puede iniciar sesión en él de forma remota, pero ¿cómo lo supervisa en tiempo real? ¿Cómo sabes si se está sobrecalentando? ¿O se está quedando sin espacio en disco? En este proyecto, jugaremos a Dios y haremos que su Raspberry Pi sea consciente de sí misma, y ​​le daremos la capacidad de comunicarse..

En términos más terrenales, instalaremos la herramienta sendxmpp en la Raspberry Pi, que le permite comunicarse a través del popular protocolo de mensajería XMPP. Usaremos esto para enviarnos notificaciones a través de mensajes instantáneos siempre que se active un evento predeterminado.

En primer lugar, deberá obtener una cuenta de XMPP IM para la Raspberry Pi. Si aún no está utilizando un servidor XMPP, puede registrarse en cualquiera de los servidores XMPP que se enumeran públicamente. Estamos usando el servicio Hot Chilli, que obtiene una calificación de seguridad de primer nivel de xmpp.net y le permite registrar una cuenta en el propio sitio web..

Una vez que haya registrado una cuenta para su Raspberry Pi, asegúrese de agregarla como amigo en su cuenta regular, en la que desea recibir notificaciones. Ahora inicie sesión en la Raspberry Pi, actualice los repositorios y luego descargue la herramienta sendxmpp con sudo apt-get install sendxmpp.

Es un script de Perl y extraerá las dependencias de Perl requeridas. Cuando esté instalado, cree un archivo llamado .sendxmpprc en su directorio de inicio con las credenciales de la cuenta XMPP de Raspberry Pi, como:

$ nano /.sendxmpprc

[email protected] my-secret-password

Recuerde reemplazar el nombre de usuario y la contraseña con las credenciales de la cuenta que registró para la Raspberry Pi. Después de guardar el archivo, puede enviar un mensaje con:

$ echo "Hola, este es Pi!" | sendxmpp -t [email protected]

El comando anterior envía un mensaje desde la Raspberry Pi al ID de XMPP especificado con la opción -t. Intercambie la ID en el ejemplo anterior con su propia ID de XMPP. Si ha iniciado sesión en su cuenta de mensajería instantánea normal, recibirá el saludo como un mensaje regular de la cuenta XMPP de Raspberry Pi..

También puede pasar la salida de los comandos Bash, como:

$ echo "Es" $ (fecha) | sendxmpp -t [email protected]

Este comando envía la salida del comando de fecha. Aquí hay otro ejemplo que es un poco más útil:

$ echo $ (/ opt / vc / bin / vcgencmd measure_temp) | sendxmpp -t

[email protected]

Este comando consulta los sensores de temperatura en la Raspberry Pi usando las utilidades instaladas por el paquete raspberrypi-firmwaretools, que luego enviamos a nuestro usuario habitual de mensajería instantánea.

Puede usar esta declaración para monitorear la Raspberry Pi y enviarle una alerta por IM cuando la temperatura supere un umbral preestablecido. Copie el contenido del archivo llamado status.sh (haga clic en el enlace para ver el código). A continuación, establezca un Crontab entrada por correr crontab -e y entrando en la siguiente línea:

* / 5 * * * * /status.sh

Aquí le pedimos a la Raspberry Pi que ejecute el script status.sh cada cinco minutos. Recuerde cambiar la ubicación del archivo status.sh a la ubicación en su Raspberry Pi.

Entonces, ¿qué hay en el script status.sh? La secuencia de comandos almacena la temperatura de la Raspberry Pi en una variable llamada 'temp' después de eliminar el texto detallado y el decimal, porque Bash solo puede manejar números enteros.

El script luego verifica si el valor es mayor a 40 ° C, y si lo es, nos alerta con un mensaje. Puede extender este script para realizar un seguimiento de los sucesos en la Raspberry Pi. por ejemplo, puede pedirle que le envíe alertas siempre que encuentre un mensaje en particular en un archivo de registro, o cuando cambie el estado de un demonio.

La secuencia de comandos sendxmpp lo ayuda a realizar un seguimiento de las actividades en la Raspberry Pi; sin embargo, no puede actuar sobre ellas sin iniciar sesión en la Raspberry Pi. Pero que si esto no es posible?

¿Qué sucede si recibe una advertencia de temperatura de la Raspberry Pi que supervisa su hogar mientras está fuera del trabajo? ¿No sería genial si pudieras controlar la Raspberry Pi también a través de mensajes??