Raspberry Pi 400, el Commodore 64 de nuestro tiempo

Escribo estas líneas desde una Raspberry Pi 400 que acabo de recibir. La había pedido en noviembre a RaspiPC y estaba ansioso por recibirla. Debido a la alta demanda, la producción de la versión española se retrasó unas semanas. La Raspberry Pi es un ordenador personal cuya primera versión se lanzó en 2012. El objetivo de su creador, Eben Upton, era poner en el mercado un ordenador educativo de bajo coste. Para ello, usaron un procesador de arquitectura ARM (que no Intel), que integra tanto la unidad central como la tarjeta gráfica. El sistema operativo está basado en Linux, es mayoritariamente software libre e incluye multitud de programas educativos. Su precio: 50€.

image from upload.wikimedia.org

El aspecto habitual de la Raspberry Pi es la de una placa electrónica, con ranura para una tarjeta microSD que hace las veces de disco duro, conectores USB, HDMI, Ethernet y varios pines digitales. También tiene soporte de Wifi y Bluetooth. Con la pantalla, teclado y monitor enchufados, es un ordenador de bolsillo a prueba de perrerías (o, al menos, los destrozos no serán muy dolorosos).

En estos años se ha vuelto muy popular y son muchísimos los proyectos basados en esta pequeña placa. En educación, la Fundación Raspberry Pi ha puesto en marcha un sinfín de iniciativas, especialmente en el Reino Unido, entre otras:

  • Code Club es una red de escuelas de programación para niños de 9 a 13 años, que usan entre otras tecnologías Scratch, HTML y Python.
  • AstroPi, el concurso anual de la Agencia Espacial Europea (ESA) para estudiantes. El objetivo es usar las Raspberry Pis alojadas en la Estación Espacial Internacional para experimentos científicos. (Aquí en Canarias hemos tenido algunos equipos finalistas).
  • La publicación de revistas como MagPi, de venta en papel pero de descarga gratuita y diversos libros.

Fuera del ámbito educativo, su demanda para proyectos makers e industriales es enorme. La gran ventaja con respecto a otros sistemas empotrados es que el sistema operativo está bien soportado y gracias a la gran comunidad a su alrededor existe mucha documentación y recursos. Además, los pines digitales permiten extender su funcionalidad hacia ámbitos de la electrónica y robótica. Se ha creado un gran mercado de mochilas, desde pantallas táctiles a sensores de todo tipo. Por ejemplo, en astronomía aficionada se venden Raspberry Pis como sistemas para uso remoto de telescopios. A modo de demostración tecnológica, Oracle construyó un mini-súperordenador de 1060 nodos con Raspberry Pis.

Y, cómo no, los jugadores han visto en la Raspberry Pi el ordenador ideal para proyectos de retro-computación, a través de emuladores y carcasas nostálgicas.

Hasta ahora, aunque he sido usuario de la Raspberry Pi por sus características y apuesta por el software libre, no había sido un gran entusiasta de sus posibilidades como ordenador de propósito general. En primer lugar, por su bajo rendimiento comparado con uno de sobremesa o portátil. En segundo, porque el escritorio utilizado (LXDE) parece poco adaptado para el sector educativo (la propuesta de Endless OS es mucho más interesante). En tercer lugar, me parece que el aspecto espartano de la placa resulta disuasor, no llama la atención en un centro comercial. Y, por último, es complicada de poner en marcha. Hay que descargar el sistema operativo en otro ordenador, copiarlo a la tarjeta SD, introducirla en la ranura, usar un adaptador de HDMI a micro-HDMI para el monitor, conectar teclado y ratón, tampoco hay botón de encendido... Un Chromebook puede multiplicar el precio de la Raspberry, pero lo tiene todo ya integrado (y es más rápido).

Por fortuna, algunos de estos inconvenientes se están sorteando. En 2019 se lanzó la Raspberry Pi 4, más potente y con hasta 8 GB de RAM, memoria indispensable para una buena experiencia en escritorios (¿alguien ha dicho Chromium?). Y a finales de octubre de este año se lanzó la Raspberry Pi 400, una versión con teclado integrado. Y debo decir que este formato sí me ha entusiasmado.

image from upload.wikimedia.org
La idea de un teclado con ordenador integrado resuena en todos los papás de mi edad o algo mayores que vivieron la explosión de la informática personal de los años 80 al calor de los ZX Spectrum y Commodore 64. Ni el Spectrum ni el C64 destacaban por ser los más rápidos ni por ser los ordenadores más potentes. De hecho, eran extremadamente limitados. Pero para millones de personas, fueron los primeros ordenadores a precio asequible. Se podían programar en BASIC y eso abrió un mundo de infinitas posibilidades para miles de jóvenes, cuyo futuro profesional quedó marcado por esos pequeños cacharros.

image from media.techeblog.com

Obviamente, los equivalentes actuales al Spectrum y el C64 son las videoconsolas, como la XBox o la PlayStation 5, aunque son ya sistemas muy especializados (y cerrados). Así que, salvando las distancias, la Raspberry Pi 400 tiene un potencial similar a los primeros ordenadores: formato de ordenador reconocible en grandes almacenes, asequible, repleto de software libre, preparado para aguantar leña y buenos programas educativos para que los más peques se inicien en el mundo de la informática de escritorio. Y para sus papás, los emuladores de retrocomputación ;) Por 80€ me parece un regalo ideal para estas navidades. Atentos que por unos euros más, está el kit con el excelente libro guía (en español y también descargable), que es una delicia divulgativa.

