Telescope Control (client-server)
m |
(Added telescope compatibility link, minor editing changes, added paragraph titles) |
||
| Line 1: | Line 1: | ||
'''Warning: when you abuse stellariums telescope control feature for pointing your telescope to the sun without a proper solar filter, then this is your own fault. Stellarium cannot check if you have your solar filter properly installed or not. So when you ruin your telescope, your eyes, your childrens eyes or whatever, then this is not our fault, but yours.''' | '''Warning: when you abuse stellariums telescope control feature for pointing your telescope to the sun without a proper solar filter, then this is your own fault. Stellarium cannot check if you have your solar filter properly installed or not. So when you ruin your telescope, your eyes, your childrens eyes or whatever, then this is not our fault, but yours.''' | ||
| − | |||
| + | ==Introduction== | ||
In this page I describe the telescope control feature that is present in stellarium since version 0.8.1. | In this page I describe the telescope control feature that is present in stellarium since version 0.8.1. | ||
| − | Overview | + | ===Overview=== |
Although stellarium is currently (since 0.8.1) able to control any telescope using a suiting external telescope server, up to now there exist only the following telescope server programs: | Although stellarium is currently (since 0.8.1) able to control any telescope using a suiting external telescope server, up to now there exist only the following telescope server programs: | ||
| Line 17: | Line 17: | ||
TelescopeServerLx200.exe: same for MS Windows | TelescopeServerLx200.exe: same for MS Windows | ||
| − | + | ===Architecture=== | |
| − | + | ||
| − | Architecture | + | |
Actual communication with the telescope is not done by stellarium itself, but by an external program which is called telescope server. Stellarium and the telescope server communicate with each other over TCP/IP. For the TCP communication there is an LGPL library which should make the development of telescope servers easy. This architecture has the following advantages: | Actual communication with the telescope is not done by stellarium itself, but by an external program which is called telescope server. Stellarium and the telescope server communicate with each other over TCP/IP. For the TCP communication there is an LGPL library which should make the development of telescope servers easy. This architecture has the following advantages: | ||
| Line 31: | Line 29: | ||
4) There are no license problems: An external telescope server can, but does not need to be GPL. When building your own telescope server you can link with any library you want: ASCOM, Indy, any proprietary library, whatever. | 4) There are no license problems: An external telescope server can, but does not need to be GPL. When building your own telescope server you can link with any library you want: ASCOM, Indy, any proprietary library, whatever. | ||
| − | + | ===Building=== | |
| − | + | ||
| − | Building | + | |
The telescope server programs described above are available from anonymous cvs: | The telescope server programs described above are available from anonymous cvs: | ||
| Line 42: | Line 38: | ||
There is a README file. Just change into the src directory and type 'make' (no autoconf/automake). In order to cross-compile for MS Windows export the environment variable CROSS_GPP and type 'make exe'. I have never tried native MS Windows compilation, but I suppose that any compiler will do. Same for other operating systems. If you have problems, write to the forum. Or write an email to me, I can also provide binaries. | There is a README file. Just change into the src directory and type 'make' (no autoconf/automake). In order to cross-compile for MS Windows export the environment variable CROSS_GPP and type 'make exe'. I have never tried native MS Windows compilation, but I suppose that any compiler will do. Same for other operating systems. If you have problems, write to the forum. Or write an email to me, I can also provide binaries. | ||
| − | + | ===Alternatively: downloading precompiled MS Windows binaries=== | |
| − | + | ||
| − | Alternatively: downloading precompiled MS Windows binaries | + | |
I have noticed that MS Windows users often prefer downloading precompiled binaries instead of building by themselves. Therefore I provide Windows binaries: | I have noticed that MS Windows users often prefer downloading precompiled binaries instead of building by themselves. Therefore I provide Windows binaries: | ||
| Line 57: | Line 51: | ||
This is no windows installer archive, just a plain executable that is supposed to replace the official executable in the official package. I have heard that the official 0.8.1 windows binary has problems with the telescope control feature, so please use this binary instead. | This is no windows installer archive, just a plain executable that is supposed to replace the official executable in the official package. I have heard that the official 0.8.1 windows binary has problems with the telescope control feature, so please use this binary instead. | ||
| − | + | ==Usage== | |
| − | + | ===Run the server=== | |
| − | + | Navigate to the directory containing the file, and start the telescope server with a command line like | |
TelescopeServerDummy 10000 or | TelescopeServerDummy 10000 or | ||
| Line 68: | Line 62: | ||
TelescopeServerLx200.exe 10000 COM1: | TelescopeServerLx200.exe 10000 COM1: | ||
| − | depending on your telescope and serial port. In this example I assume you use TCP port 10000, but you can use any free port you want. The telescope servers are capable of serving a huge number of | + | depending on your telescope and serial port. In this example I assume you use TCP port 10000, but you can use any free port you want. The telescope servers are capable of serving a huge number of Stellarium programs, so you can share the control of your telescope with other stellarium programs. |
In your config.ini write | In your config.ini write | ||
| Line 80: | Line 74: | ||
2 = My_second_telescope:TCP:localhost:10001:500000 | 2 = My_second_telescope:TCP:localhost:10001:500000 | ||
| − | Here I have assumed that you have started two | + | Here I have assumed that you have started two different telescope servers on your machine for controlling two different telescopes. When you have just 1 GOTO telescope like me, leave out the last line. If you run the telescope server on a different machine, you must replace 'localhost' with the name of this machine. The value 500000 indicates, that Stellarium will not show the telescopes current position - which is unknown anyway - but instead an interpolated position of 500000 microseconds (=0.5 seconds) ago. 'My_first_telescope' is the name that will be shown in stellarium next to the telescope marker. '1' is the keyboard shortcut: <Ctlr><1> will make the telescope point to the currently selected object (GOTO). Currently up to 10 telescopes can be controlled using keys 0,1,...,9. |
| − | + | ===Useful Stellarium features=== | |
| − | + | ||
| − | Useful | + | |
in your config.ini write | in your config.ini write | ||
| Line 104: | Line 96: | ||
Yours, | Yours, | ||
--[[User:Johannes|Johannes]] 14:48, 18 June 2006 (PDT) | --[[User:Johannes|Johannes]] 14:48, 18 June 2006 (PDT) | ||
| + | |||
| + | ==Telescope Compatibility List== | ||
| + | *[[Telescope Compatibility]] | ||
Revision as of 15:45, 6 August 2006
Warning: when you abuse stellariums telescope control feature for pointing your telescope to the sun without a proper solar filter, then this is your own fault. Stellarium cannot check if you have your solar filter properly installed or not. So when you ruin your telescope, your eyes, your childrens eyes or whatever, then this is not our fault, but yours.
Contents |
Introduction
In this page I describe the telescope control feature that is present in stellarium since version 0.8.1.
Overview
Although stellarium is currently (since 0.8.1) able to control any telescope using a suiting external telescope server, up to now there exist only the following telescope server programs:
TelescopeServerDummy: can be used for testing and as a starting point for developing new telescope servers, no telescope is required
TelescopeServerDummy.exe: same for MS Windows
TelescopeServerLx200: used for controlling Meade LX200 or AutoStar telescopes
TelescopeServerLx200.exe: same for MS Windows
Architecture
Actual communication with the telescope is not done by stellarium itself, but by an external program which is called telescope server. Stellarium and the telescope server communicate with each other over TCP/IP. For the TCP communication there is an LGPL library which should make the development of telescope servers easy. This architecture has the following advantages:
1) The stellarium source code does not get bloated by incorporation of dozens of telescope control mechanisms and protocols. Instead the stellarium sourcecode stays maintainable.
2) TCP is available on any platform, so for stellarium there are little or no portability problems.
3) Any developer can easily provide an own telescope server for his own telescope, eigther by using the stellarium telescope library (recommended) or without it. No knowledge about the stellarium programs source code is required.
4) There are no license problems: An external telescope server can, but does not need to be GPL. When building your own telescope server you can link with any library you want: ASCOM, Indy, any proprietary library, whatever.
Building
The telescope server programs described above are available from anonymous cvs:
cvs -d:pserver:anonymous@stellarium.cvs.sourceforge.net:/cvsroot/stellarium login cvs -z3 -d:pserver:anonymous@stellarium.cvs.sourceforge.net:/cvsroot/stellarium co -P telescope_server
There is a README file. Just change into the src directory and type 'make' (no autoconf/automake). In order to cross-compile for MS Windows export the environment variable CROSS_GPP and type 'make exe'. I have never tried native MS Windows compilation, but I suppose that any compiler will do. Same for other operating systems. If you have problems, write to the forum. Or write an email to me, I can also provide binaries.
Alternatively: downloading precompiled MS Windows binaries
I have noticed that MS Windows users often prefer downloading precompiled binaries instead of building by themselves. Therefore I provide Windows binaries:
TelescopeServerLx200.exe.gz TelescopeServerDummy.exe.gz
I also provide a cross-compiled stellarium.exe which can be considered as a development snapshot:
stellarium.exe.gz
This is no windows installer archive, just a plain executable that is supposed to replace the official executable in the official package. I have heard that the official 0.8.1 windows binary has problems with the telescope control feature, so please use this binary instead.
Usage
Run the server
Navigate to the directory containing the file, and start the telescope server with a command line like
TelescopeServerDummy 10000 or TelescopeServerDummy.exe 10000 or TelescopeServerLx200 10000 /dev/ttyS0 or TelescopeServerLx200.exe 10000 COM1:
depending on your telescope and serial port. In this example I assume you use TCP port 10000, but you can use any free port you want. The telescope servers are capable of serving a huge number of Stellarium programs, so you can share the control of your telescope with other stellarium programs.
In your config.ini write
[astro] flag_telescopes = true flag_telescope_name = true ... [telescopes] 1 = My_first_telescope:TCP:localhost:10000:500000 2 = My_second_telescope:TCP:localhost:10001:500000
Here I have assumed that you have started two different telescope servers on your machine for controlling two different telescopes. When you have just 1 GOTO telescope like me, leave out the last line. If you run the telescope server on a different machine, you must replace 'localhost' with the name of this machine. The value 500000 indicates, that Stellarium will not show the telescopes current position - which is unknown anyway - but instead an interpolated position of 500000 microseconds (=0.5 seconds) ago. 'My_first_telescope' is the name that will be shown in stellarium next to the telescope marker. '1' is the keyboard shortcut: <Ctlr><1> will make the telescope point to the currently selected object (GOTO). Currently up to 10 telescopes can be controlled using keys 0,1,...,9.
Useful Stellarium features
in your config.ini write
[astro] flag_light_travel_time = true ... [gui] flag_show_flip_buttons = true
Accounting for light travel time is a must when you observe planetary satellites. You will also want to flip the stellarium image horizontally and/or vertically in order to match what you see in your eyepiece. You can do this with the flip buttons and/or the following keyboard shortcuts:
<Ctrl><Shift><h>: toggle horizontal image flip <Ctrl><Shift><v>: toggle vertical image flip
When you have problems or when you are satisfied, write to the forum.
Yours, --Johannes 14:48, 18 June 2006 (PDT)