General
Automodelismo Cuenca 2018
Resultados de la 4a válida – 2018-11-18
Novatos
Intermedios
Expertos
Final de la Copa LRP en Cuenca
Les dejo unos videos de las mangas finales, de la Copa LRP en Cuenca, Ecuador
Novatos
Intermedios
Expertos
Cómo convertir (miles de) archivos pdf a escala de gris, con un solo comando
Existen ocasiones en las que debemos automatizar tareas en nuestras labores diarias, y me ocurrió que debía convertir cerca de 4000 archivos PDF de color a escala de gris.
Utilizando bash (bajo linux, o utilizando la interfaz de Linux que provee Windows 10), podemos crear un par de scripts que nos ayuden a automatizar esta tarea.
Primero debemos crear en la carpeta donde tengamos almacenados los PDFs, un archivo que se va a llamar “conviertegris.sh” que contendrá el siguiente código:
#!/bin/bash gs -sOutputFile=pdfgris.pdf -sDEVICE=pdfwrite -sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray -dCompatibiltyLevel=1.4 -dNOPAUSE -dBATCH $@
y luego le daremos permisos de ejecución mediante el siguiente comando en la consola
chmod +x conviertegris.sh
Si tuvieramos un solo archivo PDF que quisieramos convertirlo a escala de gris. podríamos utilizar el script de la siguiente manera:
./conviertegris.sh miPDFaColor.pdf
y esto nos generará un nuevo archivo pdf llamado pdfgris.pdf que contendrá la versión en gris de nuestro archivo original.
Ahora, para automatizar este proceso para todos nuestros PDFs, vamos a crear otro script que se va a llamar “conviertelote.sh”, que contendrá el siguiente código:
#!/bin/bash find ./ -name "*.pdf" | sed 's|./||' > listapdf.txt mkdir pdfgris for file in $( < list .txt); do ./conviertegris.sh "$file"; mv pdfgris.pdf ./pdfgris/"$file"; done rm listapdf.txt
Al ejecutar este script mediante el comando bash conviertelote.sh, empezaremos a ver que el proceso arranca y dentro de la carpeta pdfgris empezaremos a ver nuestros archivos convertidos.
Con esto, y luego de un par de horas, habremos terminado la tarea, sin tener que pasar por el suplicio de abrir cada archivo en un editor de PDFs y guardarlos en escala de gris, ahorrándonos muchisimo tiempo y trabajo.
Manual de Introducción a Python
Como parte del taller de Python que dicté en la Universidad Politécnica Salesiana, desarrollé un pequeño manual de Introducción a Python, para se aplicado sobre la Raspberry Pi.
El manual pueden descargarlo en este enlace
Curso Raspberry Pi
El material para el curso de programación en Python sobre la Raspberry Pi, lo pueden encontrar en esta carpeta
https://drive.google.com/folderview?id=0B2VwBPSdMFmyeDJKeVJXQU96SjQ&usp=sharing
Descarga música grátis, sin morir en el intento
Antes de continuar, quiero dejar muy claro, que no me hago responsable por el uso (o mal uso) del código presentado en este post. Todo ésto fue desarrollado con un fin puramente académico, sin fines de lucro. Siéntanse libres de usar el código, pero no me responsabilizo de cualquier implicación legal que su uso pudiera acarrear.
Descargár música sin tener el derecho sobre la misma es ilegal!! Nunca olviden eso.
Ahora si, sabiendo a lo que vamos, para una de mis asignaturas del master, una de las tareas era explotar un API de algún sitio web (facebook, twitter, linkedin, etc), para extraer información, analizarla y obtener beneficios de la misma: Por ejemplo, y a breves rasgos, pude realizar un análisis del sentimiento de los tweets generados en determinado momento, en paises donde se habla español, que pueden visualizarlo en este enlace.
Para ir un poco más allá, se me ocurrió la idea de extraer el API de un sitio que no tenga una interfaz de programación documentada. El objetivo: El sitio de música http://music.163.com
Este sitio (chino) no tiene un API documentada, pero mediante el uso de algunas herramientas web, como FireBug, pudimos obtener las llamadas que se realizan para obtener datos de artistas, discos y canciones.
Este script está escrito en Python 2.7, y para ejecutarlo basta con descargar el archivo desde este enlace, descomprimirlo, y ejecutar desde la línea de comandos lo siguiente:
python musica.py
El menú presentará 3 opciones de búsqueda: por autor, por disco o por canción. Bastará con escoger el tipo de búsqueda, seleccionar el item de las posibles opciones encontradas, y descargar el item escogido.
Espero les sea de utilidad 😀 y recuerden! No descarguen música ilegal!
Para más información, pueden ingresar a mi repositorio en GitHub
ESP8266 + Stellaris Launchpad = IoT
Dado que para una de mis asignaturas del master realicé una presentación sobre el Hardware que se utiliza en el prototipado de dispositivos para el Internet de las Cosas (IoT), decidí hacer una demostración con hardware real, y mostrar una aplicación práctica con hardware real; así que nada mejor que un ejemplo de hardware, que controlar un led multicolor y leer un sensor de temperatura, desde un navegador web.
Debido a que estoy algo lejos de mi casa, y no tengo todo el equipo necesario para cualquier trabajo electrónico, tuve que limitar un poco la aplicación práctica, así que buscando el hardware que tenía a la mano, obtuve lo siguiente:
- ESP8266 para la conectividad WiFi
- Stellaris Launchpad para usar su LED multicolor y su sensor de temperatura
Nunca había usado el módulo ESP8266 (tenía un par guardado desde hace algunos meses acá) y ‘esta era la oportunidad perfecta para probarlo, además, hace pocas semanas se hizo el anuncio de que la versión 1.6.2 del IDE de Arduino podía compilar y grabar código en el ESP8266 así que era la oportunidad perfecta para probarlo!
El módulo ESP8266 puede ser programado usando un convertidor USB-RS232 que funcione a 3.3v, y aquí es donde surgió el primer problema: comprar un convertidor de ese tipo demoraría cerca de 1 mes, así que no era una opción viable. Resulta que probé haciendo un puente serial usando un arduino, pero funcionaba a medias. Tenía conexión de comandos AT con el ESP8266, pero no lo podía flashear….. había que buscar otra opción.
En ese momento recordé un detalle. El Stellaris Launchpad, en realidad tiene 2 chips. El uno funciona como debugger/interfaz serial, y el otro es el microcontrolador programable, que puede ser desconectado mediante un jumper en la tarjeta; además, tiene los pines Rx y Tx del convertidor desconectados, así que si conectaba ahí el ESP8266 podía ser flasheado. En resumen, se puede usar un launchpad como interfaz serial para programar el ESP8266!
Solventado el problema de la programación del chip, a echarle mano al código! Dentro del IDE de Arduino, existen algunos ejemplos de uso del ESP8266, que según se comenta en los foros, se programa igual que el Shield WiFi oficial de Arduino. Dadas las limitaciones de la red WiFi de la Universidad, y para el ejemplo, el módulo será configurado de la siguiente manera:
• Access Point WiFi
• Red abierta (sin contrasena WEP o WPA)
• Conexión RS232 con el Stellaris Launchpad
• Configurado como servidor web
• 5 comandos disponibles via URL (/led/rojo[verde, azul, off], /status)
Cada vez que el ESP8266 reciba una petición del navegador, analizará la url, y enviará un comando via puerto serie al Launchpad, para ejecutar a accion seleccionada.
En el Launchpad, el código es mucho mas simple. Se va a utilizar uno de los puertos UART para recibir comandos desde el ESP8266, y encender el led seleccionado, o apagarlos todos. Además, al recibir el comando equivalente a /status desde el ESP8266, enviará el dato de la temperatura del Launchpad, obtenida desde su sensor interno de temperatura. Cabe recalcar que el Launchpad, fué programado usando el IDE Energía, así que la compatibilidad de código con una tarjeta Arduino está garantizada.
El resultado? Un led wifi, con sensor de temperatura integrado. Basta con encender el circuito (mediante una batería de móvil, o un cargador de pared), conectarse a la red ESP8266 (que la genera el módulo WiFi), y abrir la url http://192.168.4.1/status para verificar la conecitividad con el módulo.
Una vez que hemos comprobado la conectividad basta con probar con los comandos para ver como responde. por ejm, si abrimos la url http://192.168.4.1/led/azul, se encenderá el led azul del Stellaris
Realmente el ESP8266 tiene mucho futuro en proyectos donde se requiera conexión WiFi a cualquier dispositivo electrónico. Además su bajo precio (menos de $5 si se lo compra en ebay) lo convierte en una muy buena opción para este tipo de proyectos.
El código fuente para el Stellaris, y el ESP8266, puede ser descargado en mi repositorio de GitHub: https://github.com/patolin/esp8266-stellaris-launchpad
Mascletá Valenciana
Según wikipedia, una mascletá (pronunciado en valenciano /maskle’ta/ y, por ello, escrito de manera popular mascletà y normativamente mascletada) es un disparo pirotécnico que conforma una composición muy ruidosa y rítmica que se dispara con motivos festivos en plazas y calles, normalmente durante el día; es típica de la Comunidad Valenciana (España). Recibe su denominación de los masclets (petardos de una gran potencia sonora) ligados mediante una mecha conformando una línea o traca. Éstas suelen sujetarse a mediana altura colgadas con cuerdas o alzados mediante cañones.
Al contrario que los fuegos artificiales que buscan la estimulación visual, las mascletades (pronunciado en valenciano /maskle’taes/ y, por ello, escrito de manera popular mascletaes) tienen como objetivo estimular el cuerpo a través de los fuertes ruidos rítmicos de los masclets; algunos consideran estos ruidos “musicales”, si bien no olvidan la parte visual. Lo que distingue una mascletá de una sucesión de explosiones es el ritmo que deben crear los masclets al explosionar, es fundamental que la fuerza de las explosiones vaya de menos a más, con final apoteósico, sin ello una mascletá no puede considerarse como tal.
Les dejo el video de la mascletá del 10 de marzo, donde tuve la suerte de estar casi en primera fila. Conecten sus audífonos, suban el audio a tope, y disfruten de las explosiones 😀
[HTML1]