Ojalá la Raspberry Pi, de la mano del software libre, consiga abrir las puertas de la informática a muchos niños. Su futuro va a estar ligado a la tecnología, en todos los ámbitos sociales, de una forma mucho más profunda que para mi generación.


ARM, el conquistador

2020 ha sido un año muy fructífero para la arquitectura ARM. En estos momentos, todos los medios especializados hablan de los nuevos Mac de Apple con procesadores ARM. Muchos dudábamos de que las estadísticas mostradas durante la presentación fueran ciertas. Pero con las máquinas ya en manos de los usuarios, las pruebas de rendimiento confirman el excelente desempeño de los procesadores Apple Silicon.

El ecosistema de ARM no es comparable al de Intel. Intel diseña y fabrica sus procesadores. Pero ARM carece de fábricas, solo diseña los procesadores y licencia esos diseños a otras empresas. La arquitectura ARM reina en los móviles y tabletas. Tanto Android como iOS se ejecutan en procesadores ARM, pero son Qualcomm, Samsung, Apple y otros quienes han adaptado los diseños originales de ARM a sus propias necesidades. Además, cada uno de ellos los fabrica donde más le conviene.

La gran ventaja competitiva de ARM ha sido el bajo consumo energético, crítico para móviles y tabletas. E Intel mantenía una clara ventaja en ordenadores de sobremesa y en el mercado de los servidores, donde la potencia bruta es clave.

La era de los ordenadores personales se inició en los años 80, pero vivió otro gran empuje durante los 2000, cuando Intel lanzó sus procesadores de 64 bits. De la mano de Linux, Intel desplazó a otros competidores como SGI o Sun. No en vano, durante esa década, Apple pasó de PowerPC a Intel. Eso le permitió que su arquitectura x86_64 haya imperado tanto en portátiles como en superordenadores, pasando por las estaciones de trabajo y buena parte de los centros de datos de los gigantes Google, Amazon y Microsoft. Pero ese reinado incontestable está ahora en cuestión.

En 2018, Amazon Web Services lanzó su servidor ARM, Graviton, que este año actualizó con la presentación de Graviton2. AWS destaca el importante ahorro energético, que se traslada al usuario con precios más bajos. Se podría pensar que de esta forma, Amazon posee una alternativa para negociar precios con Intel. Pero según pasa el tiempo, se estrecha la diferencia entre ambas arquitecturas. Así que es de esperar que otros proveedores sigan los pasos de Amazon y que poco a poco crezca la demanda. Ampere Computing, HPE/Cray, Lenovo y Nuvia son algunos fabricantes de servidores ARM a los que seguir la pista.

Otro anuncio relevante en 2020 ha sido la puesta en marcha del superordenador japonés Fugaku. El corazón de Fugaku son procesadores diseñados por Fujitsu, que licenció el conjunto de instrucciones de ARM y adaptó el diseño previo de un procesador SPARC. Actualmente, Fugaku es el superordenador más potente del mundo en el TOP500.

Es muy apresurado afirmar que 2020 supone un punto de inflexión para Intel y ARM. Por un lado, Intel aún goza de ventaja y, sobre todo, una inercia descomunal. Y por otro lado, la compra de ARM por NVIDIA abre algunas incógnitas sobre su futura neutralidad. Además, esta adquisición pone a China a la ofensiva, dado que NVIDIA es estadounidense y, después del boicot a Huawei, han decidido apostar por tecnologías propias. Y en un horizonte algo más lejano, está la pujante arquitectura abierta RISC-V.

Pero imaginando el hipotético caso en el que ARM consiguera desplazar a Intel, no tengo claro que eso fuera beneficioso. Nos encontraríamos con una empresa con un poder enorme, mucho mayor del que tiene ahora Intel, porque incluiría tanto el mercado móvil como el de ordenadores personales. La competencia siempre es sana, para la innovación, para el mercado y para los usuarios.

En cualquier caso, ¡tiempos apasionantes!


Instalación de Fedora 28 en DragonBoard 410c

DragonBoard 410c vs Raspberry Pi 3

DragonBoard410c

La DragonBoard 410c es un «ordenador en placa» (Single Board Computer) similar a la más conocida Raspberry Pi 3. Cuando salió al mercado en 2015, la DragonBoard era más potente que la Raspberry Pi 2, pero posteriores actualizaciones han restado valor a esta pequeña bestia. La DragonBoard 410c dispone de un procesador de cuatro núcleos ARM Cortex A53 a 1.4 GHz, 1 GB de RAM, 8 GB de memoria flash, microSD, HDMI, 40 pines digitales lentos, Wi-Fi, Bluetooth, GPS, USB, etc.

En la tabla de abajo se puede ver la comparación de las características de la Raspberry Pi 3 más reciente (la B+) y de la DragonBoard 410c.

  Raspberry Pi 3 B+ DragonBoard 410c
CPU

ARM Cortex A53 (4 núcleos).
Broadcom BCM2837B0. 1.4 GHz.

ARM Cortex A53 (4 núcleos).
Qualcomm Snapdragon 410. 1.4 GHz.
Bits CPU 32/64 32/64
RAM 1 GB LPDDR2 1 GB LPDDR3
Memoria flash No 4 GB eMMC 4.5
Memoria externa MicroSD MicroSD
GPU Broadcom Videocore IV
OpenGL ES 1.1, 2.0

Qualcomm Adreno 306
OpenGL ES 3.0, OpenCL, DirectX

