-
Notifications
You must be signed in to change notification settings - Fork 19
Description
Hello,
I'm running 10 Raspberry Pis on a specific router with addresses in 192.168.2.0/24. The raspberrys are attached to a piece of plywood so the physical order is important, however at startup of the router assigns random addresses to each Pi.
I'm adapting one of the examples to assign to each picture name the camera number (0 to 9) and an incremental number (0 to x) rather than the IP address. Example: 0-0.jpg, 1-0.jpg, 2-0jpg / 0-1.jpg, 1-1.jpg, 2-1.jpg, etc.
I can sort manually the Pis using the CPI command line (using Move), but when I try to do the same thing with a script it doesn't work: the script assign the number with the wrong cameras. The server.insert doesn't seem to work at all. Am I missing something?
Here's my code:
pic_number = 1
pictures_to_take = 1
loop = 10
cam_number = 10
import io
from compoundpi.client import CompoundPiClient
with CompoundPiClient() as client:
client.servers.network = '192.168.2.0/24'
client.servers.insert(0, '192.168.2.2')
client.servers.insert(1, '192.168.2.9')
client.servers.insert(2, '192.168.2.7')
client.servers.insert(3, '192.168.2.3')
client.servers.insert(4, '192.168.2.1')
client.servers.insert(5, '192.168.2.12')
client.servers.insert(6, '192.168.2.15')
client.servers.insert(7, '192.168.2.8')
client.servers.insert(8, '192.168.2.10')
client.servers.insert(9, '192.168.2.4')
assert len(client.servers) == 10
client.resolution(1280, 720)
while (pictures_to_take <= loop):
client.capture()
try:
for addr, files in client.list().items():
for f in files:
assert f.filetype == 'IMAGE'
print('Downloading from %s' % addr)
with io.open('%s-%s.jpg' % (cam_number, inc) , 'wb') as output:
client.download(addr, f.index, output)
cam_number = cam_number + 1
finally:
client.clear()
pictures_to_take = pictures_to_take + 1
cam_number = 0
pic_number = pic_number + 1
The output is not Picture 0 for IP 192.168.2.2, Picture 1 for 192.168.2.9, etc.
Instead it assigns the Picture 0 to the whatever the first IP that it finds (and it's not necessarily in ascending order).
Do you know what's going on?
Thanks very much for your help !
C.