Estaciones meteorológicas de baja calidad, WeeWX y modificaciones en la base de datos "a pelo"

Mi padre tiene una estación meteorológica pce-fws 20. Se trata de una estación bastante completa con un precio muy barato, ya que cuesta unos 112.53 € (gastos de envío e impuestos incluídos). Ese precio, no obstante, se compensa con unas deficiencias de calidad poco evidentes. Por ejemplo, que el panel solar no sea capaz de cargar la batería o, la causa de este artículo, que la comunicación inalámbrica entre la estación meteorológica y su pantalla no esté protegida.

Vuelvo a decirlo: el enlace inalámbrico entre la estación meteorológica y la pantalla de visualización no va protegido de ninguna forma contra errores de comunicación. ¿Qué puede ir mal? [1].

[1] Aunque aquí señalo lo de estación meteorológica barata pero de baja calidad, lo cierto es que estos problemas también afectan a estaciones caras. En general se trata un problema ignorado de forma sistemática por muchos fabricantes, caros y baratos.

Exacto: de vez en cuando, sobre todo cuando la batería de la estación meteorológica está baja, la comunicación se decodifica incorrectamente y se introducen errores en las medidas. Nótese que proteger esa comunicación es trivial añadiendo algo como un simple Código de Redundancia Cíclica (CRC) e ignorando los paquetes de información incorrectos. Los CRC son triviales de generar y verificar.

Mi padre utiliza WeeWX en una Raspberry PI para gestionar la estación meteorológica y enviar información del tiempo local cada cinco o diez minutos a innumerables webs y servicios como APRS (sí, mi padre es radioaficionado). WeeWX dispone de una funcionalidad que permite, básicamente, comprobar que las medidas que nos interesan estén en un rango adecuado (por ejemplo, que la temperatura exterior está por encima del cero absoluto y por debajo de los 6000 grados centígrados) y rechazar las medidas absurdas. Algo que no sería necesario si la comunicación se protegiese adecuadamente. Lamentablemente esta verificación no nos protege de medidas realistas pero incorrectas. Digamos, una velocidad del viento de 120Km/h cuando fuera no sopla ni una brisa.

A veces, como consecuencia de todo esto, se guardan valores realistas pero patentemente incorrectos para un ser humano. En estos casos es necesario, por tanto, modificar la base de datos para eliminar dichos valores incorrectos.

Leer más…

Corregir el "Aspect Ratio" de un fichero Matroska

Estaba el otro día viendo un episodio de una serie y la imagen me aparecía "alargada" verticalmente. MPlayer me mostraba esto:

VIDEO:  [H264]  704x396  0bpp  25.000 fps    0.0 kbps ( 0.0 kbyte/s)
[...]
Movie-Aspect is 1.25:1 - prescaling to correct movie aspect.
VO: [xv] 704x396 => 704x564 Planar YV12

La fuente original indicó un Aspect Ratio de 1.25:1, que es patentemente incorrecto. La imagen se convierte de 704x396 a 704x564 pixels cuando no debería ser así.

Buscando dónde se guarda el Aspect Ratio en un fichero Matroska, compruebo que no se almacena de forma explícita, sino que en el fichero MKV se puede especificar la resolución de salida deseada. Por tanto podemos cambiar la resolución de salida o, simplemente, eliminar esa información incorrecta y dejar que el reproductor utilice la resolución original de la imagen:

$ mkvpropedit VIDEO.mkv --edit track:v1 --delete display-width --delete display-height
The file is being analyzed.
The changes are written to the file.
Done.

Ahora la imagen se ve correctamente y MPlayer me dice:

VIDEO:  [H264]  704x396  0bpp  25.000 fps    0.0 kbps ( 0.0 kbyte/s)
[...]
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [xv] 704x396 => 704x396 Planar YV12

Con este cambio, el vídeo tiene el Aspect Ratio correcto de 1.78:1 (es decir, 16:9) y no se cambia la resolución de la imagen de forma artificial.

Problema resuelto.

Ejemplos de uso de los comandos AT del ESP8266

En ESP8266 y el "internet de las cosas" explico qué es el ESP8266. Tradicionalmente estos módulos vienen de serie con un intérprete de comandos AT. Su uso fundamental es servir de adaptador de puerto serie a WIFI para otro microcontrolador diferente.

No se trata de una configuración que yo necesite, así que lo primero que hago cuando me llega un ESP8266 es reprogramarlo. Antes de hacerlo, no obstante, quiero daros una impresión de cómo va la cosa y sus posibilidades.

La documentación del fabricante está en chino (literalmente), pero poco a poco se ha ido publicando información con cuentagotas en webs de terceros:

Leer más…