HDMI 1.4. Tipo A - 1080p HD. Tipo A - 1080p HD.
Wi-Fi 802.11 b/g/n/ac 2.4/5GHz 802.11 b/g/n 2.4GHz
Bluetooth 4.2, BLE 4.1
USB

4 x 2.0 (modo anfitrión).
1 x Tipo C (alimentación).

2 x 2.0 (modo anfitrión).
1 x Tipo C (modo dispositivo).

Ethernet Gigabit Ethernet No
GPS No
Alimentación 5V, 2.5A (Micro USB). 8V~18V, 3A (conector jack).
Pines 40x: 28xGPIO,UART,SPI,I2C,3.3V,5V.

40 x baja velocidad: UART,SPI,PWM,12xGPIO,+1.8V,+5V.
16 x analógicos: radio FM, auriculares.
60 x alta velocidad: 4L MIPI-DSI,USB, I2C x2,2L+4L.

Voltaje pines +1.8V +3.3V
LEDs   4 x Controlables por el usuario.
1 x Wi-Fi.
1 x Bluetooth.
Tamaño 85mm x 56mm 85mm x 54mm
Precio 40€ 70€

Para mi, las ventajas de la Raspberry Pi 3 B+ son claras: es una placa más barata y popular, con una gran comunidad a su alrededor. Los pines trabajan a 3.3V, lo cual es una dificultad añadida para los que estamos acostumbrados a los 5V de Arduino, pero mucho mejor que los 1.8V de la DragonBoard, que obliga a usar niveladores de voltaje con muchos sensores diseñados para 3V o 5V. La Raspberry Pi tiene un conector de red Ethernet que en ciertas ocasiones es muy útil.

La DragonBoard 410c por su parte es una placa con características extras interesantes. Por un lado está la memoria flash de 8 GB, en la que podemos instalar el sistema operativo (aunque Fedora sólo se puede instalar, de momento, mediante la tarjeta microSD). La DragonBoard tiene gran variedad de pines, incluyendo soporte para salida de sonido y radio FM. Los LEDs de usuario también pueden ser útiles. Y, finalmente, el receptor integrado de GPS, aunque sólo será posible usarla si está soportada por el sistema operativo instalado.

En mi caso, ya disponía de la placa DragonBoard por razones profesionales, siendo una de las placas de referencia de Ubuntu Core.

Descarga de software

A diferencia de Ubuntu Core, la instalación de Fedora requiere la actualización del firmware de la DragonBoard. Y antes de seguir quiero aclarar (¿declarar? :) que sigo las instrucciones de Peter Robinson :)

En esta página de Linaro se pueden encontrar los últimos ficheros de rescate para la DragonBoard 410c. Ahí encontraremos el firmware actualizado. Al entrar en el directorio más reciente (ahora mismo, 17.09) veremos los ficheros para descarga al final de la página. De ellos, hay que descargar dragonboard410c_bootloader_emmc_linux-XX.zip (XX es un número, en el caso de la captura de abajo es 88).

Captura de pantalla de 2018-08-01 23-55-45

Además de ese, hay que descargar otros dos ficheros provistos por Fedora: u-boot.img y emmc_appsboot.mbn.

Captura de pantalla de 2018-08-02 00-44-35

Finalmente, debemos descargar la imagen de Fedora para ARM 64 bits. En la página de descarga de Fedora se ven diferentes sabores de Fedora. Por ejemplo, se puede instalar la versión Workstation y usar el escritorio Gnome. En mi caso, decidí quedarme con la versión modo consola, la Fedora 28 Minimal.

Esta imagen la instalaremos luego en una tarjeta microSD. Hay que asegurarse de que la tarjeta tiene espacio para la imagen. Es raro encontrar tarjetas hoy en día de menos de 1 GB, pero el aviso es obligatorio ;)

Instalación del firmware

Una vez descargados todos los ficheros necesarios, nos vamos a un PC con Fedora, aunque también podría hacerse desde Ubuntu u otros Linux instalando los paquetes adecuados. En mi caso, uso la última versión al momento de escribir, Fedora 28.

Lo primero que hacemos con las descargas es descomprimir los ficheros. En concreto, el dragonboard410c_bootloader_emmc_linux-XX.zip. Trasladamos emmc_appsboot.mbn y u-boot.img al directorio donde hayamos extraído los ficheros del zip.

Captura de pantalla de 2018-08-07 02-02-31

Ahora hay que encender la DragonBoard en modo fastboot, de tal forma que permita la actualización del firmware. Para ello, mantenemos presionado el botón de bajar volumen etiquetado (-) y S4, situado junto a los puertos USB, y conectamos la alimentación. Tras 30 segundos, soltamos el botón y ejecutamos las siguientes órdenes:

$ sudo ./flashall
$ sudo fastboot flash aboot emmc_appsboot.mbn
$ sudo fastboot flash boot u-boot.img

Con ésto habremos actualizado el firmware de la DragonBoard 410c y ya estará lista para iniciar Fedora desde la tarjeta microSD.

Instalación del software

Para instalar Fedora en la tarjeta microSD, abrimos una terminal e instalamos los siguientes paquetes: arm-image-installer, android-tools y screen.

$ sudo dnf install arm-image-installer android-tools screen

Seguidamente insertamos una tarjeta microSD en el PC (en mi caso, una de 32 GB) e instalamos la imagen descargada de Fedora en la tarjeta. Para ello usamos la utilidad fedora-arm-image-installer. Antes de ejecutar la orden, hay que conocer el nombre del dispositivo asociado a la tarjeta y lo encontratemos mediante el comando lsblk. Advertencia: Hay que asegurarse de que el nombre del dispositivo es el correcto, o de lo contrario borraremos los datos de otra unidad de disco.

