miércoles, 21 de diciembre de 2022

Cmd2PC (envía comandos desde Android a la PC)


En esta ocasión traigo este interesante proyecto; se trata de una aplicación para Android hecha en Mit App Inventor que permite ejecutar determinados comandos en la PC.

A través de bluetooth la aplicación envía caracteres que serán recibidos por un Pro Micro con un módulo HC-06 conectado a él.

Pro Micro es una pequeña y completa placa basada en el ATmega32U4, el mismo microcontrolador del Arduino Leonardo.

El microcontrolador entonces interpretará estos caracteres y ejecutará los comandos asociados en la PC. Como se puede observar en el video son comandos correspondientes al sistema operativo Gnu-Linux pero el código es fácilmente adaptable para cualquier otro. Como comenté en esta entrada: “Una de las funcionalidades más interesantes de este microcontrolador es la de poder funcionar como un HID (Human Interface Device), pudiendo emular un teclado o mouse.”

Utilizaremos la librería SoftwareSerial.h para realizar la conexión con el módulo HC-06 y la librería Keyboard.h para emular el teclado.

Para este proyecto elegí los siguientes comandos que el Pro Micro escribirá en la pc:

  • systemctl poweroff (apaga la pc)
  • systemctl reboot (reinicia el sistema)
  • systemctl suspend (pone la pc en estado de suspensión)
  • loginctl lock-session (bloquea el sistema)
  • loginctl unlock-session (desbloquea el sistema)

El Pro Micro envía primero la instrucción ALT+F2 para poder luego ingresar cualquiera de los comandos arriba enumerados.

La conexión del módulo bluetooth hc-06 es muy sencilla:

HC-06 Pro Micro
VCC 5v
GND GND
TX D8
RX D9

La aplicación para Android también es muy sencilla, debajo dejaré los links a la galería de Mit App Inventor para que puedan hacer copia de la App, igualmente en el repositorio de GitHub dejaré también una captura de pantalla de la configuración de los bloques.

El funcionamiento de la app es muy sencilla cada botón tiene asignada una acción que es la de enviar un caracter “L-U-S-P-R” (bloquear, desbloquear, suspender, apagar y reniciar correspondientemente) vía bluetooth al Pro Micro.

Links:

GitHub: https://github.com/mcattani/cmd2pc

Mit App Inventor: https://gallery.appinventor.mit.edu/?galleryid=e26f7e65-c1a8-4855-8d1e-1716ecdd34e2

Espero les haya interesado. Como siempre si este post les resultó de interés no duden en compartirlo en sus redes y comentar!

Saludos.