Sugiero mirar Dispy , el módulo de cálculo distribuido de Python.
Para ejecutar un programa en una cantidad de Raspberry Pi (nodos) desde una PC (servidor: suponga que IP es 192.168.0.100
):
Instale un sistema operativo en cada RasPi
Adjunte cada RasPi a su red. Encuentre la IP (si es dinámica) o configure IP estáticas.
(Supongamos que tiene tres nodos y sus IP son 192.168.0.50-52
)
Configure Python (si aún no lo está), instálelo dispy
y luego ejecútelo dispynode.py -i 192.168.0.100
en cada RasPi. Esto le indicará a dispynode que reciba información del trabajo del servidor.
En la PC (el servidor), instale dispy
, luego ejecute el siguiente código de Python:
#!/usr/bin/env python
import dispy
cluster = dispy.JobCluster('/some/program', nodes=['192.168.0.50', '192.168.0.51', '192.168.0.52'])
También puede reemplazar /some/program
con una función de Python, por ejemplo compute
.
También puede incluir dependencias como objetos, módulos y archivos de Python (que dispy
se transferirán a cada nodo) agregandodepends=[ClassA, moduleB, 'file1']