Captura de pantalla de 2018-08-10 00-19-06

Como vemos, la tarjeta de 32 GB (al darle formato se queda en 29 GB) es /dev/sdb.

$ sudo fedora-arm-image-installer --image=Fedora-Minimal-28-1.1.aarch64.raw.xz --target=dragonboard410c --media=/dev/sdb --resizefs

Captura de pantalla de 2018-08-10 00-25-07

Tras unos minutos (puede tomar un rato) la tarjeta ya está casi lista para ser insertada en la DragonBoard.

La forma más sencilla de conectar la DragonBoard a Internet es a través de Wi-Fi. Sin embargo, en Fedora 28 el controlador de la Wi-Fi no viene de serie y por tanto, hay que usar un adaptador USB-Ethernet.

Configuración

La primera vez que ejecutemos Fedora en la DragonBoard hay que configurar varias opciones la contraseña del superusuario. 

Captura de pantalla de 2018-08-10 01-16-37

Una vez hayamos finalizado la configuración, presionamos 'c' para continuar. El sistema se reiniciará.

El último paso de la configuración de la DragonBoard es la descarga e instalación del firmware para la Wi-Fi (paquete disponible gracias a Peter Robinson de Fedora). Para ello, iniciamos una sesión con el superusuario (root) 

$ curl -O https://fedora.roving-it.com/qcom-db410c/wcn36xx-firmware-1032.1.1-1.fc27.noarch.rpm
$ sudo rpm -i wcn36xx-firmware-1032.1.1-1.fc27.noarch.rpm
$ sudo reboot

Aunque el fichero es para Fedora 27 (fc27), Al reiniciar la DragonBoard, el firmware de la Wi-Fi se cargará automáticamente. 

Para configurar la conexión Wi-Fi usamos la utilidad nmcli.

Captura de pantalla de 2018-08-10 01-47-00

$ nmcli device wifi 
$ sudo nmcli device wifi connect <NOMBRE DE LA RED WI-FI> password <CONTRASEÑA>

Con la primera orden listamos las redes Wi-Fi disponibles y con la segunda nos conectamos a la red que indiquemos.

Con esto ya podemos comenzar a trastear con Fedora en la DragonBoard.

Enlaces


Cómo vencí al sedentarismo

A decir de los comentarios en las redes sociales, cerramos el año 2016 con una sensación de que el mundo ha torcido su rumbo: el Brexit, la victoria de Donald Trump, los atentados en Europa, las personalidades fallecidas... Sin embargo, en lo que a mi respecta, ha sido un año muy bueno en lo personal. Pero las cosas no pintaban nada bien hace 12 meses. Física y anímicamente decaído por diversas dolencias pensaba que este año sería muy complicado. Si tu trabajo te mantiene muchas horas frente al ordenador, por favor, continúa leyendo. Se suele asociar al sedentarismo únicamente con el sobrepeso, pero los problemas pueden ir más allá.

Los riesgos de trabajar en lo que te apasiona

Llevo más de una década trabajando de forma remota. Nací y vivo en la isla de Gran Canaria, un lugar donde se puede tener una excelente calidad de vida. Pero mis intereses siempre han estado fuera. Internet ha brindado la oportunidad de desarrollar mi carrera profesional trabajando en empresas y proyectos de forma remota en lugares intelectualmente fértiles. Y cuando trabajas en lo que te apasiona se corre el riesgo de no poner límites. Fue mi caso.

Me gusta ofrecer lo mejor de mi y, por supuesto, siempre se puede dar más: unas horas extra cada día, un fin de semana para una entrega crítica, unas horas extra para la formación en el tiempo libre, y así vamos olvidando otras cosas importantes, como el ocio y el mundo exterior. Por supuesto, estos esfuerzos adicionales, cuando se acumulan, pasan factura. Fue mi caso.

La implosión del cuerpo

Hace unos diez años estuve de baja porque, tras años de trabajo extra, mi cuerpo había dicho «basta». Estar en el ordenador más de cinco minutos me producía un gran dolor de cabeza. El neurólogo me aconsejó alejarme del ordenador durante una temporada, hacer ejercicio y diversos medicamentos. Cumplí la parte del reposo pero no la del ejercicio. Y a la vuelta, ya nada fue igual. Los malos hábitos habían limitado mis movimientos de cabeza y espalda. No podía utilizar varios monitores, utilizar un portátil o leer sentado, porque requería mirar hacia abajo. Tampoco podía levantar grandes pesos.

Estas molestias se volvieron crónicas. Desde entonces he visitado periódicamente al fisioterapeuta, que aliviaban los síntomas y permitían que llevara una vida «normal», al menos en apariencia. Pero en realidad enmascaraban el problema de fondo. Con el paso de los años, la limitación de movimientos se fue agravando y crearon nuevos problemas.

Las Navidades de 2015 el dolor de espalda se hizo insoportable. Al caminar se me dormía la pierna derecha, estar de pie me resultaba molesto, lo mismo que estar sentado. El dolor de lumbares me mantuvo en cama parte de las Navidades.

Así que 2016 comenzó para mi con perspectivas sombrías.

La luz al final del túnel

