Mostrando entradas con la etiqueta arduino. Mostrar todas las entradas
Mostrando entradas con la etiqueta arduino. Mostrar todas las entradas

sábado, agosto 09, 2025

Un robot (LLM) que crea el cerebro de un robot (Drone) con Vibe Coding (o Spec Coding)

Hoy quería hablaros de un paper bastante curioso que habla un poco más de los miedos de la humanidad en la creación de Skynet, ya sabéis, la malvada Súper Inteligencia Artificial que controla los Terminators para acabar con la humanidad. En este caso, se trata de un trabajo de investigación que busca probar si un Modelo de IA puede crear todo el software de control  - y controlar - que necesita un drone, y el experimento ha funcionado.
El paper, que podéis leer aquí mismo, se llama "Robot builds a robot’s brain: AI generated drone command and control station hosted in the sky" y describe el proceso paso a paso para acabar haciendo la demostración completa del Drone volando.
El trabajo está especialmente hecho para los Makers, es decir, para los que disfrutan de construir cosas con Rapsberry Pi, con tecnología de Drones o Arduino, como explican en detalle, así que si eres de los que disfrutan de estas cosas, te recomiendo estos tres libros que son tres joyas sobre esto.

El proceso viene descrito desde el principio, construyendo dos piezas de software y hardware completas. El piloto, se conecta con el drone con un software que se llama GCS (Ground Command System), que está formado por una servicio web, para que sea fácil administrar el proceso. Después, el GCS se conectará vía alguna conectividad al drone, para transmitirle las órdenes, que para que esté preparado para su uso, va a estar construido como un Agentic AI.
La siguiente pieza de software que necesita el sistema es el software de control en el drone, lo que llama WebGCS on Drone, porque está construido con tecnología web e instalado directamente en el hardware del drone, en concreto en un hardware basado en Raspberry Pi, con un NVidia Jetson para poder mover el modelo LLM que va a dotar de las herramientas de IA para programar al drone "on-the-fly".
Visto las dos partes de la arquitectura, hay que definir el proceso para poder construir el software completo que va a controlar el drone. Es decir, construir el "Cerebro del Robot" (Drone). Para ello, haciendo Vibe Coding - o Spec Coding si quieres -, se le pide que construya el GGS, utilizando para ello el stack de software de desarrollo con GenAI que tenemos hoy en día, con Widsurf, Cursor o VS Code como IDE, con un LLM como Claude, ChatGPT  o Gemini, y usando como repositorio del proyecto GitHub, GitLab o en la propia máquina. Es decir, Vibe Coding - o Spec Coding -  a tope para construir todo el software.
Por otro lado, una vez construido el software - las dos piezas - hace el despliegue del software en un Cloud Provider para el WebGCS que maneja el piloto del drone, y en el propio hardware del drone (Raspberry Pi) para el WebGCS on drone. En la siguiente imagen se se ve la arquitectura de módulos que se construyeron para poder tener un sistema de control con telemetría completa del drone.
Con todo este trabajo, lo que tenemos es que todo el software ha sido construido con GenAI, partiendo de prompting. Además, el parcheo de los programa se hace aprovechando la arquitectura con modelos de LLM que permite reprogramar automáticamente cuando aparece un fallo, enviándole el mensaje de error y pidiéndole que se parchee. Es decir, sin programación alguna hecha por un programador. El resultado, un stack tecnológico completo para este entorno.
Y todo esto funcionando en real, con el hardware construido para probar el funcionamiento, el parcheo automático, y su funcionamiento. Lo que hace que para los makers, las creación de los drones sea aún mucho más divertido.
El siguiente esquema resume el trabajo experimentado en esta prueba, con las piezas de software construidas para casa parte, y su despliegue en diferentes lugares, pero en este caso utilizando un Virtual Drone en AWS corriendo sobre una máquina virtual de GNU/Linux, lo que permitiría desplegarlo en múltiples instancias de drones que soporten la VM.
Al final, el proceso es un ejercicio de Coding con GenAI para crear el software de control de drones, pero con muy poco "Human Prompting" y mucho automático para construir las funciones, para parchear, para evolucionar, y corregir errores.
La pregunta es, si en un mundo de Agentic AI, pueden ellos crear la programación automáticamente para cualquier Drone, para cualquier hardware controlado por Raspberry PiArduino, o cualquier otra máquina. ¿El alzamiento de los robots.... con GenAI?

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, octubre 10, 2021

