Hi All,
I’ve been researching and playing with Kstars/Ekos a little bit with my Raspberry Pi and having some success. I have a current imaging solution using an old copy of Maxim DL5 that a friend gave me some time ago, but I'm looking to try something new. I want to start building a small array a la Dragonfly. I'm planning on using a Pi for each imaging camera and controlling each of them by way of Fabric. I currently have two cameras: an SBIG STF-8300C and an ST-8300M that will both be paired with an Orion ED80T CF and hopefully expanded if I can get this to work. I recently came across PyINDI and after a little bit of playing around with it, I’ve been able to figure out to take exposures via IndiClient Python script. To test that the concept will work, I connect each camera to a Pi and each Pi connects to a switch. I have a python script using Fabric that uses each Pi’s IP address to send the same command to each in parallel. I open two terminals and use one to send the INDI server connect command to get them up and running and then use the other terminal to get down to business. I have a script that when run, uploads the exposure instructions and then another script runs the uploaded code to make the cameras take an exposure. When I give the go-ahead, they each begin an exposure simultaneously.
Wanting to be able to set up sequences, I found the sequence article here on
indilib.org/develop/tutorials/172-pyindi-sequence.html
. I installed all of the sources per the article, I’m trying to run the provided simple.py script shown below with the system path updated accordingly.
import sys
import os
sys.path.append(os.path.join(os.environ['HOME'], 'indi-lite-tools')) # Change this to the module installation path
from pyindi_sequence import SequenceBuilder
sb = SequenceBuilder('M42', camera_name='CCD Simulator', upload_path = '/tmp/M42')
def camera_settings():
sb.camera.set_switch('CCD_COMPRESSION', ['CCD_RAW'])
sb.add_message_step('Adjusting camera settings')
sb.add_function(camera_settings)
sb.add_user_confirmation_prompt('Press Enter to start Shooting')
sb.add_sequence('RGB', exposure=3, count=2)
sb.add_user_confirmation_prompt('Please cover your camera lens for Dark Frames. Press Enter to continue')
sb.add_auto_dark()
print(sb)
sb.start()
pi@raspberrypi:~ $ python3 simple.py
Traceback (most recent call last):
File "/home/pi/indi-lite-tools/pyindi_sequence/indiclient.py", line 41, in newDevice
device = Device(d.getDeviceName(), self)
File "/home/pi/indi-lite-tools/pyindi_sequence/device.py", line 18, in __init__
self.interfaces = Device.find_interfaces(self.device)
File "/home/pi/indi-lite-tools/pyindi_sequence/device.py", line 105, in find_interfaces
interface.acquire()
AttributeError: 'int' object has no attribute 'acquire'