Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
[INFO/WISH] server API and headless setup #683
I'm currently working on a lightweight web application for handling devices and generating sequences via INDI. The goal is to be able to start an astrophotography sequence by using only your browser, and it's particularly useful for users with embedded systems (Raspberry Pi, Odroid, etc). Most of these users are currently using a VNC server, which will increase network latency and drain batteries faster.
My project is still in very early stages (right now there's a fully functional INDI control panel, but no sequences support yet), you can have a look at the code here: https://github.com/GuLinux/StarQueW
Now for the PHD2 related question:
I think the most important missing parts are:
Do you think this could be possible? Or am I missing something?
We primarily envision PHD2 as something that a user sets up interactively, but then, once it is setup, it can be controlled and monitored either interactively or through the server API. You can see that the server API allows for control and monitoring of guiding by imaging apps, but essentially requires manual setup of an equipment profile.
I think it will be difficult to avoid the manual setup. The initial setup steps almost always require manual intervention (equipment connection, calibration, polar alignment.) However, once the setup is done (over VNC?) then automatic operation is expected and fully supported.
not likely based on comments above
we currently have an api for that: save_image
we currently have API's for setting/getting guiding parameters, but, if phd2 is working properly parameter tuning should not be necessary (and we discourage it). PHD2 Best Practices
again, not something we be likely to pursue at this time, however we would be absolutely interested in making sure the server API has everything you need to control and monitor phd2 after the initial interactive equipment setup is done
But thinking about it, another solution, probably better and more useful, would be to create a daemon/frontend protocol, internal only to PHD.
This would not be a public API (which needs more validations, docs, etc), but a private protocol, and might be useful to anyone using PHD2 remotely.
What do you think?
I'm not quite getting that. Could you elaborate? What would be serialized over the network?
(If you want to take discussion of github you can email me at email@example.com; but ok to continue discussion here too)
Not sure.. until we get too technical I guess it might be ok to continue here, it's all the same to me anyway :)
Well, serializing all the calls between UI and core classes, assuming there's already a fair separation between them (mine wasn't that much ready, but it didn't take too much to refactor it).
I produce three binaries in my build: the main
This of course really depend a lot on both the technology used in PHD2 (I know nothing about wxWidgets) and the internal design of the project
This would be beneficial for setups running indiserver and PHD2 on Raspberry Pi and KStars on Windows for example who would like to run guiding locally but without running X just for PHD2. I have run such arrangement myself as well and after the initial setup didn't really have to touch PHD2, but still had to run VNC session to start it. Having it start as a daemon automatically on boot would be ideal for this particular use case.