Hackerspaces, Hacklabs o Makerspaces: Lugares ser un Maker que aprende haciendo

Hoy vamos a hablar de los Hackerspaces o Hacklabs, que son lugares de reunión disponibles por todo el mundo para Hackers & Makers y que si desconocías su existencia, sin duda, lograrán llamar tu atención en el futuro. Porque un Hacklab o Hackerspace es un lugar en el que prima el aprendizaje cooperativo, un espacio en el que poder desarrollar tus proyectos personales y en el que puedes dar o recibir la ayuda de otras personas que como tú están ahí realizando sus propios proyectos. 

Figura 1: Hackerspaces, Hacklabs o Makerspaces.
Lugares ser un Maker que aprende haciendo 

Estos lugares están pensados para poder desarrollar todo tipo de proyectos enfocados a la tecnología, desde programación o electrónica hasta diseño mecánico o fabricación por aditivos. Es un lugar en el que el desarrollo de los proyectos se puede llevar a todos los niveles.

Figura 2: Hack Manhattan, uno de los Hackerspaces más conocidos.

También ofrece la posibilidad a sus participantes de organizar talleres, cursos o charlas abiertas de diferentes materias como la Impresión 3D, Arduino, Drones, FPGAs, Raspberry Pi, Pi ZeroIoT, soldadura, electrónica, Micro:bit, Rubber Ducky, u otros temas que resulten interesantes a la comunidad Maker. En definitiva, es el lugar ideal para adquirir y compartir conocimientos con tus compañeros en todo tipo de materias. A su vez da la posibilidad de trabajar o llevar a cabo proyectos grupales ya que hay expertos en todo tipo de materias, por ejemplo, puede haber un experto en software, otro en robótica y otro en diseño e Impresión 3D, utilizando el conocimiento de los tres es posible desarrollar proyectos cuanto menos interesantes.

Figura 3: Libros para Makers en 0xWord que deberías tener:

Otra de las ventajas que ofrece disponer de un espacio así es que ofrece la posibilidad de investigar y cultivar campos que quizás desconocías y que han resultado ser de tu interés. Además, podrás aplicarlos directamente y poner a prueba todo lo aprendido con tus compañeros. Los Hacklabs o Hackerspaces sirven también para desarrollar relaciones con personas de tu zona que no conocías y comparten la misma pasión por la investigación que tú pudiendo llegar a forjar nuevas amistades.

Figura 4: Hackerspace con algunos de sus participantes trabajando en distintos proyectos.

Para entender un poco mas cómo funcionan los Hackerspaces primero debemos conocer su historia. En el año 1998 tras el primer Hackit Hackmeeting realizado en Italia surgió la idea de construir un espacio (equipado con todo lo necesario) dedicado a la tecnología y el aprendizaje accesible a todo el mundo y en el que fuese posible desarrollar todo tipo de proyectos tecnológicos. Esta idea se puso a prueba y se obtuvieron muy buenos resultados por lo que poco a poco este interesante concepto se fue extendiendo por todo el mundo hasta día de hoy que podemos encontrar cerca de 2000 hackerspaces activos a lo largo del mundo.

Figura 5: Hackerspace situado en la zona sur de Londres: South London Makerspace.

En lo que a nivel nacional se refiere en España contamos con 22 de estos espacios dedicados a la investigación. El primero de ellos surgió en Barcelona en el año 2000 y recibió el nombre de Kernel Panic hace 21 años. Kernel Panic fue uno de los pioneros no solo de nuestro país, sino del mundo, no fue hasta 2006 cuando se celebraron en Madrid las jornadas Interhacklabs cuando se tomó la iniciativa de extender este interesante concepto por toda España. Las jornadas Interhacklabs realizaron el mismo papel que el Hacking Hackmeeting en Italia y actuaron como catalizador para el surgimiento de nuevos hacklabs también en varios países de Latinoamérica.
 

