Además de la programación, todas las formas de expresión gráfica me sirven para pasarlo bien. Empecé profesionalmente en Granada en CAD 2D y 3D para aplicaciones técnicas. Después, usando modelado 3D para hacer animaciones para vídeo, me enganché al tratamiento de imagen y completé con el diseño gráfico el uso que hacía del dibujo por ordenador.
Juntando el interés por lo gráfico con la programación y agitándolo suave pero firmemente tienes a un desarrollador multimedia tan contento. Donde más a gusto me encuentro ahora es en la web. Y es en la web donde los dispositivos para Internet de las cosas (IoT) me han dado la ocasión de acercarme a la electrónica, una inquietud que he querido atender desde siempre y que también se lleva fenomenal con la programación, que sigue siendo, ya lo he dicho, mi principal oficio.
Me gusta poder hacer todo esto usando software libre y hardware libre y ser parte de una comunidad a la que siempre que puedo le devuelvo un poco de lo mucho que me aporta.
También puedes echar un vistazo a los artículos que escribo de vez en cuando en polaridad.es y en el blog de acadacual.es, puedes encontrarme en Linkedin para lo profesional o escribirme un correo electrónico a holavictorventura.es si quieres contactar conmigo personalmente.
En la documenación de mis propios proyectos me gusta utilizar un tipo de letra muy sencillo, minimalista, que se lea fácilmente y su aspecto no distraiga del contenido.
Para unificar la tipografía la presentación del feed de mi web con la de la documentación he diseñado el tipo de letra Legibilis que es, básicamente, una de mis metatipografías adaptadas para que funcione bien en un formato de columnas estrechas o en un diseño vertical pequeño como el de un smartphone.
La tipografía Legibilis es libre y la puedes descargar y usar gratis ¿Te gusta?
Cada vez más dispositivos de todo tipo (domóticos, industriales, personales, de control medioambiental…) se conectan a Internet para enviar información de estado y permitir el control remoto aprovechándose de la capacidad de predicción que un sistema de inteligencia artificial puede conseguir con un volumen de datos tan importante.
El uso que estos dispositivos conectados, sensores y actuadores, hacen de Internet y la suma de todos ellos es lo que suele denominarse Internet de las Cosas (IoT)
Los nuevos SBC suponen un avance sobre los clásicos sistemas embebidos. Les aportan capacidades que les hacen trabajar también como pequeños sistemas de escritorio además de servir como sistemas de monitorización de información de sensores y de control numérico. Su gran difusión les permite contar con precios que compiten con los de pequeñas placas de desarrollo.
En esta guía se explica como instalar en un SBC el sistema operativo GNU/Linux; por su flexibilidad, es el más adecuado para estas plataformas, normalmente pequeños sistemas basados en arquitecturas ARM.
El avance en prestaciones, en precio y sobre todo, el impulso que la comunidad de usuarios ha dado a los sistemas basados en una placa, como las conocidas Raspberry Pi, que dan acceso a muchos recursos de hardware, estos SBC pueden utilizarse desde Processing en dos sentidos. Por un lado, aporta recursos de adquisición de datos y manejo de dispositivos para potenciar, en interactividad y en capacidad de control, las creaciones audiovisuales objetivo habitual de Processing. Por otra parte, lleva a los sistemas de monitorización y control electrónico una potente herramienta gráfica para visualización de datos y definir GUI de manejo dispositivos.
Como el objetivo principal de Processing es la programación de gráficos interactivos, delega en librerías (algunas desarrolladas por la propia Processing Foundation) la gestión de otros aspectos, sobre todo los más específicos. El modo de programación de Processing para Android permite ejecutar en esta plataforma un sketch de Processing pero quedan por resolver los aspectos específicos del sistema operativo, como los sensores o las comunicaciones, para los que se necesita una librería como Ketai, usada en este caso para las comunicaciones Bluetooth.
Las peculiaridades del sistema operativo Android hacen que el código Java que Processing genera (y en menor medida, el propio código fuente) requieran de un modo de programación específico que desarrolla la propia Processing Foundation.
Cuando se programa para Android el IDE de Processing (PDE) cambia para dar acceso a las herramientas específicas con las que compilar o depurar en dispositivos físicos o virtuales y gestionar estos y las herramientas de desarrollo de Android.
Las comunicaciones serie en Processing son el principal punto de entrada para comunicar el sistema en el que se ejecuta el sketch con otros dispositivos, ya sea directamente ya sea manejando las comunicaciones desde el puerto serie (por Bluetooth, por ejemplo).
Con la clase Serial de Processing se puede acceder de forma muy sencilla a las comunicaciones serie y gestionar el envío y recepción de datos usando el buffer serie y generando eventos para procesarlos al llegar a cierta cantidad o cuando se detecte la recepción de un código preestablecido.
Processing es un lenguaje de programación y un IDE pensado para que puedan desarrollar gráficos interactivos usuarios sin conocimientos previos de programación.
Además de disponer de una curva de aprendizaje muy favorable, se puede empezar a producir muy al principio de su uso, funciona en todas las plataformas de escritorio por estar basado en Java.
Si algo tiene de bueno la especificación Bluetooth es su ubicuidad: diseñar un dispositivo incorporando comunicaciones de este tipo asegura conectividad con la inmensa mayoría de los dispositivos móviles actuales, como teléfonos inteligentes o tabletas (claves para el desarrollo de la IoT), PC portátiles y otros equipos de los considerados personales.
El HC-06 funciona como dispositivo Bluetooth esclavo y aporta comunicaciones serie a través del perfil SPP. Salvo un conjunto mínimo de órdenes AT para configurarlo, funciona de manera transparente entre el puerto serie y las comunicaciones Bluetooth.
Para estimar el pulso (la frecuencia de latido del corazón) se puede medir el color de la sangre, diferente cuando está más o menos oxigenada (oxihemoglobina o hemoglobina) y que, por tanto, absorbe o refleja en diferente medida diferentes colores (rojo e infrarrojo, especialmente). La popularización de wearables de salud ha llevado a los fabricantes a desarrollar dispositivos, como el MAX30100, que integran emisor, receptor, conversor y comunicaciones medir el pulso.
Una de las alternativas más sencillas de usar a la hora de programar directamente el SoC wifi ESP8266, con un rendimiento aceptable para producción, es el IDE de Arduino, para el que la comunidad de desarrolladores del ESP8266 ha implementado soporte utilizando la infraestructura de Arduino que permite añadir diferentes MCU (placas de desarrollo). Además de las placas de desarrollo comerciales más difundidas se da sporte a módulos genéricos por medio una configuración muy detallada que permite aplicarlo a diseños propios.
El MCU ESP8266 se usaba originalmente en módulos wifi diseñados para ser explotados desde otro MCU en las comunicaciones wifi. La manera de controlarlos en tal configuración es por medio de órdenes AT enviadas desde el puerto serie por el que también se recibe la información de vuelta. Pero el ESP8266 es un SoC que puede ser programado para realizar muchas más tareas además de la conectividad wifi. Ahora existen muchas alternativas para programar el ESP8266 gracias tanto al SDK del fabricante como a una activa comunidad de desarrolladores que ha documentado su funcionamiento e implementado herramientas para diferentes IDE y lenguajes.
Utilizando el protocolo SMTP de envío e-mail es muy sencillo trabajar con un módulo wifi ESP8266 controlado desde una placa Arduino para mandar avisos con los que informar del estado de los sensores de una instalación.
Para el envío de los correos electrónicos será necesario disponer de una cuenta en el servidor de correo electrónico saliente en la que autentificarse desde Arduino con AUTH LOGIN, por ejemplo, usando la codificación Base64.
Después de haber tratado muchos aspectos del funcionamiento y del uso del módulo wifi ESP8266 ya toca hacer un repaso de las operaciones básicas con un enfoque genérico que permita explotarlo desde un programa en Arduino.
Este artículo sirve como tutorial sobre el uso del módulo wifi ESP8266 controlándolo con una placa Arduino enviando órdenes AT desde un puerto serie.
La codificación en el formato Base64 trabaja con un conjunto de 64 símbolos más otro de relleno con los que representa un conjunto de datos tomando en paquetes de 6 bits los datos originales independiente del formato y de la longitud de palabra original. Uno de los usos más frecuentes de la codificación Base64 puede verse en el protocolo PEM para correo electrónico que se implementa según MIME en líneas de 76 códigos Base64 con los que expresar, por ejemplo, las imágenes incluidas en el e-mail.
Para poder medir la temperatura sin tener contacto directo con el medio que se monitoriza, se utilizan dispositivos que miden la radiación luminosa que el objetivo emite y determinan la temperatura por su correlación con la intensidad de emisión. Trabajando con rangos de temperatura medios, la longitud de onda predominante de la radiación se encuentra en el entorno de los infrarrojos. Los dispositivos como el MLX90614 utilizan termopilas (termopares interconectados) para estimar la temperatura midiendo radiación infrarroja.
El MAX6675 resuelve en un solo integrado los tres inconvenientes con los que el trabajo con sondas termopar se enfrenta: la baja tensión que la fuerza electromotriz genera (del orden de µV), la necesidad de la linealización de la temperatura y la conpensación de unión fría. Su sencilla explotación por medio del bus SPI completa un eficaz sistema de medida de las temperaturas en los rangos más altos.
El LM75 es un termómetro basado en un diodo de silicio, que permite conocer la temperatura por el principio de la banda prohibida (band gap). Además de obtención rápida de la temperatura, entorno a los 100 ms, es capaz de enviar una señal de aviso cuando la temperatura medida supere cierto valor, restringiendo este aviso gracias a un contador de incidencias y a un registro que almacena otro valor para la histéresis. Su manejo desde un microcontrolador es muy sencillo gracias al uso del bus I2C en el que puede adoptar una de ocho direcciones.
La tinta conductora representa una tecnología muy interesante para el prototipado de circuitos pero su mercado no acaba de despuntar, en parte por los inconvenientes técnicos y sobre todo por la falta de atractivo de aplicación de las diferentes opciones. El vídeo que la agencia Dentsu ha lanzado para la campaña publicitaria de KanDenKo muestra una aplicación muy creativa para la tinta conductora de AgIC cuya viralización puede servir para animar a los fabricantes a investigar para mejorar sus tecnologías.
Existe una gran variedad de equipos de medida electrónica de la temperatura como termistores, termopares, RTD, termómetros piezoeléctricos de infrarrojos… que se basan en diferentes principios físicos.
Para elegir el dispositivo más adecuado para cada circunstancia es interesante conocer el funcionamiento de cada uno de ellos, especialmente el rango de temperaturas que son capaces de medir y las condiciones operativas en las que pueden funcionar.
Gran parte de la producción más reciente del artista José Manuel González incorpora la electrónica, principalmente para controlar el movimiento y la iluminación de las geometrías y patrones con las que expresa emociones y también para generarlas con la interacción del entorno y del espectador.
Su obra Caleiduino quiere transmitir una pequeña muestra de la experiencia de sentir su arte desde el enfoque del autor, vivir el proceso creativo antes de sentir la obra.
Explicado ya el funcionamiento de los sensores de color de la familia TCS34, aprovecho este artículo para tratar las peculiaridades de los sensores TCS3472, especialmente el TCS34725, y plantear algunos ejemplos de funcionamiento y específicamente la forma de explotar la generación de interrupciones cuando termina el ciclo de integración con el que se calcula el color (digital) desde la lectura de la luz que llega a la matriz de fotodiodos (analógica).
Barrer una matriz de LED para manejar dígitos de 7 segmentos es una tarea básica que puede resolverse de forma sencilla con un microcontrolador.
El problema que plantea la gestión de displays de dígitos LED de 7 segmentos es que necesitan muchos GPIO que suelen ser un recurso escaso en muchos circuitos basados en µC, especialmente si se trata de series pequeñas. Para resolver este inconveniente se utilizan drivers como el MAX7219 o el MAX7221 que se conectan al microcontrolador por un bus serie (SPI) lo que además simplifica el desarrollo del programa con el que se gestiona.
Una vez resuelta la gestión de un reloj en tiempo real como el DS3132, que se encarga de mantener la hora cuando el microcontrolador no está funcionando, aún hay por desarrollar muchas operaciones sobre la fecha y la hora que dependen de la implementación concreta que se haga.
En este artículo propongo una forma de ajuste al estilo de un reloj digital convencional: adelantando o retrasando por separado cada componente de la fecha y la hora. El resultado es una versión que añade esta función a la anterior librería de gestión de fecha y hora.
La popularización del módulo wifi ESP8266 ha hecho que se desarrollen multitud de versiones del mismo y que diferentes fabricantes ofrezcan al mercado placas de desarrollo y módulos con hardware alternativo, por ejemplo más conexiones GPIO que el original, o diseñados para un entorno de programación diferente, como el caso de Lua y la placa NodeMCU. Para ayudarte a elegir, en este artículo he incluido una lista con las características de los módulos de la serie ESP de AI-Thinker, principal referente, así como una aproximación a las características de muchas de las placas de desarrollo que incluyen el ESP8266.
En muchos procesos de fabricación o de automatización de tareas, la detección electrónica del color sirve como ayuda para el seguimiento y el control de calidad. Normalmente se busca que el color medido, en unas condiciones de iluminación controladas, se encuentre entre ciertos límites. Los sensores de color de la familia TCS34, de los que el TCS3414 es uno de los representantes más usados, permiten medir, con una resolución de 16 bits, la intensidad de la luz global así como la de cada componente primario del modelo RGB, con lo que se puede determinar el color de la luz que incide sobre el sensor.
Para estimar la radiación ultravioleta se puede utilizar un sensor basado en fotodiodos que detecten la intensidad de la luz que incide en ellos y que tiene una longitud de onda comprendida entre 280 nm y 400 nm, que queda fuera de la zona del espectro visible par los humanos y corresponde con la de la radiación ultravioleta.
Aunque lo medido es la luz y no la radiación, la correlación entre una y otra es aceptable para obtener el índice UV con el que determinar con suficiente precisión el riesgo por radiación ultravioleta.
Esta serie de cuatro artículos plantea una propuesta de representación gráfica del estado de sensores conectados a la IoT. Como soporte del gráfico se utiliza una página web escrita en HTML que contiene un objeto SVG que se maneja desde JavaScript creando o modificando objetos.
Los artículos sirven también como una introducción a las tecnologías utilizadas dirigida a programadores de aplicaciones para µC en C o C++ que se acerquen al desarrollo web para dar soporte a la IoT.
El objetivo final de representación gráfica en tiempo real del estado de las magnitudes que monitorizan los sensores de la IoT necesita como soporte un documento HTML que incluirá objetos SVG con los que dibujar los gráficos y otros componentes, principalmente texto, con los que representar los valores, describirlos y ubicarlos en el tiempo.
La apariencia de la página web, soporte a los gráficos SVG para representar los valores de los sensores en la IoT, se determina con estilos CSS (cascading style sheets) Además de los tamaños, la tipografía o los colores, en este artículo explico cómo usar las «media queries» para definir el aspecto según el medio en el que se representa la página web, especialmente importante para que la web se adapte a las resoluciones y formatos de los distintos dispositivos, el denominado «responsive web design»
Gracias al lenguaje de programación JavaScript se pueden realizar las dos operaciones que se necesitan para dibujar los gráficos: implementar sobre la web un método de carga automática de los nuevos datos que los sensores hayan ido almacenando en el servidor web (usando tecnología AJAX) y dibujar la línea con la que en esta propuesta se resuelve el gráfico para representar las magnitudes monitorizadas por los sensores y almacenadas en el servidor web.
Una de las formas más eficientes y sencillas de dibujar los gráficos de los sensores es describirlos en el lenguaje SVG que la mayoría de los navegadores web modernos serán capaces de representar sin usar componentes extra. Como son vectoriales no dependen de la resolución y se mostrarán bien a cualquier tamaño de ventana. Esta ventaja permite ceder al estilo CSS el criterio con el que se establecen las dimensiones y dejar al SVG la presentación de los valores.
Muchos de los circuitos microcontrolados se bastan con un MCU de una serie pequeña por velocidad (frecuencia) y por memoria. Por supuesto, conforme un proyecto crece en complejidad, van siendo necesarios más recursos pero los que más rápidamente se agota en montajes pequeños son los GPIO. El MCP23S17 resuelve este problema a lo grande: aporta 16 GPIO y se comunica por el bus SPI con el µC, lo que permite una velocidad de lectura y escritura más que aceptable; además, utiliza un único pin para las interrupciones, gestionando los distintos estados en el propio integrado.
El TCS3200 es un sensor de color formado por una matriz de 8×8 fotodiodos que disponen de filtros de color (según el modelo RGBW) y que se pueden activar o desactivar por medio de unas entradas digitales en el componente.
Internamente dispone de un conversor que genera una frecuencia más o menos alta en función de la corriente que atraviesa los fotodiodos, es decir, en función de la intensidad de la luz que cada grupo de la matriz detecta, lo que permite establecer el color como la suma de la luz que ha atravesado los distintos filtros.
El BH1750 permite medir la intensidad de la iluminación ambiental con una precisión de hasta medio lux en longitudes de onda similares a la percibidas por la visión humana (algo más de una décima de lux en ventanas ópticas reducidas). Como dispone de comunicaciones por bus I2C es posible separarlo cierta distancia del circuito con mucha resistencia a las interferencias (midiendo con una precisión de un lux) y se gestiona de manera muy sencilla desde un MCU. Es capaz de detectar iluminación por debajo de los diez lux con tiempos de respuesta entre 16 ms y 120 ms en función de la configuración.
Una de las formas más sencillas de implementar en un circuito la detección de presencia de luz es utilizando LDR, que modifican el valor de su resistencia en función de la iluminación de manera que, a más luz, ofrecen menor resistencia.
Aunque no son dispositivos muy precisos, sí que resultan muy funcionales y sencillos de usar. Para explotarlas desde un µC bastará con medir la tensión que la modificación de su resistencia produce en una entrada analógica por la presencia de mayor o menor iluminación.
Los componentes encargados de la conversión analógica-digital o digital-analógica son muy útiles en muchos dispositivos, tanto para aumentar los puertos analógicos disponibles en un MCU, como para poder gestionarlos a cierta distancia sin sufrir interferencias.
El PCF8591 es uno de los más populares ya que, aunque solo cuenta con una resolución de 8 bits, es muy barato y de uso muy sencillo en la implementación electrónica en un circuito y en la programación.
Si tu proyecto necesita muchos GPIO pero no te hace falta un µC mayor, puede usar un expansor de puertos como el PCF8574 que se conecta al bus I2C, así que puedes usar varios en el mismo proyecto, y que se usa de forma muy sencilla desde Arduino con la librería Wire.
El PCF8574 dispone de un puerto de entrada salida digital de 8 bits. Además es capaz de generar una interrupción para avisar al µC de cambios de estado en el puerto para que no sea necesario leer periódicamente el dispositivo.
Hasta hace poco, los profesionales de la Internet de las cosas llegaban desde la tecnología, el hardware, los sistemas, la programación… pero en el sector se echa de menos a los perfiles de diseño.
Para llenar ese hueco, especialmente en el mundo de la creación textil, Automat ha lanzado una campaña en Indiegogo con un atractivo producto con la vista puesta en el prototipado de wearables.
Automat apuesta por la programación con Node-RED en la nube y por un sistema propio de desarrollo para móviles.
La radiación ultravioleta que atraviesa la atmósfera y llega hasta nosotros es la que se encuentra en el rango de los 280 nm y 400 nm, a partir de la cual se encuentra la zona visible del espectro electromagnético. Para protegernos del efecto de la radiación ultravioleta, especialmente el ionizante, muy nocivo para piel y ojos, la Organización Mundial de la Salud publica una guía práctica con medidas de protección en función del índice UV. En este artículo explico cómo calcular el índice UV con el sensor analógico de radiación ultravioleta GUVA-S12SD del módulo UVM30A y una placa Arduino.
Para optimizar el uso de la librería DS3231 para Arduino, en este explico propongo una alternativa que consiste en separar la comunicación con el RTC de la gestión de los datos de fecha y hora.
De esta forma, la librería que consulta la temperatura y la fecha y la hora del DS3231 pasa a ocupar mucha menos memoria cediendo la funcionalidad de la conversión a formatos «humanos» a una nueva librería que además aporta nuevas prestaciones como la comparación de fechas o la corrección durante el horario estacional.
Una forma muy económica y razonablemente precisa de medir la distancia a un objeto es por medio de ultrasonidos. En el proceso, un emisor lanza un pulso hacia el objeto cuya distancia quiere medirse, rebota en su superficie y llega de vuelta a un receptor situado en paralelo con el emisor. Midiendo el tiempo que el pulso de ultrasonidos tarda en recorrer la distancia (ida y vuelta) y conociendo la velocidad del sonido se obtiene el valor buscado. En Arduino puede hacerse con los populares módulos HC-SR04 y HY-SRF05.
La amplia difusión de JavaScript en tecnología web, tanto en el frontend (en el cliente) como en el backend (en el servidor), especialmente gracias a node.js, ha hecho que el formato JSON (siglas de JavaScript Object Notation) se convierta en un estándar para el intercambio de datos también para la Internet de las cosas.
En el tutorial de este artículo explico cómo codificar los datos, usando el formato JSON, para leer o enviar información entre un cliente y un servidor web.
La filosofía hágalo usted mismo, DIY, ha llegado hasta Netflix con un wearable entrañable: unos calcetines que pausan automáticamente la reproducción de la maratón de tu serie favorita si te quedas dormido. Así no te pierdes ninguno.
El funcionamiento es sencillo. Cada cierto intervalo de tiempo, el microcontrolador de una placa Arduino consulta el estado de un sensor de movimiento. Si el usuario pasa mucho rato quieto se avisa encendiendo un LED para que se mueva, si no lo hace se supone que se ha dormido y se envía una señal (con un LED infrarrojo) que pausa la reproducción.
Una de las formas más sencillas de almacenar en una base de datos remota la información obtenida por nodos IoT es utilizando un servidor web que reciba los datos y los almacene en ella.
En esta serie de cuatro artículos se ofrece una introducción a la explotación de un servidor de bases de datos MySQL desde un servidor web Apache usando el lenguaje de programación PHP.
De toda la arquitectura REST (representational state transfer) que se suele utilizar en la web para crear un sistema de intercambio de datos CRUD (create-read-update-delete) sobre el protocolo HTTP, para el almacenamiento de datos que se trata en este artículo, solo es necesario realizar peticiones POST en las que se envía la información de los sensores conectados a la Internet de las cosas, lo que hace muy sencilla la programación de estas operaciones en el microcontrolador.
Para explicar la propuesta de este artículo he elegido MySQL, la más presente en los servidores web públicos de uso genérico. Las dos opciones de tecnologías de bases de datos para almacenar información de sensores en la IoT son SQL y no-SQL. La razón de elegir una u otra se basa precisamente en lo que más las diferencia: que los datos sean tabulares o muy variables (propiedades genéricas) y que las transacciones sean o no críticas frente a la velocidad de acceso.
El servidor web se ha utilizado en esta propuesta de almacenamiento de datos para la IoT como un intermediario para acceder de una forma más sencilla a un servidor de bases de datos. La forma de explotar desde el servidor web el acceso a la base de datos pasa por utilizar un lenguaje de programación que le dé acceso a la misma. PHP es el lenguaje de programación que está más presente en los servidores públicos que ofrecen alojamiento web genérico.
Arduino ha conseguido ser un referente tan importante como placa de desarrollo y entrenamiento que la mayoría de los productos destinados a ese mercado se vuelven populares cuando se diseñan pensando en él.
Uno de ellos es el módulo WiFi ESP8266 entorno al cual se ha creado una activa comunidad que, gracias también a un interesante SDK, ha publicado un firmware que permite programar el módulo en Lua lo que, junto con su bajo precio y excelentes prestaciones, lo hacen muy interesante para ser usado como dispositivo WiFi autónomo, ideal como nodo IoT.
En este artículo explico una forma muy rápida de diseñar un tipo de letra estilo handwriting usando como base otra tipografía definida por su trazo.
Diseñar una tipografía nunca es un proceso rápido, pero si ya has dibujado antes otra generándola con un trazo (cosa frecuente, aunque luego termine en un contorno distinto) puedes aprovecharla para definir otra con un estilo manual con unas pocas modificaciones.
Para monitorizar simultáneamente varias temperaturas y especialmente para hacerlo a grandes distancias los sensores analógicos suelen ser inadecuados porque añaden ruido a la señal, con el trabajo extra de proceso que eso implica y porque requieren tantos GPIO como sondas se instalen. Para esos casos lo más adecuado es utilizar sensores de temperatura con conversión analógica-digital y conectar a un bus que acepte varios dispositivos. Ambas características pueden encontrarse en la sonda de temperatura DS18B20 con comunicaciones 1-Wire.
Mientras se desarrolla con el IDE de Arduino es sencillo distinguir una placa en concreto de otras, entre otras cosas porque suele conectarse sólo una cada vez; pero es un inconveniente muy común necesitar referirse al puerto serie por un nombre predecible, normalmente desde una aplicación de monitorización o control que requerirá reconocer «a ciegas» la información que le llegue de una placa concreta ahorrando al usuario tener que elegirla manualmente.
Últimamente hay un gran revuelo en contra de la normativa 15-92 de la FCC de los EEUU. De aplicarse, limitaría la posibilidad de elegir el software que se instala en un dispositivo con WiFi y otras comunicaciones que usen el espectro radioeléctrico.
Hoy me entero, leyendo barrapunto.com, que Europa tenemos normativa, preparada para aplicar en 2016, con efectos más o menos equiparables en cuanto a la restricción en la instalación de software alternativo en los dispositivos con WiFi o inalámbricos, en general.
El diseño del tipo de letra ISA se hizo pensando en simplificar aún más la tipografía recomendada por el estándar ISO 3098 para rotulación técnica.
Su carácter minimalista (por ejemplo, está formada sólo por trazos rectos y por curvas circulares) ha permitido que sirva como plantilla para definir otros tipos de letras muy diferentes.
Aunque la versión TrueType finalmente está modificada para que sus extremos estén terminados por remates cuadrados, la versión base permite incluso que se dibuje por un trazado de eje central.
¡Descárgala, es libre y gratis!
Cuando necesitamos ofrecer a nuestros usuarios, tanto de dentro como de fuera de la empresa, un servicio informático de alta disponibilidad, tanto en conexión a la red como en capacidad de cómputo (y en menor medida, almacenamiento) la solución puede escapar a la capacidad de nuestros propios servidores.
Para esos casos están los servicios en la nube o el cómputo en la nube; desde la infraestructura (IaaS) hasta el propio software (SaaS)
Un dispositivo proyectado como software y hardware libre e ideado como ayuda a la rehabilitación de personas con DCA basado en plantear en su manejo un conflicto congnitivo como sobreesfuerzo en la toma de decisiones.
En este artículo explico mi propuesta de implementación sobre Arduino con un modelo 3D y una aplicación propia diseñada para ser extensible como una plataforma genérica de control remoto.
Una alternativa a la nube para conectar dispositivos que controlan sensores y/o actuadores formando una red inteligente es la tecnología de cómputo en la niebla (fog computing) que cede el procesado a los propios dispositivos ahorrando considerablemente ancho de banda y disminuyendo el tiempo de respuesta.
Esta alternativa de conexión M2M de dispositivos, también llamada fogging, representa además una oportunidad para los usuarios de recuperar el control de sus datos y de sus dispositivos al descentralizar su almacenamiento y manipulación.
Ya es técnicamente posible desarrollar dispositivos conectados a la Internet de las cosas pero antes de que lleguen por completo a los usuarios domésticos las empresas fabricantes y las proveedoras de servicios deben abordar un serio compromiso relativo a la seguridad y a la privacidad de los datos con los que trabajan para que sea posible perder el miedo a la Internet de las cosas y entenderla como una extra de ventajas sobre los equipos existentes que mejora el uso que hacemos de los mismos en lugar de una amenaza a la privacidad y un riesgo de seguridad para los usuarios.
Una forma sencilla e inmediata de usar Arduino como un dispositivo doméstico es controlarlo usando un mando a distancia por infrarrojos; el mismo que usa tu TV o tu climatizador. De esta forma podrás controlar otros dispositivos electrónicos desde Arduino a la vez que cambias el canal de TV o enciendes el aire acondicionado o reutilizar esos mandos para encender la tostadora sin tener que levantarte del sofá.
El driver TM1637 sirve para controlar 16 pulsadores (o lo que sea que cierre un circuito) y un display LED de hasta 6 dígitos de 7 segmentos.
En este artículo explico el funcionamiento del integrado TM1637 como driver de display LED desde el punto de vista del software desarrollando una librería que, como de costumbre, es GPLv3 y puedes descargar y usar gratis.
Como pasa con otros drivers, el popular TM1637 utiliza su propio TWSI, en lugar del más conocido I2C, para comunicar con el microcontrolador.
En este artículo explico su funcionamiento y su conexionado en una aplicación típica tanto para manejar un teclado de 16 pulsadores como un display LED de hasta 6 dígitos de 7 segmentos.
He programado esta librería de Arduino para usar tu propio oxímetro o alguno de los módulos que hay disponibles para medir el pulso.
Como es sencillo discriminar la frecuencia, propongo un método muy fácil de cálculo del pulso sin necesidad de usar FFT que además permite entender muy bien cómo funciona el oxímetro.
Medir el pulso utilizando la detección la intensidad de la luz de diferentes longitudes de onda es un interesante ejemplo del uso de foto-diodos o foto-transistores y para experimentar con su funcionamiento.
En este artículo explico el funcionamiento de la librería DS3231 que he desarrollado para usar con Arduino y que permite consultar la fecha y la hora en tiempo real en varios formatos además de la temperatura interna que sirve como referencia al RTC DS3231.
Como siempre, la librería es GPLv3 y puedes descargarla y usarla gratis.
El principal problema de los integrados con relojes en tiempo real suele ser que necesitan de un cristal externo (u otro oscilador) y que son muy sensibles a la temperatura, perdiendo mucha precisión en función de la misma y de su variación. El DS3231, además de ser económico como su precursores, resuelve el primer problema con un oscilador interno y el segundo con un sensor de temperatura interno que le permite calcular una corrección de error al detectar su temperatura; lo que además ofrece esta medida al sistema.
Tutorial para usar la librería de Arduino de grabación de datos en tarjetas de memoria SD y MicroSD con un ejemplo de log de datos que se activa lanzando una interrupción al detectar una pulsación.
Con este texto tienes una referencia sencilla de todo el proceso de almacenamiento de un registro de datos típico de un sistema basado en un micro-controlador.
Las tarjetas de memoria SD o MicroSD tienen varias ventajas; por una parte son muy económinas, por otro lado funcionan a una velocidad más que decente para un montaje con micro-controladores y además disponen de un modo de funcionamiento compatible con las comunicaciones SPI, presentes en la inmensa mayoría de los sistemas micro-controlados, por lo que no necesita mucho más para funcionar en un pequeño montaje en el que puede, por ejemplo, encargarse del almacenamiento de un archivo de informe (log) del estado de los sensores en el tiempo.
Sobre todo en la fase de pruebas y de prototipado es necesario grabar y analizar muchas medidas de los sensores con los que se está trabajado. Para eso es muy práctico utilizar un ordenador que puede almacenar la información para procesar después grandes bloques de datos o incluso realizar análisis en tiempo real de la información que se vaya obteniendo de los sensores conectados a la placa Arduino.
Enviar y recibir información entre una placa Arduino y un ordenador utilizando el lenguaje de programación Python es una tarea muy sencilla que merece la pena tener resuelta para poder monitorizar y controlar Arduino desde un ordenador usando un puerto serie real o un puerto USB configurado como un puerto serie por medio de un adaptador TTL.
Seguramente ya tengas instalado en tu sistema el lenguaje de programación Python y también es probable que disponga de las librerías de comunicaciones serie. Para monitorizar y controlar sistemas microcontrolados como Arduino, Python es un lenguaje muy sencillo en el que las comunicaciones serie representan una tarea elemental y muy práctica. Por si aún no lo tienes, este tutorial te explico como instalarlo.
Una forma sencilla de manejar dispositivos y obtener información de sensores en un sistema informático es utilizar un dispositivo micro-controlado como intermediario que se encarga directamente de estas tareas y que es controlado a su vez desde un ordenador; directamente, por ejemplo por el puerto serie, o indirectamente, por ejemplo integrándolo en una red local.
Incluso si un sistema micro-controlado dispone de un reloj en tiempo real es importante disponer de algún sistema de actualización y corrección de la fecha y la hora.
Si el dispositivo incluye conexión a una red local, el método de sincronización horaria más eficaz y universal es el servicio NTP.
Además del más convencional, en este artículo te propongo sistemas de sincronización horaria para el ESP8266.
El módulo ESP8266 se ha hecho muy popular por ser muy sencillo de usar por medio de los comandos AT, muy económico y sobradamente rápido para un dispositivo basado en un microcontrolador.
Una forma eficaz de explotar el integrado ESP8266 es realizando consultas HTTP para enviar información a un servidor web en el que se almacenarían y/o procesarían, por ejemplo, los resultados recabados sobre monitorización de sensores.
El módulo ESP8266 es una fórmula muy asequible para añadir conectividad inalámbrica a un dispositivo basado en un microcontrolador, tanto por sus prestaciones como por la sencillez de su integración desde el punto de vista electrónico y del software.
En este tutorial expongo, además de su funcionamiento y características básicas, algunas ideas sobre cómo se puede conectar un módulo WiFi ESP8266, cómo manejarlo utilizando órdenes AT, la actualización de su firmware utilizando la herramienta libre esptool.
En la fase de prototipado y de pruebas de diseño de circuitos electrónicos es habitual necesitar conectar de manera cómoda componentes de superficie, para lo que es útil disponerlos en placas con pines o cables configurando pequeños módulos, sobre todo con los más caros o difíciles de conseguir en pequeñas cantidades.
Una solución puede ser, con un mínimo de previsión, aprovechar el espacio sobrante al hacer PCB o utilizar el accesorio del que hablo en este artículo.
En este tutorial explico cómo usar la librería Ethernet para realizar conexiones TPC.
Además del uso genérico, también hablo de cómo usar este tipo de comunicaciones en consultas HTTP que, como ya he tratado en otros artículos, son una forma muy sencilla y eficaz de enviar información obtenida por el dispositivo microcontrolado a un servidor que soporte infraestructura HTTP, la usada por la web, ya sea de forma local o en la nube.
El integrado para Ethernet más usado con Arduino es el W5100 de WIZnet, que es el que integra el shield más oficial y sus compatibles.
Para pequeños sistemas basados en microcontrolador también es muy popular el ENC28J60 de Microchip y que he querido presentar en este artículo por ser mucho menos frecuente en el ecosistema de Arduino. También conecta por SPI al microcontrolador y aunque sólo funciona a 10 Mb/s es mucho más barato.
El perro guardián (watchdog) es un recurso de los microcontroladores y los sistemas informáticos, en general que permite reiniciarse automáticamente si detectan que el programa no se está ejecutando correctamente. Para usarlos se establece un tiempo máximo de espera desde el que se va contando hacia atrás y se indica que el funcionamiento es correcto reseteando ese contador como parte de la ejecución del programa del microcontrolador.
La programación de Arduino utilizando las comunicaciones USB y la gestión aportada por su gestor de arranque (bootloader) o cargador al inicio es tan eficaz y tan transparente que pasan desapercibidas otras alternativas como la grabación serie en sistema (ISP) que permite llevar a un circuito propio el desarrollo hecho utilizando Arduino como plataforma de desarrollo y de prototipado, sin necesidad de implementar las comunicaciones USB.
Una de las grandes ventajas del entorno de Arduino es hacer transparente al usuario la parte más técnica y menos atractiva para un principiante del proceso de programación del microcontrolador.
Este artículo explica tanto el trabajo que hace el IDE y hardware de Arduino como otras alternativas de programación y depuración de los microcontroladores de Atmel.
Si has llegado a Guadalinex desde otros sistemas operativos diferentes a Linux habrás visto que una de las grandes ventajas es la instalación y el mantenimiento tanto del propio sistema como de las aplicaciones.
Este tutorial te ayudará a conocer las diferentes alternativas disponibles para instalar y actualizar aplicaciones en Linux tomando el nuevo Guadalinex v9 como referencia y generalizando en lo posible para que puedas utilizarlo también para otras distribuciones.
Ya sea para probar el funcionamiento de determinados módulos antes de utilizarlos en un montaje, ya sea para depurar aplicaciones más complejas, es muy práctico trabajar con un ordenador en la fase de pruebas y prototipado y controlar y obtener datos utilizando un puerto serie real o uno emulado desde un puerto serie.
Hay muchas aplicaciones para comunicar serie desde el ordenador. En este artículo hablo de PuTTY que es de las más eficaces y universales.
Conectar componentes de inserción o pines a una placa de pruebas (breadboard o protoboard) es cotidiano y trivial, pero ¿Qué haces con los componentes (módulos, principalmente) que tienen conexiones de tiras de pines dobles? La solución suele pasar por usar cables, no está mal; en este artículo te propongo un truco (una chapucilla) para hacerlo de manera más cómoda si te encuentras habitualmente con esta circunstancia.
La lógica programada (o programable), en contraposición a la lógica cableada, consiste en la defición del comportamiento de un circuito integrado por medio de un lenguaje de descripción de hardware (HDL) que permite fabricar automáticamente el dispositivo conforme a tales especificaciones o bien fabricar dispositivos cuyo funcionamiento lógico puede programarse en circuito. Mientras que los dispositivos lógicos clásicos (lógica cableada) contienen un comportamiento lógico limitado, concreto y fijo, los PLD (CPLD, FPGA, ASIC…) disponen de mayor espacio para operaciones lógicas (re) definibles.
Desde ahora también puedes seguirme en la web polaridad.es en la que voy a escribir regularmente sobre electrónica y sobre otros temas tecnológicos que me interesan además del desarrollo de aplicaciones.
Además de centrar mi aportación en la programación me gustaría ubicarla en la cultura del software libre y del hardware libre, tanto para tratar temas de ese mundo como para aportar en lo posible a la comunidad libre.
Cada vez hay más componentes y módulos que sólo existen en formato de montaje de superficie (SMD) lo que está muy bien para la integración en montajes más sencillos y más compactos pero es un fastidio para hacer pruebas con ellos o ensayar partes de los prototipos. En este tutorial te propongo un truco para hacer una versión casera de un módulo, aunque sea con otro módulo, que poder conectar fácilmente con cables y/o a una protoboard colocándole pines como conectores.
Desde una imagen obtenida escaneando o fotografiando un objeto se podría crear un modelo tridimensional vectorizando la imagen y aplicando una operación 3D como la extrusión.
Como este proceso es relativamente habitual para crear relieves sencillos, Cura incorpora la posibilidad de importar una imagen y generar automáticamente el G-Code con el que imprimir el objeto en función de una sencilla configuración.
Este tutorial es la primera entrega sobre el uso de Cura para impresión 3D. En el artículo explico el significado y el acceso a los principales parámetros del programa con los que generar G-Code para imprimir en impresoras 3D del tipo Prusa.
La configuración de la impresión en 3D depende de muchos factores como el diámetro de la punta del extrusor, el grosor del filamento, el tipo de material (como PLA o ABS) la calidad buscada para el objeto final, la velocidad… Aún así, en el artículo planteo algunas pistas para ayudar a elegir más fácilmente estos parámetros.
El G-Code es un viejo conocido en el mundo de la fabricación por ordenador (CAM) y aunque existen nuevas propuestas a este lenguaje muy avanzadas tanto del lado de la legibilidad como del lado de la optimización para la máquina, sigue siendo el más presente en la industria y ahora también muy popular gracias a la impresión 3D que es lo que motiva incluir este artículo.
G-Code está estandarizado como ISO 6983 (muy adecuado para ser usado por software libre) y es muy sencillo de generar e interpretar por usar formato de texto.
Para sentar un punto de partida desde el que hablar en próximos artículos del modelado y la impresión en 3D voy a explicar algunos conceptos relacionados empezando por algunos tipos de documentos, STL en este caso, que se utilizan en este tipo de tareas.
Es muy clarificador conocer qué tipo de información 3D contienen y cómo la almacenan los formatos como el STL más allá de que se vayan a tratar o no a mano o incluso que no se vayan a realizar programas que los generen.
Esta es la animación del logotipo de la nueva web polaridad.es, una web sobre electrónica, robótica, programación, modelado, escaneado e impresión 3D… en definitiva, sobre la tecnología que nos interesa y en la que quiero hablar de mis proyectos y mis avances en electrónica en general y más en concreto de los de Internet de las cosas.
Queremos que la web sea profesional y práctica pero también nos gustaría darle un tono desenfadado al estilo de los lemas
polaridad.es que circule la corriente! o
polaridad.es donde menos no es más.
En el stand de Ingenios Electrónicos del Parque de las Ciencias de Granada estuve con otros voluntarios de GranaBot construyendo y presentando los micro-robots educativos para niños, que desarrollamos como introducción para el curso infantil de robótica y programación que estamos preparando en el que los alumnos diseñan la forma y el funcionamiento de su robot, lo construyen y lo programan.
GranaBot es una feria de electrónica, robótica, impresión 3D… cada vez más un certamen de makers organizado por una comunidad de voluntarios que también compiten con sus robots o muestran al público sus proyectos electrónicos.
Además de representar la tecnología expuesta en la feria, la nueva imagen se diseña pensando en mostrar la emotividad volcada por los participantes desde sus inicios para lo que, por ejemplo, se diseña una mascota que, aunque modernizada, recuerda a la original, el primer robot de GranaBot.
El diseño de la tipografía Sircuito es uno de los componentes fundamentales con los que redefinir la imagen de GranaBot dándole una personalidad original.
Este tipo de letra se define pensando en representar modernidad, tecnología (mejor aún, electrónica) y hacer referencia a Granada para identificar el origen de la feria GranaBot.
El trazado imita dibujos de la Alhambra y el nombre es un guiño a la electrónica y a la pronunciación autóctona de Granada :)
¿He dicho ya que me apasiona el software libre? En esta ocasión lo he celebrado con algunos compañeros de Acadacual en la reunión que organiza G-Cubo cada año en el día de la libertad del software, en el espacio de coworking Happen, esta vez.
En esta reunión, además de comentar novedades del software libre, hablamos sobre el uso profesional que cada uno de nosotros hacemos del software libre. Por supuesto también hubo tiempo para el networking en forma de tapas por Granada.
La organización de Acadacual es de trabajo colaborativo así que muchos desarrollamos nuestros proyectos desde casa y cuando necesitamos estar juntos muchos de nosotros usamos algún servicio de coworking por lo que los hemos estudiado con detalle.
Si empiezas profesionalmente por cuenta propia puedes beneficiarte de las ventajas del coworking: desde estar acompañado y desarrollar una rutina profesional fuera del ámbito doméstico hasta aliviar gastos como local (sede) o suministros.
Vista la reacción de usuarios y proveedores, debo ser el único al que le guste que se preserve la privacidad. Aún creo que se quedan cortos. Ni me sorprenden ni me importan las críticas y hasta burlas que desde EEUU hacen a la legislación europea pero sí que aquí nos moleste proteger a nuestros usuarios y que entreguemos sus datos a los grandes, para colmo, por unas migajas; que no reflexionemos el coste de usar, sin necesidad, no ya cookies, sino APIS y DNS externas sin reflexionar en las consecuencias sobre la privacidad.
Si al navegar exponemos nuestra información a los «estadistas de la web» usar dispositivos conectados a Internet, la Internet de las cosas, es ya meterlos en casa. Es muy importante reflexionar sobre qué servidores usar, qué información enviar y en qué condiciones hacerlo. Usada con responsabilidad puede ser muy útil y hacerlo sin precaución es meter en casa un espía. Usar software libre es una garantía más de ser dueños de nuestra propia información.
Seguramente sabes que Android utiliza como kernel Linux, paradigma del software libre. Más allá del núcleo cuesta encontrar mucha más libertad. Siempre queda espacio para mejoras tecnológicas en cualquier aspecto, pero el mundo de los teléfonos inteligentes ya está maduro en prestaciones en sus diferentes gamas y ahora los fabricantes deberían poder atreverse a abrir el abanico en el software de sistema. Además ahora muchos usuarios se han dado cuenta que un smartphone es un riesgo para la privacidad que sólo se cura con más libertad.
Con cada mejora de HTML y CSS, y ahora están a punto de estandarizarse algunas muy importantes, nos deshacemos en alabanzas hacia sus excelencias perdiendo, a mi juicio, la perspectiva sobre sus prestaciones, no en comparación con anteriores versiones, sino con las de, por ejemplo, otros recursos gráficos incluso anteriores en el tiempo. La autocomplacencia en este ámbito confunde y decepciona a los clientes y dificulta el avance tecnológico en algo ya complejo por su necesaria estandarización.
Guadalinex Edu, para educación, ha adelantado en desarrollo a Guadalinex, para ciudadanos. Seguro que esto se va a resolver en breve con la versión 9 de Guadalinex que ya esperamos impacientes, mientras, tenemos tiempo para ir echando un ojo, como hacemos en este artículo, a la distribución de Linux que podrán usar los estudiantes andaluces y ojalá que también sus padres, para estar al día, al mismo nivel que con el resto de sus estudios, y para acercarse al software libre: cuando lo conoces ya no quieres otra cosa.
¿No te preguntas qué financia esos excelentes servicios que usas sin pagar nada (o muy poco) por ellos? Yo sí, y a falta de una respuesta determinante, más que indicios me hacen pensar que el precio es el tráfico que hacen de nuestros datos, de nuestra privacidad. Quiero pensar que principalmente para publicidad pero poco les impide (leyes más laxas en el respeto a la privacidad que las europeas) otro usos más oscuros. La solución para mí es la transparencia que me da el software libre. Y libre tiene por qué ser gratis como gratis no tiene por qué ser libre.
La tipografía «Regulera» nació como una adaptación del tipo de letra «Flaca» para un proyecto que necesitaba que una letra pequeña y compacta fuera legible pantalla. Una vez que hemos empezado a usar esta tipografía en otros proyectos nos han surgido otras implementaciones a las que hemos respondido definiendo nuevos miembros para la familia: la de trazo más fino, finales redondeados o grosores mayores. Como hicimos con el primer componente de la familia tipográfica, en este artículo explicamos el proceso de diseño de los nuevos componentes y te los ofrecemos libres y gratis.
Ya se sospechaba que existían en Internet procedimientos más o menos sistemáticos de «adquisición de datos privados» por parte de algunos estados, es decir, de espionaje institucionalizado y habitual.
Cada vez parece más evidente que por más que algunos gobiernos digan libertad refuerzan sus sistemas de espionaje: muy mal; extendiéndolo a cualquier ciudadano y sin supervisión judicial: imperdonable.
Por suerte nos quedan recursos, muchos de los cuales pasan por el software libre, para defender nuestro derecho a la privacidad.
En Acadacual usamos GStreamer para muchas tareas de vídeo: redireccionar, mezclar, capturar, convertir… Tomando como ejemplo su uso para realizar videconferencias, en este artículo explicamos cómo funciona y cómo hacer con él algunas tareas como mostrar vídeo del escritorio, superponer imágenes, mezclar la señal de varias cámaras, grabar la señal de vídeo… de manera transparente para el programa con el que se realiza la videoconferencia.
Después del aununcio de hace un par de años, estaba convencido de que el proyecto LinEx estaba liquidado; así que cuando me he enterado de que sacan una nueva versión, además de llevarme una alegría, me he puesto a probarlo. LinEx no es mi distribución de escritorio pero le tengo especial simpatía por ser pionera en lo que me parece una buena idea: adaptar desde la iniciativa pública una distribución excelente para que un usuario básico encuetre lo necesario para ser práctica en un entorno local.
Esta tipografía es una creación a medida para un proyecto en el que necesitábamos una tipografía que, leyéndose en pantalla cómodamente, fuera lo más pequeña posible (12 píxeles de alto), sobre todo lo más compacta posible (4 píxeles de módulo) para poder generar columnas de texto estrechas con suficientes caracteres como para que la justificación a derecha e izquierda resultara elegante, sin formar estructuras al sobrar grandes espacios. Como hicimos con su precursora, la tipografía «Flaca», la puedes descargar gratis y por supuesto, es libre.
En el diseño de páginas web se pueden ver claramente dos conceptos típicos en informática: el modelo cliente servidor y la división del desarrollo de aplicaciones en una estructura separada backend y frontend. El backend, que en este caso funciona en el cliente (que sería el navegador que muestra la página web) es el encargado de presentar el interfaz del usuario, gestionar sus interacciones y enviar y recibir la información que el backend se encarga de almacenar y procesar en el servidor web.
Internet de las cosas, conocida como IoT, por las siglas de Internet of things, es la red que forman, o el uso que dan a la red, muchos de los dispositivos que ya existen pero que ahora se vuelven más inteligentes, tanto por sus nuevas prestaciones como por las ventajas que les aporta la inter-conectividad, la monitorización y el control remoto. Las infraestructuras y las teconologías que soportan el concepto de la IoT están listas y apenas han empezado a llegarnos unos pocos de los millones de dispositivos que usaran este nuevo paradigma operativo.
En Acadacual nos gusta compartir con nuestros usuarios los procesos que seguimos en nuestros proyectos. El desarrollo del diseño de la imagen de una empresa es algo que muchas prefieren preservar, por los que nos cuesta a veces encontrar documentación de proyectos que mostrar para presentarnos; por eso, hemos usado para este artículo una propuesta finalmente no implementada, que además incluye algunas peculiaridades en el proceso que esbozan nuestro estilo.
Al igual que ocurre con las imágenes estáticas, en el vídeo no sólo la cantidad de píxeles (a la que nos referimos frecuentemente como «resolución») determinan la calidad que se percibe finalmente. Partiendo de un mismo original, la elección del Códec más adecuado y el nivel y el tipo de compresión usados para generar el documento final son críticos. Por más píxeles que «mida» nuestra película si el flujo de datos (conocido como «bitrate») es bajo no conseguiremos una buena calidad.
En Acadacual utilizamos Python en muchos proyectos que incluyen aplicaciones de escritorio o como forma de desarrollar rápidamente guiones para automatizar determinados procesos para nuestro propio uso y para nuestros clientes.
Para poder utilizar estos recursos sobre la marcha es muy práctico tener una instalación de Python operativa. Si todavía no lo tienes en tu sistema, en este artículo te explico cómo instalarlo.
Diseñamos esta tipografía hace tiempo para resolver un problema puntual de un proyecto: la presentación de un volumen importante de texto que debía ser legible en pantalla a un cuerpo pequeño. Después haber servido a su propósito pasó un tiempo olvidada; ahora que hemos redescubierto su potencial y con algunos cambios para hacerla más versátil, la liberamos en un grado de desarrollo utilizable (aunque a un nivel beta aún) y la liberamos para que puedas usarla: es gratis y por supuesto, libre.
Si eres muy estricto en el uso del software libre ya te habrás dado cuenta de que muchas distribuciones GNU/Linux incluyen algunos componentes que no son libres. Un ejemplo típico es el firmware que algunos dispositivos necesitan para funcionar. Con algunas distribuciones, como mi querida Debian, tienes recursos para eludir el uso de software privativo pero si quieres estar seguro sin estar pendiente de la parte técnica, te recomiendo Trisquel, tan fácil como Ubuntu, de la que deriva, y sólo con software libre.
Una cookie es un fragmento muy pequeño de información que una web almacena en nuestro ordenador cuando la visitamos. Esa definición tan neutra y tan frecuentemente usada para definirla como algo inofensivo, nos oculta que es algo que se usa para identificarnos individualmente y simplificar la recolección de nuestros datos. Hay que mirar con cuidado las cookies propias de una web que visitemos y más las que usen de terceros (las de «El Buscador», principalmente) con las que se cruza toda la información que se obtiene de nuestra navegación.
Hace un montón de tiempo me entretuve en diseñar un tipo de letra como el que hago a mano. Era más una prueba de concepto y un ejercicio pedagógico para explicar cómo crear una tipografía que un producto terminado, pero resulta que mis alumnos la difundieron en versiones varias (¡gracias!) y empecé a verla en aplicaciones gráficas. Me quedaba pendiente rescatarla y ponerla «a mano» a disposición de quien quisiera usarla, así que aprovecho esta oportunidad desde Acadacual para hacerlo.
¡Descárgala, es gratis y libre!
El hardware libre es el que aporta la documentación necesaria para su construcción, adaptación o modificación de manera libre. Es un término nuevo que de hecho está definiéndose aún actualmente y que hereda el concepto de la libertad del software del movimiento GNU (precursor en este campo) y se inspira en ella para trasladarlo al ámbito de la fabricación, el diseño industrial, el diseño electrónico de circuitos y componentes… donde tradicionalmente ha estado más arraigado el trabajo bajo secreto y patente.
La forma en la que se realizaron las primeras versiones no me resultó inicialmente muy atractiva (esos nombres de aplicaciones…) pero la idea siempre me pareció fenomenal: adaptar un sistema operativo libre para ayudar a los usuarios noveles a vencer las barreras de acceso a algo desconocido. Ahora, por motivos ¿económicos? que cuesta entender, parece que se abandona una de las primeras distribuciones Linux adaptadas por la administración pública.
Como su nombre sugiere, se trata de software para codificar o decodificar información multimedia: imágenes, audio, vídeo y otros elementos no tan evidentes como subtítulos o metadatos para describir el contenido. La mayoría de las veces uno de los trabajos que realizan los codecs es la compresión de la información. Esta tarea puede realizarse respetando estrictamente el original (es decir, sin pérdidas) o modificándolo más o menos de forma que se consiga un flujo de datos menor (y un menor tamaño de documento) a costa de una reducción controlada de la calidad.
En imagen, «resolución» puede indicar la cantidad de píxeles (unidad de información gráfica más elemental) que hay en determinada superficie de imagen o al total de píxeles presentes en un dispositivo como una pantalla o un sensor.
En general, la resolución determina la densidad de información que es posible medir o representar; esto es, la cantidad de información que hay en una porción de contenedor o en su totalidad. En el primer caso cuando es muy extenso o desconocido y en el segundo cuando es conocido y fácilmente abarcable.
Desde otro enfoque, también puede significar la cantidad más pequeña que dicha información puede representar y se usa, por ejemplo, en sensores.
Aunque sea confuso, es aceptable expresar una resolución en píxeles por pulgada (como la de una imagen) o sólo en píxeles, ya sea como el total (como en una pantalla) o como la variación menor apreciada (como en un sensor)
Dentro de muy poco tiempo todas las conexiones que lleven nuestros datos por Internet serán seguras, para eso es necesario que la información que se transmite esté cifrada. Muchos de los protocolos incluyen ya el cifrado entre sus características o existe una versión adaptada de los mismos que lo incluye.
Mientras llega ese futuro tenemos que asegurarnos nosotros mismos nuestros datos. En este artículo explico cómo hacer para proteger la información que enviamos por Internet mediante túneles con cifrado usando SSH.
Conocí LISP desarrollando utilidades para CAD. En esos momentos usaba AutoCAD y la implementación AutoLISP. Al principio sólo porque no había alternativa viable y más adelante porque, aunque ya sí la había, LISP me enganchó; me parecía fascinante su filosofía y estaba muy a gusto su sintaxis.
Adiós John, te debo un lenguaje formidable, que ahora echo de menos y quiero volver a usar, y un nuevo enfoque de programación que marca la forma que la que desarrollo.
La libertad en el software se puede alcanzar en varias etapas o niveles; si hay uno innegociable es el de los formatos y si en un contexto es imprescindible es en el de lo público. Cuesta entender que en la administración faciliten información oficial codificada en formatos cuyas especificaciones no sean públicas y estándar, especialmente cuando existen alternativas perfectamente válidas. No sé qué es peor, que lo hagan por ignorancia o que sea por interés o presión de alguna firma o de un lobby. Ni siquiera que un programa sea cerrado es excusa para que el formato de la información lo sea.
Bien está que se conozca, se reconozca y se aproveche todo trabajo ya hecho antes que el nuestro para resolver problemas y desarrollar, aplicar teorías y métodos… pero, si resulta improductivo ignorar una buena solución que ya existe, peor es perder la costumbre de replanteárselas todas, de no cuestionar lo convencional, de no buscar, siempre que haya ocasión, una nueva forma de hacer las cosas.
Estoy convencido de que no hay ninguna contradicción, que es posible defender al mismo tiempo la estandarización, la libertad del conocimiento y la continua reinvención de la rueda.
Ya conocíamos la «versión Ubuntu» de Linux Mint y nos parecía excelente, pero hasta ahora no habíamos probado la versión Debian (LMDE) Después de usarlo unas semanas nos parece una forma excelente de empezar con Debian, que sabemos que asusta a muchos usuarios por su fama de difícil de instalar y por su fama de poco actualizado aunque robusto y seguro.
La versión «testing» de Debian cada vez es más sencilla de instalar y contiene paquetes más actualizados, mientras llega al grado que te parezca cómodo te recomendamos probar LMDE.
El lenguaje de programación C no fue el primero que usé ni el primero que apliqué profesionalmente pero desde que lo conocí me pareció el más equilibrado, el genérico en cualquier uso y empecé a medir todo tomándolo como referencia; eso que ya usaba antes Pascal.
Por eso y seguramente por su relación con UNIX, que me parecía el sistema operativo perfecto, al C le tengo un especial cariño y una gran admiración a sus autores.
Internet es un canal de comunicación muy poderoso ya que permite acceder fácilmente a él tanto para transmitir información como para recibirla por lo que cualquiera puede manifestar su opinión y conocer la de los demás, no sólo la de los grandes medios. No es raro, por tanto, que periódicamente surjan intentos más o menos evidentes de descompensar la neutralidad del medio o de censurar determinada información o, lo que me parece aún peor, presionar para para conseguir la autocensura.
La maravilla de la ubicuidad que «la nube» ofrece a nuestra información, la cómoda solución al almacenamiento y a su respaldo, las ventajas de ceder su procesado a potentes servidores, así como la posibilidad de compartir con otros información personal o de nuestros trabajos no debe hacernos perder de vista dos inconvenientes ¿Qué pasa cuando no hay conexión? ¿Cómo voy a seguir trabajando? ¿Seguro que la información es mía y sólo mía? ¿Pueden terceros «traficar» con ella? ¿Está a salvo y a mi disposición incluso para eliminarla?
Nos referimos coloquialmente a ellos como «virus» pero siendo estrictos habría que llamarlos «malware»: software que nos perjudica. Pueden atacarnos de diferentes formas pero con sistemas operativos tan seguros como los actuales lo más frecuente es la «ingeniería social», es decir, engañar a los usuarios en lugar de a sus sistemas informáticos. Ahora que nuestra vida pasa tanto por lo digital, pueden hacernos daño en muchos sentidos, desde espiarnos hasta robar directamente nuestro dinero del banco.
Siempre que se habla de Internet se enfatiza en que es una red horizontal, en la que cualquiera puede aportar y de la que cualquiera se puede valer. Con esta idea, cierta, en mente, es fácil olvidar que se apoya en unas infraestructuras que en nuestro país no son libres.
Además de liberarlas haciendo que sean patrimonio de la ciudadanía, podemos controlarlas si las construimos nosotros mismos con la doble ventaja de preservar la neutralidad de Internet y de hacernos dueños de nuestros datos.
Cuando la velocidad de conexión a Internet era mínima, no estaba tan presente la discusión sobre la neutralidad de la red; en parte por las necesidades de los usuarios y en parte por las posibilidades técnicas de explotación del servicio. Ahora, que existen y se prevén velocidades que permitirán cosas antes difícilmente imaginables como la transmisión de vídeo de alta calidad en tiempo real, es crítico preservar la neutralidad en la red; que nadie, por su contenido o por lo que esté dispuesto a pagar, disponga de unas condiciones privilegiadas o penalizadas en la red.
Es frecuente confundir Linux con un sistema operativo. En realidad Linux es el núcleo de muchos sistemas operativos; por ejemplo, el núcleo de Android, que se encarga de las tareas de nivel más cercano a la máquina, es Linux. Pero para que un ordenador sea útil necesita mucho más que el núcleo; además de las aplicaciones con las que los usuarios lo explotan, toda una serie de utilidades que les dan soporte y que permiten gestionarlo. Ese conjunto, cuando es libre, lleva delante el nombre con el que se inició ese movimiento: GNU
El software libre es el que respeta las libertades de los usuarios.
La libertad de utilizar el software para cualquier finalidad, no sólo la que el autor previera inicialmente.
La libertad de analizar su funcionamiento interno y poder modificarlo.
La libertad para distribuir el software, tanto el original sin modificar como versiones con modificaciones propias.
En Acadacual nos gusta compartir con nuestros usuarios el proceso de creación de su imagen. Una parte clave en el diseño gráfico es la elección o la definición de la tipografía donde, detalles muy sutiles pueden marcar diferencia en la calidad.
Con este artículo queremos desvelar la nomenclatura que suele utilizarse en la descripción de un tipo de letra para que nos resulte más sencillo entendernos con el usuario del diseño y establecer mejor la respuesta a sus necesidades de comunicación.
En la serie de artículos «Aclarando conceptos» queremos hacernos entender. Muchos clientes nos piden el diseño de un logotipo cuando necesitan el diseño de su identidad visual o hasta de toda la imagen corporativa; antes de empezar a trabajar es necesario conocer a fondo las necesidades del nuestros clientes.
Estamos convencidos de que entendiendo mejor el proceso de diseño y lo que desde Acadacual podemos aportar, la colaboración con nuestros clientes y su satisfacción mejora extraordinariamente.
Uno de los pilares que suele fundamentar el diseño de la identidad visual y en general la expresión gráfica, es la tipografía; por eso, queremos empezar con este una serie de artículos en los que hablar sobre tipografía, tratar sobre los conceptos relacionados, explicar cómo la entendemos nosotros y presentar tipos de letra de diseño propio, comentando el proceso de desarrollo para ayudar a nuestros usuarios a entender por qué cada tipo de letra y conocer mejor ese aspecto de la imagen que hemos diseñado para ellos.
En esta página web puedes consultar mi aportación al Colectivo Acadacual. Mi aportación es principalmente técnica aunque la estructura de organización me permite expresar otros intereses, como la expresión gráfica, con un enfoque propio que encaja fenomenal. Además de seguir con mis propios proyectos, estoy deseando estrenar este nuevo mestizaje con el que contagiarme de nuevas ideas y nuevos enfoques.
Hay mucho artista peligroso suelto por aquí, mejor me hago yo mismo la caricatura antes de que sea demasiado tarde.
En el nuevo Colectivo Acadacual somos un grupo de profesionales que trabajamos como freelance en sectores variados que tienen la comunicación y el diseño como factor común.
Después de colaborar en diferentes tipos de proyectos hemos decidido organizarnos entre nosotros de una manera explícita para poder aportar lo mejor de cada uno de nosotros como profesionales. Se trata de una organización horizontal y colaborativa. Cada uno tenemos nuestra misión y todos participamos de un común.