En reyes del pasado año, mi hermano Alberto me hizo un regalo especial: 10 sesiones con un entrenador personal. No estaba del todo convencido, y pospuse la oferta hasta tener un diagnóstico. Finalmente, el traumatólogo descartó un problema irreversible y recetó sesiones de fisioterapeuta, en especial, en piscina. Me recomendó que en general hiciera ejercicio, ganese movilidad, y bajara de peso. Pero después de tantos años de fisioterapia, no creía que fuera a resolver nada. Quería una alternativa y me animé, ahora sí, a utilizar las sesiones con el entrenador. Y esta fue la mejor decisión que he tomado en años.

Juanje Ojeda entendió muy bien mis problemas, porque él mismo los ha sufrido. Algo que aprecié mucho, comparado con las sesiones de fisio, fue la atención personal. Le comenté lo que había, estudió mi caso y me aseguró que se podría resolver, que no había nada grave. Soy de naturaleza escéptica y no creí que todas las molestias fueran a desaparecer. Venía sufriendo las limitaciones de movilidad muchos años y yo estaba convencido de que buena parte de ellos eran ya irreversibles. Pero estaba equivocado.

Todo está conectado

Hay algo que casi ningún otro entrenador personal puede hacer y es hablar en mi propio idioma: Juanje es un pionero de Linux y DevOps en España. Y decidió cambiar su horizonte profesional para ganar calidad de vida. Estudió Educación Física, es un ratón de biblioteca y acude a bibliografía científica. Las sesiones con él son ejercicios físicos y mentales. Además de los ejercicios, me explica qué hacemos con lenguaje de ingeniero: por qué y para qué.

Algo que he aprendido con Juanje estos meses es que el cuerpo es un sistema complejo que la evolución ha optimizado para los movimientos. Si lo dejamos de ejercitar, el sistema se atrofia. El estar sentado en la misma postura durante todos estos años acortó los músculos de mis piernas, agarrotó la musculatura de mi espalda, encorvó mis hombros, debilitó los músculos de las lumbares... Y la suma de estos problemas explica mi cuadro de dolencias. Así que primera conclusión: he comprendido qué hacía mal: ser sedentario, estar quieto.

Otra cosa que he aprendido es que toda la musculatura está conectada: pies, piernas, espalda, hombros, cabeza, brazos. No valía con trabajar la zona lumbar para hacer desaparecer las dolencias de la espalda. El objetivo ha sido deshacer los bloques monolíticos musculares y que vuelvan a trabajar de forma independiente. Los ejercicios que realizo con Juanje no son de correr, saltar o hacer pesas. Trabajamos para ganar movilidad y fuerza, y entrenar el sistema nervioso. Para mantener el cerebro alerta, los ejercicios cambian periódicamente. Y los ejercicios los realizo al aire libre y descalzo, cerca de la playa.

Otra de las lecciones importantes de Juanje es que el cuerpo responde al ejercicio continuado. Realizando simples movimientos de brazos y piernas, pero día tras día, puedo mantenerme en forma y evitar las atrofias. Diez minutos suaves diarios pueden ser mejor que un gran esfuerzo de una hora semanal. Y digo que es lo que he aprendido, porque me está costando mucho incorporar estos hábitos en mis rutinas diarias.

 

En estos vídeos hay ejemplos del tipo de ejercicios que realizo, tanto en las sesiones como en casa. Son fáciles de aprender y de realizar.

Una nueva vida

La remisión de mis dolencias de espalda las sentí en las primeras semanas. La pierna derecha dejó de dormirse. Al mes y medio, el dolor principal de lumbares que sentía se había atenuado mucho. A los cuatro meses, había ganado bastante movilidad en la espalda y sólo me quedaba un dolor muy puntual en las lumbares. A los seis meses, había recuperado mucha movilidad en la cabeza, hombros y espalda: ya no me molestaba mirar hacia abajo para estar con el portátil o leyendo. A los nueve meses, todas las dolencias que sufría han desaparecido y me siento mucho más ágil.

La desaparición de los dolores y el ejercicio ha cambiado mi carácter. Me siento con más «energía» y llevo mucho mejor las situaciones estresantes. En general, me noto mucho más contento, lo cual es normal porque hacer ejercicio libera endorfinas.

Así que, un año que comenzaba con perspectivas sombrías lo he finalizado contento por haber recuperado más de diez años perdidos de salud. En mi caso el responsable de ello es Juanje Ojeda, a quien tengo que agradecer su profesionalidad y buen hacer. Si tienes un trabajo de oficina y eres sedentario como lo era yo, por favor, tómatelo con seriedad. Juanje tiene un montón de consejos contra el sedentarismo en su blog y, obviamente, no puedo más que recomendarlos. Me siento en deuda con él y quería que esta entrada sirva tanto de aviso a navegantes como de agradecimiento personal.


Conexión serie Bluetooth con Processing en Ubuntu

Estas semanas, en el taller semanal de Arduino Gran Canaria, estamos montando un cochecito robótico con Arduino. Después de resolver el montaje del puente H y los motores, le hemos añadido el componente Bluetooth HC-06. De esta forma, podremos controlar remotamente el Arduino a través de un dispositivo Bluetooth.

Para facilitar la tarea, en Android existe una aplicación llamada Arduino Bluetooth RC Car. La aplicación se conecta mediante el Bluetooth HC-06 a Arduino y le envía diferentes caracteres según el botón que se pulse: adelante, atrás, izquierda, derecha, parar, etc. Por desgracia, aún no hay una aplicación similar para Ubuntu Touch, así que tuve que pedir prestado un móvil con Android.

