[pyar] Sincronizar tareas en varias Raspberry Pi

Juan Esteban Carrique carrique en gmail.com
Mie Feb 21 16:43:12 -03 2018


Que bueno que lo quieras compartir/liberar Ciencia con Hardware Abierto!
yendo a los bifes te recomiendo como otros han comentado utilizar NTP, te
va a dar latencias o errores menores al segundo si utilizas tu propio
servidor[1].

Si supones o confirmas que escribir en la SD te trae problemas lo podes
solucionar usando hilos (threads) y colas de escritura.

Por lo que comentas de la interferencia electromagnetica tendras que
analisar la perdida de paquetes en el canal SSH, (medi las latencias) si no
perdes mensajes lo mejor seria que mandes las imagenes via red usando FTP o
similar (nuevamente hilos) aunque puede ser bueno aprender si es posible
con ZMQ!!

Salud!

[1] https://en.wikipedia.org/wiki/Network_Time_Protocol

Ing. Juan Carrique
Santa Fe, Argentina
Electrónica, Arduino,
Coaching, Diabetes,
http://facebook.com/ReDuino

2018-02-20 12:35 GMT-03:00 Nicolas Canepa <nicolas en canepagroup.com.ar>:

> Gracias por la data Bruno! Voy a chusmear eso, no se me habia ocurrido
> mandar la imagen por el sistema de mensajeria, si se puede stremear video,
> una foto cada 2 o 3 segundos calculo que no hay drama.
> Cuando lo tenga armado comparto el resultado para que vean lo mal que
> programa un fisico, jaja
>
> 2018-02-19 22:33 GMT-03:00 Bruno Geninatti <brunogeninatti en gmail.com>:
>
>> 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
>>>
>>
>>
>> _______________________________________________
>> 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/20180221/295018e1/attachment-0001.html>


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