sábado, 10 de septiembre de 2011 (Hace más de 1 mes)

Que suerte que tengo! Esta mañana me ha llegado un SMS de Movistar que, ojo!! sin siquiera haberlo solicitado me dice tengo un premio!! que solo tengo que llamar 1200 veces al 1200 cada 1200 milisegundos (o algo así, hablo de memoria). Así es que yo, que soy de naturaleza vaga, subespecie vaguérrima, me hice un script que, tal y como ellos me aconsejaban se pase la mañana llamando hasta conseguir el premio. Ahora mismo está llamando, debo estar a punto de recibir una llamada de la suerte.

Mi ordenador a punto de conseguir un premioMi ordenador a punto de conseguir un premio

La situación inversa a esta, es decir la de manejar el ordenador con el móvil ya la comentamos en otro apunte, esta es incluso más fácil. Básicamente consiste en (una vez vinculado el ordenador-móvil por Bluetooth) construir un script en Python que tome control del móvil y ejecute comandos AT en el teléfono.
El script más elemental sería algo como esto (asegúrate de que tu móvil tienen cobertura, está localizable para tu ordenador y no está en uso por otro programa) abre un terminal, ejecuta python y escribe:>>>import bluetooth
>>>telefono="00:11:22:33:44:55" # obtén tu ID con hcitool scan
>>>puerto=1
>>>destino=1200
>>>so = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
>>>so.connect((telefono, puerto))
>>>so.send('ATZ\r')
>>>so.send('ATD'+destino+';\r') # llamando ...
>>>so.send("AT+CVHU=0\r") # toma control del auricular
>>>so.send("ATH\r") # cuelga

Eso realizaría una llamada desde tu teléfono al número «destino» que resultaría cancelada al ejecutar las dos últimas lineas.
A partir de ahí es fácil, la idea es dejar un teléfono junto al ordenador y llevar otro encima, de tal manera que podamos programar el ordenador para que nos avise de algún evento en cuanto este se produzca de una forma tan sencilla como una llamada perdida a tu teléfono. Un correo electrónico que esperas, una grabación en la webcam del patio, un subidón de temperaturas de la cpu, etc…. bastaría con una código de nº llamadas perdidas + duración llamada para identificar el mensaje recibido: 1 llamada corta perdida de mi ordenador=la descarga ha terminado, 3 llamadas cortas=detectada actividad en camara1, 1 llamada larga que se corta a la mitad=toi ardiendo…. y todo con coste 0.

(Nota:coste cero siempre y cuando no descuelgues la llamada. Nota II: si te llama tu ordenador por teléfono, no lo cojas!! no es pa tomar cerveza!!)

Sigue leyendo…

jueves, 11 de agosto de 2011 (Hace más de 2 meses)

Uno de los principales encantos que tiene la placa Arduino es que resulta ser ese chisme capaz de convertir en tangible y físico algo tan abstracto e inmaterial como la programación informática. De repente un bucle for/next cobra vida y deja de ser una sucesión de cálculos en el limbo electrónico de la cpu para convertirse en un cacharro cargado de cables capaz de volcar el café del escritorio. Pero de volcarlo de verdad, no virtualmente.

Arduino es una proyecto nacido en Italia y desarrollado sobre el concepto de hardware y software libre. Es decir sus especificaciones técnicas y sus herramientas de desarrollo son abiertas y públicas (y gratuitas mayormente), lo que ha favorecido que crezca a su alrededor una comunidad enorme que constantemente incorpora mejoras y nuevas funcionalidades. Hoy por hoy las posibilidades de expansión son ilimitadas. Existen accesorios, ampliaciones y gadgets para conexión inalámbrica (radio, infrarrojos, bluetooth), cámaras de fotografía, dispositivos GPS, motores de todo tipo, sensores de luz, gas, agua, corriente ó presión atmosférica, mandos y joystick, etcétera, etcétera , pues hacer lo inimaginable, todo tipo de robots autómatas, teledirigidos, mandos a distancias, invernaderos informatizados, pinta-murales callejeros…