En cuanto a “modelo de negocio” los hackerspaces funcionan a través de un programa de suscripciones. A pesar de que sean lugares que promueven el uso de las tecnologías libres para que sean viables hay que cubrir ciertos gastos como el mantenimiento del local y las distintas máquinas que hay en él. De todas formas, el precio de las suscripciones no es nada elevado, dependiendo del país o ciudad los precios oscilan entre los 25 € mensuales en España hasta los 100 USD en el centro de Manhattan.

Figura 7: Membresía del Hackspace de Manhattan

También se ofrecen tarifas reducidas si eres estudiante, desempleado o jubilado. En el caso de España la cuota bajaría a unos 10 € mensuales y en el de Manhattan a 50 dólares. Aunque la diferencia de precio a simple vista pueda parecer abismal es importante tener en cuenta que este depende de diversos factores como la localización del local o el valor de la divisa de cada país. Independientemente estos precios están ajustados para ser accesibles a todo el mundo.

Be a Maker      

Si te han llamado la atención estos lugares y estás interesado en encontrar uno en tu zona desde esta wiki puedes comprobar si hay alguno cercano a donde vives. Desde ella también podrás acceder a la pagina web de cada Hackerspace para ver fotos, la localización exacta o informarte de horarios, que servicios ofrecen y de que herramientas disponen en cada uno de ellos. También tendrás acceso a sus perfiles en las redes sociales para no perderte ninguna novedad y la posibilidad de adquirir tu suscripción si finalmente decides unirte a esta interesante iniciativa.

Saludos,
 
Autor: Sergio Sancho, Security Researcher en Ideas Locas.

miércoles, julio 28, 2021

Bad Ducky: Un ejercicio de Hardware Hacking para Makers con Arduino, Metasploit y Kali Linux

En el artículo de hoy, vamos a realizar un ejercicio de hardware hacking para los Makers de este blog, en el que utilizaremos un clon de un Arduino Leonardo para automatizar la ejecución de acciones en un teclado (virtual), en un sistema, a través de una conexión USB. Para ello realizaremos un Ducky Script que cargará el microcontrolador desde una memoria.

Figura 1: Bad Ducky: Un ejercicio de Hardware Hacking para Makers con Arduino,

Tras la ejecución de las instrucciones, el sistema se verá comprometido ya que un atacante, con una distribución con Kali Linux en este caso, obtendrá una shell con privilegios de administradorPara realizar este ejercicio se ha requerido el uso del siguiente hardware. Prerrequisito: El layout del teclado se ha seleccionado en idioma inglés.

Figura 2: Hardware necesario

Para ello vamos a utilizar el firmware Bad Ducky. Con Arduino IDE abrimos el archivo bad_ducky.ino descargado del siguiente repositorio bad_ducky. Si quieres sacarle partido al Arduino IDE, la recomendación es que te estudies de principio a fin el libro de Arduino para Hackers & Makers: PocS & Hacks Just for Fun de Alvaro Nuñez-Romero y Alexandra Sánchez.

Figura 3: IDE Arduino – bad_ducky.ino

En este momento se conecta el dispositivo CJMCU en una ranura USB para proceder a su configuración. Para ello se seleccionan las siguientes opciones:
  • Herramientas/Placa: Arduino Leonardo
  • Herramientas/Puerto: COM3 (Arduino Leonardo)
Figura 4: Configuración de Placa y Puerto con el dispositivo conectado

Después de que se hayan realizado las configuraciones anteriores, vamos a verificar el código del fichero bad_ducky seleccionando el “check” que aparece en el IDE de Arduino en la parte superior izquierda y después seleccionamos la flecha, situada a la derecha de la opción verificar, para subir el código a la placa.

Figura 5: Verificamos y subimos el código a la placa

Una vez se haya subido el código se indicará en el log del IDE el resultado de la subida, después vamos a conectar la tarjeta microSD con el adaptador al ordenador y aplicamos el formato FAT32 a la tarjeta. Ahora, situamos el payload escrito en Ducky Script en un fichero .txt llamado payload.txt en la memoria.