Para ocasiones posteriores, he visto que mi portátil sí tiene Bluetooth. Así que lo más socorrido para mi es programar una aplicación de control remoto similar, pero usando el entorno de programación Processing. Así que detallo los pasos para realizar una conexión serie entre el Bluetooth HC-06 y Processing en Ubuntu.

Instalación de Bluetooth Manager.

El primer paso es instalar la aplicación Bluetooth Manager. Para ello, desde consola ejecutamos:

$ sudo apt-get install blueman

Emparejar el dispositivo Bluetooth HC-06.

El segundo paso es emparejar el ordenador con el Bluetooth HC-06. Para ello, abrimos la aplicación Bluetooth Manager y realizamos una búsqueda de los dispositivos Bluetooth visibles. De fábrica el HC-06 viene con el identificador «HC-06», aunque en mi caso lo configuré para ponerle el nombre «McLaren-rvr».

Screenshot from 2016-05-04 01-10-34

Para emparejar el dispositivo, hacemos clic con el botón derecho del ratón sobre el dispositivo y seleccionamos la opción Pairing.

Screenshot from 2016-05-04 01-11-07

Para finalizar el emparejamiento, deberemos introducir la contraseña del dispositivo HC-06. Por defecto es «1234».

Conexión serie

En tercer lugar debemos activar la conexión serie del dispositivo HC-06 en Ubuntu. Para ello, volvemos a abrir el menú contextual y seleccionamos la opción «Conectar a: Puerto serie» (Serial Port).

Screenshot from 2016-05-04 01-12-30

Bluetooth Manager nos indicará en una barra de estado el nombre del puerto serie creado en el sistema de ficheros, con el formato /dev/rfcomm<número>.

Screenshot from 2016-05-04 01-13-01En este caso, sería /dev/rfcomm3.

Conexión serie en Processing.

Llegados a este paso ya tenemos un dispositivo serie como cualquier otro. Por tanto, podemos utilizar la librería Serial de Processing para conectar vía Bluetooth con Arduino. La única diferencia con una conexión de Processing con Arduino habitual es que en lugar de enviar los datos por una conexión USB lo haremos mediante una conexión Bluetooth. Pero, gracias a Bluetooth Manager, esos detalles son irrelevantes para Processing. Lo único que cambia es el nombre del dispositivo.

Screenshot from 2016-05-04 01-49-19

En este caso el programa lo que hace es interceptar las pulsaciones de teclas del ordenador y enviarlas al dispositivo Bluetooth (en mi caso, el HC-06 que a su vez se lo reenvía a Arduino). Un ejemplo bastante sencillo si ya has programado Processing con dispositivos Serial anteriormente. 

Para emular de forma tonta la aplicación Arduino Bluetooth RC Car tan solo hay que presionar las teclas 'F' (adelante), 'B' (atrás), 'L' (izquierda), 'R' (derecha) y 'S' (detener).

Queda pendiente la programación del interfaz con esos botones en Processing para que funcione a golpe de ratón. ¡Eso es to-to-todo, amigos!


Visualino: Programación visual para Arduino

Con motivo de la celebración del 10º aniversario de Arduino, y del Día de Arduino, presenté en mi blog en inglés Visualino. ¿Que qué es eso? Se trata de una herramienta de programación visual para Arduino, un proyecto que comencé el año pasado y que ha tenido un impulso estos últimos meses, con la ayuda de los colegas de Arduino Gran Canaria.

Para quien no lo conozca, Arduino es un familia de placas con microcontrolador que permiten interactuar con infinidad de sensores y componentes electrónicos. Las placas vienen acompañada de un programa llamado el IDE de Arduino, que hecho sencilla la programación de los microcontroladores. El lenguaje está basado en C/C++ y las funciones son relativamente simples de aprender. Esta facilidad es parte de la revolución. Encender y apagar LEDs y mover robots ahora es bastante simple con Arduino. ¡Pero podría ser aún más fácil! Un pequeño problema al que se suelen enfrentar niños y adultos sin conocimientos previos de programación es que la sintaxis de C/C++ es muy estricta: las llaves y los puntos y comas tienen que estar en su sitio o el programa no funciona. ¿Cómo hacerlo aún más intuitivo? ¡La programación visual al rescate!

Scratch es una plataforma de programación visual para niños muy popular, desarrollada por el MIT. En lugar de teclados y código, los niños utilizan el ratón y bloques para crear los programas como si fueran puzzles. Existe una extensión llamada Scratch for Arduino que permite controlar la placa. Sin embargo, el programa se ejecuta en Scratch, así que la placa de Arduino debe permanecer siempre conectada al PC.

Así que, ¿qué hace Visualino? Pues es un entorno similar a Scratch: permite crear programas para Arduino como un puzzle. Pero además, permite programar directamente la placa de Arduino y por tanto, hace innecesaria la conexión permanente al PC. Además, los bloques generan el código de C/C++ en tiempo real en una ventana. El entorno es similar al del IDE de Arduino, con las mismas opciones principales: Verificar, Subir, Guardar, Cargar y Monitor. Puedes ver cómo se usa Visualino en este vídeo:

Visualino está basado en Google Blockly y en los bitbloqs de bq. Es software libre, multiplatforma y multi-idioma. Requiere la versión 1.6 del IDE de Arduino 1.6, que es el motor que se usa para programar las placas. Puedes descargar la versión beta de Visualino para Ubuntu, Mac y Windows. La documentación con instrucciones de instalación está disponible en español e inglés. El código anda en github.com/vrruiz/visualino. Jordi Binefa contribuyó con la traducción al catalán, y serán bienvenidas las contribuciones para el italiano y portugués. 

  • Screenshot from 2015-03-25 15:27:30
  • Screenshot from 2015-03-25 15:28:04
