Answering the question about architecture, here are the basics.
This is the way the requests from the client travel from source to destination.
In any case:
- The INDI server, the driver and the hardware are always on the same machine. The drivers communicate with the hardware through USB. The INDI server communicates with the drivers (which are standalone programs) through pipes (pipes are files in memory used for data exchanges). You can chain several INDI servers in cascade. One server becomes the master and the others are enslaved to this master. In this configuration, INDI clients connect to the master.
- The INDI client (EKOS ie), source of the orders, communicates with the INDI server through a TCP/IP connection. So the client can be on the same machine as the server and the hardware, or the client can be on a distant machine.
- VNC clients connect to the machine where the INDI CLIENT and the VNC server run. So you can connect with a tablet running a VNC client to a laptop running Kstars/Ekos connected though Tcp/Ip to the INDI SERVER on a third machine to which the devices (mount, cameras, focuser etc...) are attached.
On the little scheme below, you can see only one driver is started to connect to several pieces of hardware. INDI driver B pilots hardware Y and Z.
That means in the Ekos profile editor, you only need to specify the driver once. ex: you have two ASI cameras one for imaging, the second one for guiding, you just need to specify the ASI driver in "CCD:". No need to put in also in "Guider:", as the two use the same driver.
Hope this helps.
- Marc