Desde que hace años conocí de su existencia le tenía ganas. Eso de traer al mundo real los desvaríos informáticos era/es muy tentador. El problema es que soy un redomado paleto electrónico, para mí una resistencia seguirá siendo la que montaron los franceses en la Bastilla y un transistor pues lo que usaba hace años para escuchar Radio3 en el coche. Por eso, si yo he sido capaz de montar un LCD y que muestre la temperatura de un sensor es que resulta fácil de narices (al menos en lo correspondiente a hardware).

Esta semana pasada decidí pagarme el capricho y encargué el Arduino Lab Kit que venden en Cooking Hacks-Libelium por poco menos de 120 euros. El envío ha sido rapidísimo (Zaragoza-Cartagena). Vaya, y no exagero, me llegó antes el paquete que el tracking del paquete para seguirle por internet.

Llevo apenas una semana trasteando con el cacharro, así es que todo esta por mejorar, pero como siempre, seguro que habrá alguno que se sirva de algo. Asi es que a continuación algunas especificaciones técnicas para configuración de Arduino ( en GNU/Linux, openSuse 11.2 )

Sigue leyendo…

martes, 2 de agosto de 2011 (Hace 78 dias)

Lo tengo decidido, voy a dejar de ser pobre de una vez. Estoy hasta las narices de ser pobre. Me he puesto como límite el jueves.
Así es que el primer paso ha sido escribir una linea de comando que me diga que números cogidos al azar se repiten más veces para poder ganar la bonoloto.

Pega en la siguiente línea en una consola para ver impreso en la columna de la derecha un número del 1 al 49 y en la izquierda la cantidad de veces que ha salido repetidoarchi="/tmp/loto"; rm $archi; clear; rango=49; while [ true ]; do numero=$RANDOM; let "numero %= $rango"; let numero++; echo "$numero" >> $archi; sleep 0.2; clear; cat $archi | sort | uniq -c | sort -k2n | head -n $rango; done
Si alguien quiere usarlo que lo haga ¿y si nos tocan 300 o 400 millones a un puñado y reventamos el sistema?

Ahora solo me falta llevarlo al estanco, que es la parte más delicada. Voy a ver si soy capaz de hacerme una línea de comandos que sepa andar.

lunes, 4 de julio de 2011 (Hace 107 dias)

La nueva cámara fotográfica submarina de Merche, que prácticamente está ahora estrenando es una Canon Powershot s95 y como casi todas las cámaras digitales relativamente nuevas dispone de un modo de fotografía submarina. Básicamente este modo no consiste más que en aplicar a la captura un filtro rojo (anaranjado) que compense la ausencia de este espectro de la luz bajo el agua y suavize en cierta medida las dominantes azules propias de las filmaciones bajo el agua.

Evidentemente estos procesos automáticos tienen muchísimas limitaciones, las más inmediata es que se aplica el mismo proceso tanto a imágenes realizadas 3 metros bajo agua (provocando una dominante roja muy evidente) como a las imágenes tomadas a 33 metros (donde este tipo de filtrados es casi inútil). En un caso se pasa y en el otro no llega, pero en ese rango intermedio que va desde los 3 a los 20 mts si que puede lograr resultados aceptables.

La otra limitación no tan evidente y que descubrí montando el vídeo del otro día, es que la cámara solo aplica el modo submarino a fotografías fijas pero no a vídeos. Con lo cual en el momento de volcar la sesión de fotos del buceo te puedes encontrar fotografías y videos realizados en el mismo instante pero con tonos de color completamente dispares.

Para disimular esa diferencia y tratar de imitar sobre los vídeos el filtrado que la cámara aplica a las imágenes fijas saqué una linea de código que forma sencilla corrija las dominantes azules con ayuda de MLT (el background de Kdenlive que ya vimos hace tiempo)

La línea de MLT sería estamelt VIDEO.MOV -filter frei0r.coloradj_RGB R=1 B=0.7 G=0.8 "Keep luma"=1 Action=0.7 -filter frei0r.contrast0r Contrast=0.67Aplicamos un filtro de ajuste de color que reduce Azul (B) y Verde(G) manteniendo la luminosidad (Keep luma) y se lo aplicamos al 70%. Aplicamos también un ligero contraste.

