Sugiro olhar para Dispy - o módulo python de computação distribuída.
Para executar um programa em vários Raspberry Pi (nós) de um PC (servidor - suponha que IP seja 192.168.0.100
):
Instale um sistema operacional em cada RasPi
Anexe cada RasPi à sua rede. Encontre o IP (se dinâmico) ou configure IPs estáticos.
(Vamos supor que você tenha três nós e os respectivos IPs 192.168.0.50-52
)
Configure o Python (se ainda não estiver), instale dispy
e execute dispynode.py -i 192.168.0.100
em cada RasPi. Isso informará ao dispynode para receber informações do trabalho do servidor.
No PC (servidor), instale dispy
e execute o seguinte código 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'])
Você também pode substituir /some/program
com uma função de python - por exemplo compute
.
Você também pode incluir dependências, como objetos, módulos e arquivos python (que dispy
serão transferidos para cada nó) adicionandodepends=[ClassA, moduleB, 'file1']