Software: Ansteuerung mehrerer ZWO-ASI Kamera in Python

AstroFun

Aktives Mitglied
Hallo,
hat jemand Erfahrung mit der Ansteuerung von ZWO-ASO Kameras in Python?
Ich möchte mehrere Kameras (Teleskop, Guider, ...) gleichzeitig betreiben.
Mit einer Kamera geht das sehr gut über die ASCOM Schnittstelle, bisher habe ich das Ansteuern von mehreren Kameras damit aber nicht hingekriegt.
Der Code zum Initialisieren einer Kamera ist:
driver = 'ASCOM.ASICamera2.Camera'
camera = win32com.client.Dispatch(driver)
camera.connected = True
print(camera.Name)
Hat jemand Erfahrung im gleichzeitigen Betrieb mehrerer Kameras mit Python?
 
Moin,
Ich hab diesen Python Wrapper auf einem Raspi verwendet. Mit einer Kamera ging das jedenfalls problemlos. Etwas Demo Code kann ich dir nächste Woche schicken, falls Bedarf besteht.
Gruß
André
 
Hallo André,
Danke für das Angebot. Eine Kamera habe ich mit einem Windows 11 Laptop auch am laufen. Es klemmt bei mehreren Kameras.

Aktuell teste ich eine Ansteuerung direkt über die ZWO-ASI SDK, das sieht bisher recht gut aus:
zwoasi: pip install zwoasi
https://pypi.org/project/zwoasi/
https://github.com/python-zwoasi/python-zwoasi
Kopieren von ASICamera2.dll und ASICamera2.lib aus der SDK in das Verzeichnis des Python Scrips

In Python:
import os
import zwoasi as asi
asi.init(os.getcwd()+r'\ASICamera2.dll')
print(asi.list_cameras())
for n in range(asi.get_num_cameras()):
camera = asi.Camera(0)
print(camera.get_camera_property())

Das Skript gibt die Daten der beiden Kameras aus.
Weitere Funktionen stehen unter:

Viele Grüße
Christian
 
Hi Christian,
dieses Script von Steve Marple hatte ich wohl auch damals als Basis verwendet. Was ist denn genau das Problem? Wird nur eine Kamera angezeigt?
Gruß
André
 
Hallo André,
ich habe mit einer Ansteuerung über die ACOM-Schnittstelle angefangen. Das geht gut für eine Kamera und ich habe damit z.B. ein Spektrometer angesteuert.
Jetzt für das Teleskop sollen es mindestens 2 Kameras werden. Und mehr als eine habe ich mit der ACOM-Schnittstelle nicht hingekriegt.
Das Script von Steve Marple sieht gut aus und hat soweit ich es bisher getestet habe keine Probleme mit den beiden Kameras.
Viele Grüße
Christian

PS. Das ganze soll in eine komplette Teleskopsteuerung integriert werden. Gibt es zwar alles schon, aber man lernt am meisten beim Selbermachen.
(Python-basierte Steuerung eines Teleskops mit einer azimutalen Montierung).
 
Mittlerweile bin ich etwas weiter gekommen. Mit der ASCOM Schnittstelle geht der Zugriff auf eine ZWO-ASI Kamera sehr gut, mehrere gleichzeitig oder ein Umschalten zwischen mehreren ohne Benutzereingriff scheint nicht zu gehen.

Deshalb bin ich auf eine ZWO-SDK basierte Schnittstelle umgestiegen. Im Netz gibt es mehrere, die aktuellste ist zwoasi (zwoasi).

Im Vergleich zu der ASCOM-Schnittstelle ist die Dokumentation allerdings kaum vorhanden, es gibt ein sample Script und den Rest muss man sich aus dem Quelltext zusammensuchen. Dann ist der Zugriff auf die Kamera-Einstellungen fummelig. Bei der ASCOM-Schnittstelle gibt es zum Lesen oder Schreiben von Kamera-Parametern jeweils eine eigene Funktion, bei zwoasi nur beim Schreiben. Das Lesen der Kamera-Parameter geht über zwei Funktionen, die dann jeweils Blöcke mit Parameters ausgeben, die man dann auseinander fummeln darf. Dann hat eine der Funktionen get_controls() einen Fehler. Die Funktion läuft mit der Kamera ZWO ASI071MC Pro, bricht aber bei der Kamera ZWO ASI183MM Pro mit einer Fehlermeldung ab. Mittleiweile habe ich die Funktion mit einer korrigierten Version überladen, so dass es jetzt funktioniert.

Aber trotz des deutlich fummeligeren Umgangs kann zwoasi gut mit zwei Kameras und vermutlich auch mit weiteren umgehen. Von daher werde ich erst mal dabei bleiben und die Schnittstelle zum weiteren Testen in die Teleskop-Steuerung einbauen.
 
Zurück
Oben