El resultado sería este (izquierda: video original, derecha: procesado después de aplicar la linea superior)
Extra: Para realizar el montaje (video partido con filtrado y sin filtro) usé esta otra línea:
melt VIDEO.MOV -filter frei0r.coloradj_RGB R=1 B=0.7 G=0.8 "Keep luma"=1 Action=0.7 -filter frei0r.contrast0r Contrast=0.67 -track VIDEO.MOV -transition composite fill=1 -filter crop right=320 -consumer avformat:demo.avi b=4200k

lunes, 20 de junio de 2011 (Hace 121 dias)

¿ Os podeis creer que me he venido de tratar de arreglar un ordenador sin ser capaz de instalar un puñetero ejecutable (Putty) en Windows 7 ? Hace mucho que no uso Windows, pero, hostias, de repente se me ha venido encima un complejo de megatorpe de no te menees.

La situación

  • 13: Paciente, PC ATX con más de 8 años y sistema operativo openSuse 10.1. Ha estado funcionando sin problemas hasta hoy.
  • Foreman: ¿ni un puto virus? ¿o un gusano? no me lo creo!!
  • 13: Nada, ni virus, ni gusanos, ni malware, ni popup, ..
  • Taub:… porque el dueño será un juakers de esos q
  • 13: la propietaria es una sexagenaria que piensa que el cielo está lleno de niños regordetes volando y que Windows es un invento del maligno para…
  • House: … pues mira, por ahí a lo mejor… por los niños que vuelan!! digo!! que algunos obispos les dan muy fuerte!!
  • Foreman: que burro que eres!!
  • 13: Hace dos dias recibió la visita del instalador de ONO que actualizó su cable modem y que quedó funcionando sin problemas hasta hoy, dos dias después en que el ordenador ha dejado de funcionar. No se enciende.
  • Taub: …habrán cortado la luz….
  • 13: …no el ordenador recibe corriente, pita al arrancar y enciende teclado y ratón… pero la pantalla sigue como Foreman….
  • House: ¿sin luces?
  • 13: NO! negra!!
  • House:, vale diagnostico diferencial (Foreman no te cabrees que si se ha dado cuenta que eres negro es buena señal)
  • Sigue leyendo…

miércoles, 8 de junio de 2011 (Hace 133 dias)
Bandeja sistema

Combinando un par de comandos (posiblemente tengas que instalar ksystraycmd ) podemos fácilmente construir una acceso rápido que nos envíe la ventana de cualquier aplicación a la bandeja del sistema con un simple clic.

Abre el menú para crear accesos rápidos ( kcmshell4 khotkeys ) y crea Nuevo acceso rápido global > Orden/URL. Asigna una combinación de teclas a tu gusto y en la solapa de Acción escribe:
ksystraycmd --hidden --wid $(xwininfo | grep " Window id:" | awk '{print $4}')
Una vez creada la nueva combinación ejecútala, verás que el cursor cambia a un puntero en forma de cruz, cliquea sobre cualquier ventana deseada y esta será minimizada a la bandeja del sistema desde donde puedes ocultarla, desocultarla, desempotrarla (restaurar situación anterior) y salir.
Es muy cómodo para mantener en ejecución consolas con lecturas de log, escaneando, conexiones de vídeo, y en general cualquier aplicación que queramos consultar a intervalos

Cuaderno de campo es un blog desarrollado y mantenido por Trebol-a y en el que escriben Trebol-a, Miguel, Merche y Mónica
Si quieres saber algo más sobre los autores acude a la página acerca-de, si quieres contactar con alguno de nosotros hazlo a través de contactar ó de Google+

Creative Commons: Todo el contenido de la web (imágenes, textos, vídeos, a excepción de aquellas obras de otros autores enlazados por Cuaderno de Campo) se acoge a los términos expresados en la licencia Creative Commons