Payload:

El propósito principal de este payload consiste en ofrecer una sesión Meterpreter de Metasploit con privilegios de administrador a un atacante. Y está estructurado en tres partes que vamos a ver una a una para entender mejor cómo planemos tomar control todal de la máquina.

Figura 6: Metasploit para Pentesters Gold Edition
de Pablo González en 0xWord

En la primera se desactiva Windows Defender abriendo el menú de Windows, escribiendo “Defender”, introduciéndose en la aplicación de Windows Defender y deshabilitando la monitorización en tiempo real. Cuando salta la alerta de UAC, se realiza el bypass emulando el comportamiento de un usuario seleccionando la opción “Yes”. Este proceso de desactivación del AV se podría haber realizado a través de una Powershell con el comando:
  • Set-MpPreference -DisableRealTimeMonitoring $true
Pero para ello se requeriría modificar la clave del registro del Tamper Protection pero con propósito de que la demostración sea más visual, lo haremos simulando a un usuario que hace clic en YES.

En la segunda parte, abriremos una consola de Powershell con privilegios de administrador de la misma forma que hemos accedido a la aplicación Windows Defender. Para ello, a través del dispositivo, se ejecutarán las instrucciones que pulsan, virtualmente, las teclas CONTROL ESCAPE y que abrirán el menú de Windows. Se introduce “powershell” vía teclado (virtual), se selecciona la opción “Run as an Administrator” y se selecciona la opción “Yes” cuando aparezca el UAC.

Figura 7: Ducky Script Payload

Una vez obtenemos la consola comienza la tercera parte en la que se realiza una petición a un servidor del atacante que descargará un payload y lo alojará en C:\rev.exe. Después, se ejecutará dicho payload, y este proceso iniciará una shell inversa con la máquina atacante. La máquina atacante, en este caso es una distribución Kali Linux que ha sido emulada con VirtualBox teniendo como dirección IP: 192.168.1.40

Preparando el ataque:

La conexión entre la máquina víctima y la atacante será realizada por un ejecutable que se descargará y ejecutará el Ducky Script a través de una Powershell. El ejecutable ha sido generado previamente por el atacante con msfvenom:

Figura 8: Generación del payload con msfvenom.

El payload elegido es una shell de Meterpreter para Windows x86 que realizará una conexión desde la máquina víctima a un handler situado en 192.168.1.40:4444. Para servir el payload se ha levantado un servidor con el módulo de python3 http.server en 192.168.1.40:8000

Figura 9: Servidor levantado en el puerto 8000 en la máquina atacante

Después de levantar el servidor se pone a la escucha el handler utilizando Metasploit configurado con el payload generado con msfvenom anteriormente y con los mismos parámetros LHOST y LPORT:

Figura 10: Handler a la escucha en la máquina atacante

Configuración de la placa:

Una vez tenemos el payload dentro de la memoria, insertamos la memoria en el dispositivo CJMCU y vamos a hacer algo de la parte más Maker. Para configurar la placa debemos regresar al IDE de Arduino y seleccionar Herramientas/Monitor Serial

Figura 11: Libros para Makers en 0xWord que deberías tener:

Una vez se haya abierto el monitor serial se han de seleccionar las siguientes opciones de configuración:
  • Modo seleccionado: a (Auto-disarm, este modo ejecutará una vez el payload y luego el dispositivo se podrá volver a configurar.)
  • Lenguaje: Por defecto
  • Payload seleccionado: payload.txt
Figura 12: Configuración del dispositivo CMJCU

Y ahora toca probar enuesto Bad Ducky, así que para verlo funcionando os hemos preparado este pequeño vídeo que explica bien el proceso completo que sigue nuestra PoC para conseguir nuestro objetivo, aquí lo tienes.

Figura 13: Bad Ducky DEMO

El resultado ha sido el esperado, tal y como se aprecia en la demostración podemos ver como se desactiva el antivirus, se lanza una powershell con privilegios de administrador y se descarga el payload para luego ejecutarlo. Una vez ejecutado obtenemos la sesión en Meterpreter de Metasploit.

