[pyar] Sincronizar tareas en varias Raspberry Pi

Bruno Geninatti brunogeninatti en gmail.com
Lun Feb 19 22:33:36 -03 2018


Hola Nicolas.
Che, se me ocurre que a lo mejor podes implementar, como decía Nahuel, un
sistema de mensajería para avisar el momento en el que tienen que tomar la
foto. Y por el mismo sistema que los raspi manden la foto a algún servidor
que se encargue de guardar las imagenes en el array. Así el proceso de la
raspi te queda liviano y no tenes que lidiar con la escritura de la SD. El
servidor recibiría la imagen y se encarga del almacenamiento.

Yo uso ZMQ [0] para este tipo de cosas. No se si es la mejor opción o la
mas conveniente, pero es bastante completo y siempre me fue mas que
suficiente para resolver problemas similares.
Recuerdo la charla de Claudio Freyre en la PyCon de Rafaela en donde
explicaba incluso como stremear video usando ZMQ [1]. No sería
específicamente el caso, porque en el tuyo los clientes tendrían que
devolver la imagen y en la charla se usaba multicast para hacer el
streaming.

Sobre el ruido electromagnético, no se que tan hostil es tu ambiente, pero
una opción que a mi me dió muy buen resultado en estos casos es cablear con
ethernet y meter el cable en una vaina mallada asegurándome que la malla de
la vaina tenga una buena puesta a tierra.

[0] http://zeromq.org/
[1] https://www.youtube.com/watch?v=dRD_u1Qo2Z4

Espero te sea de ayuda.

Saludos!

El 19 de febrero de 2018, 9:46, Nicolas Canepa <nicolas en canepagroup.com.ar>
escribió:

> Hola Daniel, es una opción que me queda probar a ver como anda. No tuve
> todavía muchas oportunidades de medición real para probar como funciona el
> wifi (medir la perdida de paquetes, etc) en un ambiente con mucho ruido
> electromagnético.
>
> 2018-02-17 23:42 GMT-03:00 Daniel <dmlistapython en gmail.com>:
>
>>
>>
>> El 16 de febrero de 2018, 17:38, Nicolas Canepa <
>> nicolas en canepagroup.com.ar> escribió:
>>
>>> Que sea un tema de escritura en la SD lo pensé, es lo que mas me sonaba,
>>> aunque son todas iguales.
>>>
>> Para despejar esa duda podrías invertirlas
>>
>>
>>> En cuanto al sincronismo físico no puedo porque 2 de las placas estan en
>>> una zona que está a 300kV, tendría que ser por fibra optica y no me resulta
>>> práctico.
>>> En la base solo guardo valores de la toma, no la toma en si, la foto
>>> queda guardada como un array numpy (nombre_foto.npy). Todavia no estoy
>>> haciendo ningun procesado, lo que mas tarda (fuera de la captura) es en
>>> guardar el array que pesa un par de megas.
>>>
>> ¿y trasmitirlas directamente via wifi en lugar de almacernarlas
>> localmente?
>>
>>>
>>> 2018-02-16 16:43 GMT-03:00 Daniel <dmlistapython en gmail.com>:
>>>
>>>>
>>>>
>>>> El 16 de febrero de 2018, 14:22, Nicolas Canepa <
>>>> nicolas en canepagroup.com.ar> escribió:
>>>>
>>>>> No llegué a medir bien de donde viene la deriva, porque yo instalé una
>>>>> RPi con todo lo que necesito y repliqué la sd para las otras, pero en la
>>>>> practica una saca 800 fotos y la otra 700 o menos.
>>>>>
>>>>
>>>> Ojo con las SD, no todas almacenan a igual velocidad. (aún si son de la
>>>> misma clase -y marca-)
>>>> Ideas...
>>>> ¿el sincronismo no podría ser físico (GPIO)?
>>>> ¿Y si en lugar de guardarlos en la base de datos, almacenás en binario
>>>> el archivo y los procesás después?
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>> 2018-02-16 13:02 GMT-03:00 Julian Agustin Cardonnet <
>>>>> jcardonnet en gmail.com>:
>>>>>
>>>>>> No conozco los detalles de las RPIs, pero en principio no se me
>>>>>> ocurre porque habria de driftear demasiado si tienen el reloj sincronizado
>>>>>> por NTP y por el proceso de "capturar y espera" es algo asi:
>>>>>> a) pongamos que en cada segundo multiplo de 10 (tick) quiero sacar
>>>>>> una foto
>>>>>> b) saco una foto (no importa cuanto demore todo el asunto de captura,
>>>>>> procesamiento y almacenamiento siempre que termine antes de que llegue el
>>>>>> proximo tick)
>>>>>> c) una vez listo me fijo cuando falta para el proximo tick (delta
>>>>>> entre el proximo segundo multiplo de 10 y el tiempo actual) y espero.
>>>>>> d) vuelvo a b)
>>>>>>
>>>>>> Mi idea creo es basicamente la misma respuesta que diste vos, pero en
>>>>>> vez de con Cron, solo usando python
>>>>>> Si no es asi, podes aclarar un poco por donde podria venir la deriva
>>>>>> en la sincronizacion, porque ahora me quede con la duda...
>>>>>>
>>>>>> Saludos!
>>>>>> Julian
>>>>>>
>>>>>> 2018-02-16 12:32 GMT-03:00 Marcos Dione <mdione en grulic.org.ar>:
>>>>>>
>>>>>>> On Fri, Feb 16, 2018 at 12:17:16PM -0300, Julian Agustin Cardonnet
>>>>>>> wrote:
>>>>>>> > podes disparar
>>>>>>> > la captura cuando llega un tiempo determinado, calcular cuanto
>>>>>>> falta para
>>>>>>> > tomar el proximo fotograma, esperar X milisegundos y volver a
>>>>>>> empezar el
>>>>>>> > loop.
>>>>>>>
>>>>>>>     eso driftea bastante rápido no sólo entre las rpis, sino también
>>>>>>> de un
>>>>>>> disparo a otro.
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> (Not so) Random fortune:
>>>>>>> The technology industry sees itself as in rebellion against corporate
>>>>>>> America: not corrupt, not buttoned-up, not empty. In fact, a tech
>>>>>>> company
>>>>>>> can be as corrupt, soulless, and empty as any corporation, but being
>>>>>>> unprofessional helps us maintain the belief that we are somehow
>>>>>>> different
>>>>>>> from Wall Street.
>>>>>>>             -- Shanley Kane
>>>>>>> _______________________________________________
>>>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>>>> Sitio web: http://www.python.org.ar/
>>>>>>>
>>>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>>
>>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>>>>>>> de Argentina - http://www.usla.org.ar
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>>> Sitio web: http://www.python.org.ar/
>>>>>>
>>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>
>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>>>>>> de Argentina - http://www.usla.org.ar
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Nicolás Cánepa
>>>>>
>>>>> _______________________________________________
>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>> Sitio web: http://www.python.org.ar/
>>>>>
>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>
>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>>> Argentina - http://www.usla.org.ar
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Daniel Malisani
>>>>
>>>> _______________________________________________
>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>> Sitio web: http://www.python.org.ar/
>>>>
>>>> Para administrar la lista (o desuscribirse) entrar a
>>>> http://listas.python.org.ar/listinfo/pyar
>>>>
>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>> Argentina - http://www.usla.org.ar
>>>>
>>>
>>>
>>>
>>> --
>>> Nicolás Cánepa
>>>
>>> _______________________________________________
>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>> Sitio web: http://www.python.org.ar/
>>>
>>> Para administrar la lista (o desuscribirse) entrar a
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>>
>>
>> --
>> Daniel Malisani
>>
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a
>> http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
>
> --
> Nicolás Cánepa
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180219/c943fdce/attachment.html>


Más información sobre la lista de distribución pyar