msgbartop
El mundo se divide en dos: los que tienen el revólver cargado y los que cavan. Coge la pala
msgbarbottom

25 oct 23 Control de luces inteligentes con NFC, MQTT y Node Red

En fechas recientes he implementado un elemento adicional de interacción con la domótica. No es algo especialmente nuevo (de hecho, ya en Irlanda empecé a trastear con ellos), pero sí es algo que he recuperado recientemente: el uso de tags NFC para interactuar con la domótica, usando teléfonos inteligentes. La idea es bastante sencilla: desplegar una serie de tags desplegados por la casa, allí donde quiera que se dispare una acción concreta, para escanearlo con el teléfono, y ejecutar la acción. Y el elemento más obvio para ello es el control de luces inteligentes.

En mi caso, tengo desplegadas dos tecnologías diferentes para el control de luces inteligentes: interruptores WiFi (básicamente, diversas variedades de Sonoff) y luces Zigbee, que controlo mediante sendas plataformas zigbee2MQTT que tengo tanto en Santiponce como en Forcarey. Todo ello integrado en mi servidor MQTT, que se utiliza también con la plataforma HomeAssistant. La gracia del asunto es que toda la interacción con ellas se realiza desde el propio HomeAssistant, independientemente de la tecnología subyacente. Y siempre usando MQTT como elemento de mensajería.

Para poner en marcha el sistema de interacción basado con NFC he optado por lo siguiente: codificar en los NFC el envío de un datagrama UDP. La razón de hacerlo así es que es que de esta manera se evita, como es el caso de conexiones HTTP o similar, el tener que hacer uso de un programa específico en el teléfono, ya que mediante el envío del datagrama se evita que el usuario tenga que interactuar con ninguna aplicación, haciéndose el envío siempre en segundo plano. Esto implica que es preciso tener abierto en algún lugar un puerto UDP al que enviar los mensajes. Y la opción obvia en mi caso es hacer uso de Node-Red.

Así pues, he hecho un flujo bastante simple, que lo que hace es exponer un puerto UDP, a donde el teléfono envía la mensaje del datagrama. Este mensaje, en líneas generales, es un alfanumérico que me permite identificar qué luz quiero encender (por ejemplo, santiponceSalon1, para identificar la luz principal del salón de Santiponce). Una vez recibido el mensaje, se procesa en un switch, con tantas entradas como luces a controlar (en mi caso, de momento, 4), y se incluye en el payload el mensaje de encendido/apagado. Aquí hay dos opciones:

  • Luces Sonoff: Para las luces WiFi basadas en Sonoff con el firmware Tasmota, basta con enviar un “TOGGLE”, y con eso variaremos el estado de la luz entre encendido y apagado. Ese mensaje se envía mediante MQTT al topic que permite dar órdenes al interruptor (por lo general, algo como xxxxx/xxxx/cmnd/xxxx/POWER).
  • Luces Zigbee: En mi caso, como decía, uso Zigbee2MQTT para controlar las luces Zigbee de manera agnóstica al fabricante, interactuando a través de un servidor MQTT. En este caso, la composición del mensaje es algo distinta. Hay que enviar un ‘{“state”: “TOGGLE”}’. Se enviará al topic que, como en el caso anterior, permite enviar comandos. Será algo como zigbee2mqtt/0xxxxxxxxxxxx/set
Flujo Node Red para control de luces inteligentes con NFC y MQTT

Flujo Node Red para control de luces inteligentes con NFC y MQTT

Una vez publicado el flujo, el servidor donde tengamos desplegado Node-Red abrirá un puerto UDP para escuchar conexiones (aconsejo hacer uso de un puerto alto, para evitar tener que asignar permisos de root). En mi caso, dado que publico Node-Red mediante un contenedor docker, es por lo que tenía que realizar una publicación de puertos del contenedor, de lo que hablaba en el artículo anterior. Y con esto, estaremos listos para controlar las luces con un móvil NFC.

Un par de comentarios adicionales:

  • Desde el punto de vista de la seguridad, no es una buena práctica publicar estos puertos hacia Internet. En mi caso, lo tengo publicado sólo en el contexto de la red local de mi casa, lo que no supone un problema, ya que siempre voy a estar conectado a la WiFi cuando interactúe con los tags NFC. Se puede exponer hacia Internet, pero lo desaconsejo de manera vehemente.
  • Para grabar los tags NFC para que envíen datagramas por UDP hago uso de la versión Profesional de la aplicación de Android NFC Tools. Vale apenas unos 3€, y compensa tenerla. La manera de hacerlo es muy sencilla, basta con agregar una Tarea, de tipo Redes, UDP, y grabar el tag. Y lo bueno es que cualquier otro teléfono con NFC, aunque no tenga la aplicación, será capaz de enviar el datagrama.