Figura 14: Resultados después de la postexplotación.

¡Un saludo hackers!

Autor: Luis Eduardo Álvarez, Security Researcher & Software Developer

sábado, abril 24, 2021

Cómo configurar un módulo GPS en Raspberry Pi Zero en tus proyectos de Maker

Hace unos días publiqué por aquí, en El lado del mal, un articulo sobre cómo modificar y configurar una Raspberry Pi Zero cómo una cámara de salpicadero para nuestro coche o como cámara de vigilancia, las llamadas Dashcams. Para el artículo de hoy os dejo otro sencillo y entretenido proyecto de Maker, cuyo objetivo es ver cómo implementar un módulo GPS en una Raspberry Pi Zero para tenerla localizada en cualquier momento, ya sea para mejorar nuestra Dashcam o para cualquier otra aplicación donde la ubicación del dispositivo tenga importancia, como por ejemplo colocar un localizador en nuestro coche.

Figura 1: Cómo configurar un módulo GPS en Raspberry Pi Zero
en tus proyectos de Maker

Por si quieres, antes de comenzar con este nuevo proyecto, os dejo aquí la lista de otros proyectos con Raspberry Pi y Raspberry Pi Zero que ya hemos ido publicando por aquí, y que son una buena fuente de entrenamiento para ver diferentes tipos de cosas que podemos construir.

- Raspberry Pi: Cómo construir un medidor ambiental
- Raspberry Pi: Dirtytooth para Raspberry Pi v2.0
- Raspberry Pi: Una VPN para navegar por redes WiFi con portales cautivos
- Raspberry Pi: Pi Guardian con Latch, Bots en Telegram y "ojos"
- Raspberry Pi: Latch My Car
- Rapsberry Pi: Tu servicio VPN con OpenVPN, Latch y Virus Total
- Raspberry Pi: Latch en OpenWRTPara el proyecto de hoy, si no estáis familiarizados con el uso de este tipo de módulos para Raspberry Pi no os preocupéis, son fáciles de configurar y su funcionamiento es bastante sencillo. El módulo GPS dispone de una antena que junto al receptor es capaz de triangular su posición de manera bastante precisa vía satélite, también disponen de una pequeña batería para asegurarnos de que la información se guarde en la memoria en caso de dejar de recibir corriente repentinamente y un diodo led que nos indicará si el módulo está funcionando correctamente (led encendido) o si está dando algún fallo (led parpadea).


Para configurar el módulo el primer paso será preparar nuestra Raspberry Pi, para ello es necesario activar el puerto serie desde la configuración. Utilizando el comando “sudo raspi-config” abriremos el menú de configuración y buscaremos el apartado “Interfacing Options” y dentro de él seleccionaremos la opción “Serial”. 

A continuación, se nos mostrarán dos mensajes, en el primero “Would you like a login shell to be accessible over serial?” seleccionaremos “NO” y en el segundo “Would you like the serial porthardware to be eneabled?” seleccionaremos “YES”. Después de esto nos preguntará que si queremos reiniciar la placa y también seleccionaremos la opción “NO” lo que nos llevará de vuelta al terminal.

Figura 3: Herramienta de configuración de Raspberry Pi

Una vez estemos en el terminal apagaremos nuestra Raspberry Pi con el comando “sudo shutdown -h now” y procederemos a conectar el módulo GPS a la placa. En este paso es de vital importancia asegurarnos de que conectamos el módulo a un pin de 3,3 voltios para asegurarnos de que nuestra placa no sufra daños, como en la imagen que se muestra a continuación.

Figura 4: Esquema de las conexiones del módulo GPS para Raspberry Pi

Cuando ya tengamos el módulo GPS conectado a la Raspberry Pi solo nos quedará comprobar que funcione correctamente, para ello la forma mas sencilla de hacerlo será a través del comando “sudo cat/dev/serial0”. Esto hará que se muestren en pantalla varias líneas de código (que comenzarán por $GP…) lo que significa que existe comunicación a través del puerto serie.

