Hello to all,
This is a some time now that I play with ESP32. This little device has a lot of flexibility and allow lot of developments.
I wonder if it is possible to create a generic headless client of INDI on this device. The fact is, as I can understand, developing a client need to use the lib base of INDI. But there is no version to be used on ESP32.
The underlying idea is to make a Wifi network for high latencies devices as focusers, domes, mounts, etc...
So the question is, do I make a mistake when I want to create such client ?
In fact do I make an architecture mistake considering the INDI lib ecosystem ?
Thanks for your answer
for me it's not clear what you're trying to do: do you want ESP32 to drive physical devices (i.e. a stepper motor for a focuser, another stepper motor for a dome, meteo sensors, ...), and manage all this from Ekos?
If your answer is yes, than you don't need to implement an indi client on ESP32: you need a firmware to drive the devices and communicate (via WiFi if I understand) through a comm protocol, and an Indi DRIVER (focuser, dome, meteo...) that understands the same protocol sitting in-between Ekos and your ESP32(s).
I will try to be a bit clearer.
For the moment I implemented a firmware on ESP32 to handle a focuser. On Ekos side the focuser driver connect the to the ESP32 via wifi. There is 2 servers running on ESP32. One that handle the focuser commands coming from EKOS and another that handle commands coming from a mobile device. I am not sure this is the best solution. This is why I wondered if it couldn't be better that the ESP32 could connect directly to the INDI server and act as a client.
Maybe it is a silly idea.
Technically it is possible to do what you want - INDI is using xml for communicating between clients and servers, so you could implement a client on ESP32, but I think you need to rethink your approach.