Datagrama UDP con NFC Tools Professional

Datagrama UDP con NFC Tools Professional

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

Etiquetas: , , , , , , , , , , ,

29 abr 13 Cómo volver a habilitar la opción de no auto descargar imágenes en WhatsApp

Hace algunos meses desde WhatsApp habilitaron la autodescarga forzada de imágenes en las conversaciones de chat. Adujeron para este cambio que el impacto en la tarifa de datos era muy reducido, ya que las imágenes se escalaban para no consumir gran cantidad de datos. Lo que no tuvieron en cuenta es que en este santo país la gente tiene la feliz ocurrencia de enviar imágenes con barbaridades, chistes grotescos y otras atrocidades que más vale no citar.

Pues bien, existe la posibilidad, en móviles android rooteados, de volver a monstrar la opción que permite escoger si descargar o no de manera automática las imágenes. Los pasos son los siguientes:

  1. Descargar “solid explorer” o “root explorer”. Abrirlo
  2. Abrir el fichero data/data/com.whatsapp/shared_prefs/com.whatsapp_preferences.xml con el editor de textos
  3. Añadir <boolean name=”autodownload_images” value=”false” />, justo antes de la entrada <boolean name=”conversation_sound” value=”true” />
  4. Salvar y salir
  5. Mirar en “Opciones de chat”
  6. ¡Listo!

Con esto volverá a aparecer la opción de no descargar las imágenes de manera automática.

Fuente: http://forum.xda-developers.com/showthread.php?t=2146126

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

Etiquetas: , , ,

14 oct 11 Monasterio de San Isidoro del Campo, Santiponce

Monasterio de San Isidoro del Campo, Santiponce

Monasterio de San Isidoro del Campo, Santiponce

Vista nocturna del Monasterio de San Isidoro del Campo, en Santiponce. La fotografía está tomada con el software Retro Camera para Android

VN:F [1.9.20_1166]
Rating: 10.0/10 (1 vote cast)

Etiquetas: , ,

06 may 11 Primera entrada desde Android

image

Esta es la primera entrada que publico en mi página desde android. Además estoy incluyendo una imagen tomada desde una aplicación que toma fotografías en estilo antiguo. Y estoy dictando la entrada. Esto es genial.

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

Etiquetas: ,

29 may 10 Entrenamiento ciclista: Vía Verde de Itálica – Vía de la Plata

Estas última semanas me estoy yendo a rodar por los alrededores de Santiponce, varias veces a lo largo de la semana. Hay varias razones para ello: ponerme en forma, relajarme del trabajo, respirar aire puro, ir acumulando kilómetros de cara al Camino de Santiago… En cuanto al horario, tengo que admitir que es bastante caótico: a veces por la tarde, al salir del trabajo, otras veces por la mañana, algunos días antes de la caída del sol, y otras justo al amanecer, antes de ir a trabajar.

Los recorridos, al menos, están bastante delimitados, si bien tengo que admitir que es por razones de fuerza mayor: no tengo la riqueza de recorridos de los que disfrutaba en Córdoba, y de los que tengo aquí, tengo que limitarme por el momento a los de extensión no demasiado amplia, precisamente por la limitación de horarios.

Uno de ellos es el siguiente: Salida de la puerta de Itálica, para enlazar con la vía verde de Itálica, recorrerla hasta el puente sobre el arroyo del Judío. Desde alli, se toma la Cañada Real de las Islas hasta desembocar en la N-630, junto a una fábrica de ladrillos. Una vez allí, se cruza la carretera por un camino, que por debajo de la autovía llega hasta la Vía de la Plata. Bueno, para ser exactos, enlaza con un camino de mantenimiento del suministro de aguas a Sevilla que se utiliza como variante de la Vía, ya que el camino “original” (camino de Santiponce a Guillena) se encuentra casi perdido. Éste es el recorrido -de 18’4 kms.-, tal y como lo hicimos mi compañero de oficina Rafa y yo, hace unos días:


Ver Recorrido V. V. Itálica – Vía de la Plata en un mapa más grande

Este trazado, por cierto, ha sido realizado gracias a la aplicación para Android AndAndo, de la que Rafa hace uso en su teléfono móvil. Cosas como estas son las que hacen que esté considerando cambiar de teléfono.

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

Etiquetas: , , , ,