Para salir de esta pantalla solo hay que pulsar “CTRL+Z”. La comunicación a través del puerto serie puede verse entorpecida por el servicio “getty”, por lo tanto, si lo desactivamos nos aseguraremos de que todo funcione correctamente, para ello solo tendremos que usar los siguientes comandos: “sudo systemctl stop serial-getty@ttyS0.service” y “sudo systemctl disable serial-getty@ttyS0.service”.

Figura 6: Ejemplo de comunicación con módulo GPS

Con el módulo GPS ya integrado y funcionando solo nos queda instalar algunos módulos para poder interpretar y trabajar con la información recogida por la Raspberry Pi. Comenzaremos instalando los modulos python-serial y psutil utilizando los comandos:
  • sudo apt install python-serial
  • sudo pip install psutil
Otro de los módulos fundamentales será el de pynmea2 que es el que dará sentido a toda la información recogida por el GPS, para ello usaremos el comando:
  • sudo pip install pynmea2
Para terminar solo nos queda crear un script enfocado al uso que queramos darle a nuestra Raspberry Pi con GPS. Por ejemplo, como os comentamos hace unos días en el artículo de la Raspberry Pi Zero Dashcam, se podría añadir una función que nos indicase las coordenadas a tiempo real en nuestros videos o simplemente se podría utilizar como un localizador para nuestros vehículos en caso de robo, a nuestro drone o a cualquier otro proyecto de maker que hagas con tu Raspberry Pi.

Saludos,

Autor: Sergio Sancho, Security Researcher en Ideas Locas.

sábado, febrero 13, 2021

Proyectos educativos con Micro:bit para educar a futuros Makers: Control Remoto de Spotify

Hace unos meses os hablamos de la Raspberry Pi y Raspberry Pi Zero con un montón de proyectos que puedes ver en este artículo donde se explora su gran potencial a la hora de realizar varios proyectos educativos o simplemente utilizarla para desafía vuestra faceta Maker. De aquí, podéis seguir creciendo hasta llegar a hacer algo como hizo la gente de LemonCrest, que llegó a crear sus propias consolas de juegos.

Figura 1: Proyectos educativos con Micro:bit para
educar a futuros Makers: Control Remoto de Spotify

Si tienes la afición de hacer cosas, los libros de Arduino para Hackers: PoCs & Hacks Just for Fun, el de Raspberry Pi para Hackers y Makers: PoCs & Hacks Just for Fun y el de Hacking con Drones: Love is in the air, son los libros que debéis leer de nuestros compañeros.
Y para seguir con esta pasión, hoy damos comienzo a una serie de artículos en la que os hablaremos de proyectos similares pero esta vez tomando como plataforma una placa Micro:bit, de la que ya se ha hablado algo por este blog en estos artículos:


Si todavía no conoces Micro:bit, se trata de una iniciativa educativa de la BBC que pretende acercar la programación a la gente más joven a través de la programación de una pequeña placa (microordenador) muy similar a otras placas como la Raspberry Pi o Arduino.

Figura 3: Placa Micro:bit

Micro:bit es compatible con Python, Java y algunos lenguajes de bloques como Scratch, por lo tanto, ofrece numerosas posibilidades a la hora de programar y no es necesario contar con un software específico, o si prefieres no descargar ningún software puedes hacer tu código directamente desde MakeCode, el editor online de Micro:bit.

Controlar Spotify con Mibrobit

En este caso os explicaremos cómo construir un mando inalámbrico con el que controlar vuestra aplicación de Spotify en Windows. Para ello necesitaremos dos placas de Micro:bit, una de las placas estará conectada a nuestro ordenador todo el rato y actuara como proxy mientras que la otra será la que mande las órdenes a través de señales de radio. En este caso utilizaremos la propia página de Micro:bit para crear el código

Placa 1: Proxy

Nuestro proxy simplemente se encargará de recoger cualquier mensaje que la placa reciba por radio y se lo transferirá al puerto serie en el que esté conectado, eso sí, antes de nada, deberemos configurar un grupo de radio para que no haya interferencias con otras placas Micro:bit u otros dispositivos que utilicen este método de comunicación. 

