Hola a tod@s.
En mi proyecto de medir valores con sensores y mandarlos por MQTT, estoy teniendo a veces problemas de que no me llegan datos por los siguientes motivos (uso mkr1010 y sensores grove de seeedStudio).
-
No llega señal WIFI a/de mi mkr1010 (otros ordenadores, o portátiles se conectan, aún siendo la señal muy baja), pero los mkr1010 no llegan a conectarse
-
No estar conectado al Broker. Me ocurría al principio por no ajustar el tiempo de espera con el Broker. Ahora ya no.
-
Mandar dos mensajes en el mismo momento. No es un problema, pero uso InfluxDB, y mando los datos de todos los sensor a la misma base de datos (18 sensores en total), vía NodeRed. Me he dado cuenta, de que si llegan en el mismo segundo, y tengo puesto unidad segundos (en influxDB), solamente guarda uno. Lo que hago ahora es escribir el tiempo en nanosegundos, y además todos los arduinos, al iniciarse esperan un tiempo aleatorio (0-20s) antes de iniciar su bucle de medir y mandar datos.
Respecto al punto 2 y 3, creo haberlo solucionado (/apañado), pero el punto 1 sigue dándome problemas.
Para el problema de la WiFi, queda reorientar las antenas (complicado) o probar con papel de aluminio tipo forma parabólica...
¿No os ha pasado esto a vosotr@s? Ando un poco justo de tiempo, pero me estoy planteando ir guardando las mediciones en los momentos de desconexión, y subirlas cuando esté otra vez conectado. Creo recordar que tengo una 256kB de memoria, y solamente uso 50kB. Cada payload ocupa unos 256bytes, que mandando cada 3min aprox, en horas de alta frecuencia (8h-18h), y 15-20min el resto del día, me da para varias semanas de registro.
La idea es guardar los datos cuando el trafico WiFi es tan alto que las antenas no dan abasto, y cuando otra vez pueden, hacer flush flush...
Resumiendo:
a) Probar parabólica, cubierto de papel de aluminio, para que rebote la señal hacia la antena.
b) Guardar los mensajes que no se han podido enviar, por estar intentando conectarse.
La señal WiFi en el edificio en si no es mala, pero en ocasiones hay mucha gente conectada a las antenas. Además he notado que la señal que manda/recibe los arduinos es mucho más baja que la de cualquier móvil/portátil.
¿Os parece excesivo? ¿Hay alguna biblioteca que haga esto ya?
Muchas gracias y saludetes!