Voy a explicar como automatizar el proceso de hacer una captura de pantalla, subirla después a ImageShack y dejar la URL de la captura en nuestro portapapeles para enviársela a quien queramos, todo esto pulsando sólo un atajo de teclado.

Para quien no lo conozca, ImageShack ofrece alojamiento gratuito de imágenes para después enlazarlas desde una web, foro o decirle la URL a una persona.

Necesitamos dos paquetes:

Este script por sí solo ya es bastante más cómodo que subir las imágenes desde la interfaz web.

Otra alternativa a imageshack-upload es shackshag.

Una vez tengamos ambos programas, creamos un fichero con el siguiente contenido:

dcop klipper klipper setClipboardContents `scrot -d 3 -e 'imageshack-upload $f; rm $f' | tail -1`

y le damos permisos de ejecución.

Esto espera 3 segundos, hace la captura, la sube a imageshack, borra el fichero y copia la URL al portapapeles usando dcop.

Nota: En Gnome y otros escritorios para escribir en el portapapeles tenéis que usar xclip que copia lo que recibe por entrada estándar.

Ahora hay que asignarle un atajo de teclado:

En KDE nos vamos al Centro de control, Regional y accesibilidad, Introducir acciones y añadimos una nueva acción del tipo ‘Acceso rápido a teclado -> Orden/URL (simple)’, en la pestaña de Acceso rápido de teclado elegimos la combinación de teclas deseada y en la orden a ejecutar seleccionamos el fichero creado anteriormente.

Y ya está listo para funcionar.

Pulsamos el atajo de teclado, y en cuanto se suba la imagen tenemos la URL en el portapapeles:

http://img520.imageshack.us/img520/6237/200803261549591280x800sut5.png

Eso es todo, espero que os sea de utilidad…

Hoy os traigo una serie de herramientas de análisis y diagnóstico de hardware bajo Linux, que nos ayudaran a conocer mejor los componentes de nuestro equipo:

  • cat /proc/cpuinfo
    Se trata de un fichero que contiene información básica sobre el procesador: fabricante, modelo, velocidad, caché, stepping, flags y algunos datos más.

  • lspci
    Esta utilidad muestra información sobre todos los dispositivos conectados vía PCI. Para obtener una información más detallada podemos usar la opción verbose: lspci -vvv

  • lshw
    Lista detallada de todo el hardware de forma jerárquica. Podemos obtener la salida en formato HTML: lshw -html o usar la interfaz gráfica: lshw -X

  • hwinfo
    Hace consultas al hardware y aporta información sobre que drivers lo controlan. El informe que emite es bastante extenso.

  • x86info
    Informa de parámetros internos de la CPU: registros, flags, asociatividad de los niveles de caché. Usar: x86info -a para obtener toda la información.

  • Memtest86 Es un programa que permite testear la memoria en busca de errores, y que nos informa de los anchos de banda de la caché y de la memoria principal. Pero Memtest86 no funciona como aplicación, sino como un pequeño sistema operativo que hace sus pruebas sin que nadie lo moleste; Así que una vez instalado hay que reiniciar y elegirlo en el cargador de arranque.

Existen otras utilidades como: Hardinfo, que muestra información del sistema y realiza benchmarks; Discover para detectar recursos hardware; lm_sensors para leer sensores; hdparm para ver y cambiar parámetros del disco duro; o glxinfo/glxgears para comprobar la aceleración 3D.

Recordar que siempre puedes hacer un --help para ver como funciona cada herramienta y conseguir lo que realmente necesites.

La mayoría de estos programas deberían de estar en el repositorio de paquetes de tu distribución, así que los podrás instalar sin problemas.

Arduino tiene una memoria no volátil de tan sólo 512 bytes (ver referencia), que puede ser insuficiente en algunos casos.

Pero podemos usar una EEPROM externa, en mi caso he usado una EEPROM serie 24LC256 que tiene una capacidad de 256 Kbit (32K x 8 bytes) y un precio de 2.88 euros. Os dejo el enlace a la24LC256 hoja de especificaciones.

La comunicación entre Arduino y la EEPROM se realiza mediante el bus I2C , que se trata de un bus de comunicaciones serie formado por dos lineas: una para los datos y otra para el reloj.

La librería Wire  permite manejar un bus I2C desde nuestro Arduino, y en este artículo del wiki encontramos 4 funciones que usando la librería anterior implementan la lectura/escritura en la EEPROM.

El parámetro deviceaddress al que hacen referencia estas funciones en el caso de esta memoria se trata del 0x50.

No debemos olvidarnos de inicializar la conexión antes de usar estas funciones:

Wire.begin();

pinoutEn cuanto a las conexiones de los pines: el pin 5 de la EEPROM (SDA) lo conectamos a la entrada analógica 4 de nuestro Arduino, el pin 6 (SCL) a la entrada analógica 5 (observar en la foto que los cables de color naranja se cruzan), el pin 8 a 5V y todos los demás a tierra.

Los pines analógicos 4 y 5 de Arduino son los que usa la librería Wire.

Usando una memoria EEPROM desde Arduino

En cuanto al sketch, os pongo el ejemplo con el que lo probé: se trata de escribir una cadena de caracteres cuando enciende nuestro Arduino y de leerla y enviarla al ordenador repetidamente.

El ejemplo lo podéis ver en pastebin para evitar problemas con el tabulado del blog.

Al tratarse de una memoria no volátil, podemos comentar la escritura (línea 59) para comprobar que permanecen los datos guardados con anterioridad.

Ya está en casa el Arduino Diecimila que pedí hace unos días, solo me ha costado 31 euros con los gastos de envío, y es más pequeño de lo que creía.

Arduino es una plataforma de hardware libre formada por diferentes tipos de placas con E/S analógicas y digitales basadas en un microcontrolador ATmega; y un entorno de desarrollo en el que hacer aplicaciones para este hardware.

Arduino

He estado probado algunos ejemplos y es todo muy fácil y existe mucha ayuda en la red, aunque tengo que ir a la tienda de electrónica a comprar sensores  y alguna cosa más.

El IDE de Arduino es simple, pero funciona bien, permite programarlo, escuchar el puerto serie y trae varios ejemplos para aprender a usarlo.

Arduino

Para instalar el IDE en Arch Linux (está en AUR) solo he tenido que hacer:

$ yaourt arduino

se instalaron todas las dependencias y funciona correctamente.
Para instalarlo en otras distribuciones o sistemas operativos tampoco deberías de encontrar problemas.

Y por último, dejo un enlace a unas transparencias en PDF que dan una introducción muy clara sobre Arduino:

http://todbot.com/blog/bionicarduino/

Iré publicando mis avances…

Inauguro este blog donde iré poniendo los proyectos y experimentos que voy haciendo relacionados con la informática y algunas cosas más.

Pronto os traeré más posts y espero que sean todos de vuestro interés.