Figura 4: Placa configuración como proxy

Para ello usaremos los siguientes comandos que se ven en la Figura 3: Al iniciar + radio establecer grupo + 55 (este es el canal que usaremos en este caso). También podemos añadir alguna animación con los leds de la placa para que nos indique cada vez que reciba una orden.

Placa 2: Control Remoto   

El primer paso será establecer el mismo grupo de radio que en la placa número 1, así podrán comunicarse entre ellas sin interferencias, hecho esto el siguiente paso es crear los “botones” que queramos en nuestro control remoto, para este ejemplo haremos los botones de pausa y reproducción que se activaran al pulsar cualquiera de los botones (A o B) de nuestra placa. Para hacer el experimento mas intuitivo utilizaremos los led de la placa para mostrar los iconos PLAY y PAUSE dependiendo el estado en el que se encuentre la aplicación.

Figura 5: Control Remoto

Para ello crearemos una variable llamada interruptor y una función llamada activar int con la que enviaremos la señal a nuestro receptor. Ahora que ya tenemos nuestras dos placas conectadas y emitiendo en la misma frecuencia solo nos queda hacer que nuestro ordenador interactúe con la placa receptora.

Comunicación con el ordenador

Para que nuestra Micro:bit conectada al puerto serie se comunique con el ordenador y a su vez con la aplicación de Spotify deberemos instalar Node y generar un proceso para que el ordenador lea la información del puerto serie correcto. Por suerte para nosotros existe una librería llamada node-serialport que nos facilitará mucho el trabajo.

Para empezar, tendremos que crear un nuevo directorio en el que guardar nuestro proyecto e instalar la librería. Después utilizando el editor que más nos guste tendremos que crear un archivo al que llamaremos microbit-spotify.js y en el que copiaremos el código que viene a continuación.
var SerialPort = require("serialport");
const Readline = SerialPort.parsers.Readline;

const SpotifyWebHelper = require('spotify-web-helper');
const spotify = SpotifyWebHelper({'port': 4381});

var port = new SerialPort('COM7', {
 baudRate: 115200,
 autoOpen: false
})
const parser = new Readline();
port.pipe(parser);

spotify.player.on('ready', () => {
    console.log("Spotify ready")
    port.open(() => {
        console.log("Port open");
        parser.on('data', (data) => {
            console.log('Received Data: ' + data.toString());
            processData(data);
        });
    })

    function processData(data) {
        if (data.indexOf('PLAY') == 0) {
            // Handle PLAY received
            spotify.player.pause(true);
        } else if (data.indexOf('PAUSE') == 0) {
            // Handle PAUSE received
            spotify.player.pause(false);
        }
    }
});
Ahora que ya hay comunicación entre el ordenador y la Micro:bit solo nos falta que la placa se conecte con la aplicación de Spotify. Existen numerosos paquetes de Node para interactuar con Spotify, en este caso usaremos el paquete Spotify-web-helper. Deberemos instalarlo en nuestro directorio e importarlo al comienzo del archivo creado en los pasos anteriores. Es importante tener en cuenta que el puerto que utiliza por defecto la librería es el 4370, así que deberemos de cambiarlo al puerto 4381 para que funcione correctamente. 


Figura 6: Control de Spotify con Micro:bit

En cuanto a el código del control remoto si la única función que queremos configurar es la de PLAY y PAUSE la forma más sencilla es hacerlo con un parámetro booleano. Al igual que hemos hecho los botones PLAY y PAUSE se podría configurar un botón de la placa para pasar de canción, o llevarlo donde quieras de complejo. En el vídeo se puede ver cómo se tiene el control completo de las playlists.

Autor: Sergio Sancho, Security Researcher en Ideas Locas.

martes, octubre 13, 2020

VBooks de 0xWord en un nueva plataforma y por tiempo ilimitado @0xWord @MyPublicInbox1

Hace unos años que decidimos sacar algunos libros de 0xWord en formato VídeoBook. Una forma diferente de aprender de una forma visual y auditiva, escuchando directamente al escritor de libro y pudiendo seguir las demostraciones, ejemplos y pruebas de concepto que se muestran los libros de la editorial en vídeo.