Screenshot from 2015-03-25 15:28:04

Hoy mismo me toca realizar una tutoría de Visualino para profesores de secundaria, así que espero que pronto se esté usando en las aulas aquí en casa.

Vete, descárgalo y úsalo. Comentarios y sugerencias bienvenidas. Para estar en contacto, síguenos en twitter.com/visual_ino.


Blogs & Gofio XXXIX

20141125blogs-gofio39

Actualización, 20 ene 2015: La convocatoria final es para el viernes 23 de enero de 2015 a las 21:00 en el CC Las Terrazas, en la cafetería «Qué guay».

Actualización, 28 nov 2014: Por fenómenos meteorológicos adversos, posponemos la convocatoria para próximas fechas (tentativa: 23 de enero de 2014).

¿Te pensabas que los blogs estaban muertos? ¡Jajajaja! [Risa malvada con efecto eco] Tras un par de años de ausencia, se convoca un nuevo Blogs & Gofio. Blogueros, tuiteros, y usuarios de internet de todo tipo están invitados a la reunión informal que celebraremos el próximo viernes 28 de noviembre de 2014 en Las Palmas de Gran Canaria. El lugar será el habitual en las últimas convocatorias en la isla redonda, el restaurante La Barbería de Vegueta y la hora, las 21:00. Como habrá que hacer reserva, por favor, confirma tu asistencia escribiendo un comentario en esta entrada (o en Facebook) a más tardar el viernes a las 12:00.

Reusando las preguntas y respuestas habituales de nuestros compañeros chicharreros:

  • ¿Quién puede asistir? -> Cualquiera, tanto si escribes blogs, como si los lees, incluso si no sabes lo que es un blog y quieres pasar un buen rato.
  • ¿Qué es un Blog & Gofio? -> Una reunión de gente relacionada con los blogs (o no) que se reúne de vez en cuando para verse las caras y echarse unas risas.
  • ¿Eso es un rollo de frikis? -> No, la gente que asiste es totalmente normal, o al menos eso cree.
  • Quiero ir, pero me da rollo porque no conozco a nadie -> No pasa nada, la curva de progreso en la amistad durante los blogs & gofio es, sin exagerar, un millón de veces mayor que en otros ámbitos.

¡Nos vemos el viernes!

PD: Para el cartel se ha usado la imagen Zomby Army, de Vermyn-N (Creative Commons, Atribución).


La vida de los enlaces (II)

Fernando Tricas escribe en La naturaleza efímera de los enlaces:

«En el pasado le dábamos mucho valor a los enlaces. No es que no lo tengan, ni que hayamos perdido la fe. Pero lo cierto es que vemos con mucha frecuencia sitios que desaparecen o se reorganizan sin mirar hacia atrás. Es un tema que hemos tratado algunas veces ya, pero hace una temporada lei este artículo que traigo hoy aquí y que nos lo recuerda: Testing 3 million hyperlinks, lessons learned»

Hace un par de años realicé el experimento de comprobar el porcentaje de enlaces rotos con los marcadores que he guardado en delicious desde 2005. Los resultados los comenté en la entrada La vida de los enlaces. Desde 2012 (año en curso) a 2005, el porcentaje de enlaces rotos crece a un ritmo del 3,8% por año. Así, en 7 años se situaba en el 26%.

He vuelto a realizar el experimento con el mismo código que dejé en github en su momento. He de matizar que mi uso de delicious desde 2012 ha sufrido un bajón apreciable y las muestras de años recientes no es significativa (70 enlaces en 2013 y 38 en 2014). Nada que ver con los 3 millones de enlaces que cita Fernando. Aún así los resultados son los siguientes: 

  • 20140615links-delicious-rate
  • 20140615links-delicious-trend
20140615links-delicious-trend

En esta ocasión, el incremento del porcentaje de enlaces rotos es algo menor que en 2012, pero muy similar: 3,6% por año. De 2014 a 2007 (7 años), también es el 26% el porcentaje de hiperenlaces que ya no existe.

Lo interesante sería comprobarlo con un conjunto mayor de enlaces. Por desgracia, el experimento de los 3 millones de enlaces de StackOverflow no es muy concreto a este respecto. La cifra se da de pasada en el artículo: «The reality though is that over 3 years probably 5% of the links you have are going to simply stop working». En mi caso, en tres años la cifra de enlaces rotos se acerca más al 10%.

Los datos en bruto se pueden consultar en la hoja de cálculo de Google Drive. Si alguien se anima, el código está disponible en github.com/vrruiz/delicious-death-links.


Móviles y software libre: El sistema del mundo

Hace unas semanas me pidieron un artículo sobre el impacto del software libre en la historia de los móviles. En general, me suele resultar sencillo plantear un artículo: hago una lista ordenada de puntos a tratar con un nexo común y los voy desarrollando. Pero ésta petición en particular me dió quebraderos de cabeza. No encontraba un hilo conductor que uniera de forma convincente todos los puntos que quería desarrollar. Al final, buena parte se quedó fuera. Por ejemplo, uno de los titulares que barajé fue «Por qué los móviles no son PCs», pensando en establecer paralelismos entre la popularidad de los sistemas y su apertura.

El resultado final puede leerse en el blog de Mobile World Capital: Móviles y software libre: Cómo Bell Labs (AT&T) creó el sistema del mundo:

«Hoy en día Apple y Google dominan el mercado de sistemas operativos de telefonía móvil. En muy pocos años, estas empresas informáticas han conquistado posiciones privilegiadas, eclipsando la influencia de los fabricantes de terminales. Motorola Mobility ha acabado en manos de Google. Pero, ironías del destino, la industria informática le debe mucho a la de telefonía. Sin proponérselo, AT&T creó el sistema operativo que domina el mundo, desde móviles a superordenadores; el lenguaje de programación que ha sido referencia durante 40 años; y de paso, plantaron el germen del software libre».

El artículo es un homenaje a la enorme influencia del trabajo de Ken Thompson y otros ingenieros de Bell Labs, sin los cuales sería imposible entender la informática de hoy en día. El sistema que idearon no conquistó el escritorio pero reina, entre otros, en el mercado de móviles inteligentes.

Gracias a Jaime Novoa por su paciencia, y a Bárbara, Fernando y Pedro por sus aportaciones.


¿Mitos sobre la cibervigilancia?

Hoy Enrique Dans escribe un artículo titulado Aclarando dos mitos sobre la cibervigilancia. Estos dos mitos se resumen en:

«Hay dos verdades que se han instalado de manera persistente en el imaginario colectivo: la primera, que la principal amenaza a la privacidad de los usuarios proviene de la NSA. Y la segunda, que el problema es que el gobierno norteamericano abusa de la Patriot Act y permite una serie de prácticas que resultarían imposibles en otros países».

A continuación, trata de desmontar estos "mitos". Por un lado, indica que «la principal amenaza a la privacidad y el mayor volumen de datos recolectados sobre nuestras actividades en la red no corresponde a la NSA, sino a compañías privadas». Por lo tanto, habría que presionar a las empresas que recolectan datos para imponer estándares más estrictos de protección de datos. La cuestión es que la NSA, a través del programa PRISM, tiene acceso directo a los datos de (entre otros) Facebook, Google, Yahoo, Microsoft y también registros de compañías telefónicas. Si a esto le añadimos los proyectos de interceptación de tráfico de Internet, la evidencia indica que la NSA dispone de un conjunto agregado de datos. La suma tiene que ser, por fuerza, mayor que las partes.

En segundo lugar, Enrique dice que «Países como Suiza, o como una Alemania que habitualmente se considera extrema en las medidas de protección de la privacidad, no permiten a las compañías ningún tipo de defensa ante un requerimiento gubernamental». La afirmación, tal cual, es falsa tal como se explica en el propio enlace. La queja es que algunos países europeos no permiten apelar antes de cumplir con la orden, mientras que en EEUU, se puede apelar antes de cumplirla.

Pero el contexto es completamente diferente. En la Unión Europea, existe una directiva de protección de datos, inexistente en EEUU. La vigilancia es un tema muy sensible para los alemanes, que vivieron bajo la opresión de la Stasi. Aquí mismo, la Constitución Española en su artículo 18 define la privacidad de las comunicaciones como un derecho fundamental: «Se garantiza el secreto de las comunicaciones y, en especial, de las postales, telegráficas y telefónicas, salvo resolución judicial». No veo cómo Europa podría estar a la altura de la NSA, aún proponiéndoselo, porque es EEUU quien alberga los principales servicios y empresas de Internet, y por donde pasa buena parte del tráfico mundial. El único país europeo con el que realmente tenemos un problema es el Reino Unido. Las prácticas del GCHQ no tienen nada que enviar a la NSA: de hecho, colaboran estrechamente (UKUSA).

¿Cuál es la situación al otro lado del Atlántico? Pues que existen leyes y tribunales secretos en EEUU. El tribunal FISA (Foreign Intelligence Surveillance Court, Tribunal de Vigilancia Extranjera) es el encargado de revisar las órdenes de vigilancia. Las evidencias indican que este tribunal es un mero trámite burocrático: en 30 años sólo se han rechazado 11 de 34 mil peticiones y sólo ha habido una caso de apelación. Sugiere Enrique que en el escándalo de la NSA tiene algo que ver con los atentados del 11 de septiembre y el Patriot Act: lo dudo mucho. FISA fue un tribunal puesto en marcha en los años 70 después de que el escándalo del Watergate pusiera de manifiesto los abusos de los servicios de inteligencia. Recordemos que el fundador del FBI, Edgard Hoovert, ya coleccionaba su particular "big data" (COINTELPRO) sobre todo individuo subversivo digno de su atención.

En lo que sí estoy de acuerdo con Enrique es que las empresas son parte del problema, pero por razones diferentes. La NSA tiene muchas subcontratas, y el propio Edward Snowden trabajaba para una de ellas (Booz Allen Hamilton). Puesto que las leyes de espionaje sólo protegen a los estadounidenses, es evidente que estas subcontratas estarán muy tentadas de compartir información privilegiada con otras empresas (por ejemplo, de su mismo holding). Por otra parte, si no existe supervisión efectiva de la NSA es, simplemente, porque no hay motivación política. Y volvemos al mismo punto: en EEUU interés político es sinónimo de apoyo económico para las campañas electorales. No sé si me explico (en Brasil sí lo han entendido).

En definitiva, Enrique, no comparto tu optimismo por la cobertura legal estadounidense. De la pena de muerte, a los drones, pasando por Guantánamo, Irak y Chile, el respeto de EEUU por los derechos humanos es más que dudosa. China o Arabia Saudí no son democracias; EEUU, sí, y presume de ser la mejor. En la Unión Europea tenemos muchos trapos sucios que lavar, pero puestos a comparar, en este sentido, me quedo en casa.