Пропоную поглянути на Dispy - розподілений обчислювальний модуль пітона.
Для запуску програми на декількох (вузлах) Raspberry Pi з ПК (сервер - припустимо, IP є 192.168.0.100
):
Встановіть операційну систему на кожен RasPi
Приєднайте кожен RasPi до своєї мережі. Знайдіть IP (якщо динамічний) або встановіть статичні IP-адреси.
(Припустимо, у вас три вузли, і їхні IP-адреси є 192.168.0.50-52
)
Налаштуйте Python (якщо його ще немає), встановіть dispy
та запустіть dispynode.py -i 192.168.0.100
на кожному RasPi. Це дозволить dispynode отримувати інформацію про завдання від сервера.
На ПК (сервері) встановіть dispy
, а потім запустіть наступний код 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'])
Ви також можете замінити /some/program
функцію пітона - наприклад compute
.
Ви також можете включити залежності, такі як об'єкти, модулі та файли python (які dispy
будуть передані кожному вузлу), додавшиdepends=[ClassA, moduleB, 'file1']