Figura 1: VBooks de 0xWord en un nueva plataforma y por tiempo ilimitado

Cuando nosotros pensamos en los libros, pensamos en que el lector pueda sentarse con su libro a replicar los conocimientos que allí se expresan con el fin de que éste pueda aprender y sacar el máximo provecho al conocimiento o conocimientos de los autores. Cuando se comenzó a publicar los VídeoBooks, el objetivo era idéntico. 

Figura 2: Los VBooks de 0xWord están llenos de explicaciones y demos.
Este es un ejemplo del VBook de Pentesting con Kali

Queríamos dar la posibilidad al lector de que mediante diferentes vídeos tenga la posibilidad de montar los escenarios, replicar las pruebas de concepto, asimilar los conceptos y conocimientos que se expresan en cada una de las partes que forman el VBOOK, con un formato audiovisual que simplifica el aprendizaje. 

VBooks de 0xWord por Tiempo Ilimitado en la nueva plataforma  

Y ahora la novedad, ya que este verano hemos estado trabajando en cambiar la plataforma que nos daba soporte a los VBOOKs y desde hace una semana 0xWord utiliza nueva plataforma donde puedes aprender con los VídeoBooks y donde el tiempo ya no tiene límite. El VideoBook estará disponible para ti sin límite de tiempo para que lo consumas a tu ritmo y cuando quieras. Y las veces que quieras.


Actualmente el catálogo de VídeoBooks en 0xWord asciende a cinco títulos, pero seguimos trabajando para ampliarlo en fechas cercanas, para que los que disfrutan más con este modelo de auto-aprendizaje puedan tener una mayor variedad. A continuación, detallamos:

- VBOOK Windows Server 2016: El MVP de Microsoft Ángel A. Nuñez explica toda la fortificación y características del sistema operativo Windows Server 2016. Con un enfoque práctico, puedes ir viendo los diferentes elementos de seguridad que te ayudarán a fortificar Windows Server 2016.
- VBOOK Ataques en redes de datos IPv4 e IPv6: Juan Luis Romero explica este VideoBook mostrando los diferentes ataques, tanto en IPv4 como en IPv6, en las diferentes capas de la pila TCP/IP. Un VídeoBook muy práctico que debe estar en tu colección para dominar las redes.

- VBOOK Ethical Hacking: Teoría y práctica para la realización de un pentesting en el que Pablo González explica su libro en formato VídeoBook. Totalmente práctico. Aprenderás y te divertirás con los conceptos expuestos en escenarios prácticos y reales. Tanto si das tus primeros pasos en el Ethical Hacking como si ya has recorrido parte del comino, este es tu VideoBook.

- VBOOK Arduino para Hackers: Hacks & PoCs Just for Fun: En este VBOOK Álvaro Nuñez-Romero te enseña qué es Arduino desde un enfoque práctico con proyectos reales. Si quieres conocer qué es el mundo Arduino y las diferentes partes que dotan a estos proyectos de miles de posibilidades este es tu VídeoBook. 

- VBOOK Pentesting con Kali Linux: En este caso Juan Luis Romero y Alejandro Amorín hacen de este VídeoBook un “must” en tu colección. Versión actualizada del libro de Pentesting con Kali Linux y que han expandido en este VídeoBook, dándote más de 70 vídeos dónde puedes aprender todo lo relacionado con el pentesting con Kali Linux y con los diferentes campos que te pueden interesar: pentesting web, de sistemas, WiFi, de redes, análisis forense. Un “must” para tu colección. 

Además, como has visto, la mayoría de los autores de los libros de 0xWord y todos los autores de los VBOOKs están en MyPublicInbox, con lo que puedes contactar con ellos si tienes cualquier duda o necesidad de explicación extra. Para que sea más fácil, en cada VBOOK llevas asociados Tempos gratuitos, además de que tienes la campaña de ESET activa con lo que puedes conseguir 100 Tempos gratis para utilizarlos.

Saludos Malignos!

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares