×

INDI Library v2.0.6 is Released (02 Feb 2024)

Bi-monthly release with minor bug fixes and improvements

INDI over MQTT and web client

  • Posts: 8
  • Thank you received: 3
Hi, just completed a Python project sending INDI protocol over MQTT, and storing data to redis, see indi-mr.readthedocs.io, together with a web client that displays the redis stored data allowing control of the attached instruments. The web client is documented at indiredis.readthedocs.io So far only tested with simulated drivers, I'd be interested in any feedback from anyone who cares to try them out.
3 years 3 months ago #65050

Please Log in or Create an account to join the conversation.

  • Posts: 216
  • Thank you received: 120
Nice! I recently did something similar in node.js. Have you tried doing any blob transfers with paho-mqtt? I found it wouldn't work for me with large message sizes, even though they were below the mqtt limit.
3 years 2 months ago #65504

Please Log in or Create an account to join the conversation.

  • Posts: 8
  • Thank you received: 3
Tried ok with blobs generated by simulated telescope/ccd, but not specifically tested large blobs for size. It's on my list to create test drivers to exercise the package, so I'll bear that in mind, thanks. I did find when reading an input stream in Python I got asyncio.LimitOverrunError exceptions so I read data in chunks of 32K at a time, but that had nothing to do with mqtt.
3 years 2 months ago #65581

Please Log in or Create an account to join the conversation.

  • Posts: 407
  • Thank you received: 74
I will be looking at you MQTT implmentation with interest as I use MQTT regularly. However there is no way,IMHO, "Blobs" of any size will (or should IMHO) use MQTT. Trying to send Blob's does one of two things

a. Stops (OK to a trickle) all other MQTT traffic as you have to set buffers so large to get the Blob transfer within a reasonable time.

b. Using smaller buffers ,i found , just means very very long download times (Note my testing was with RPI acting as a Broker and using Python clent on Windows as receiver, RPI as a client as the Publisher ).

The above does depend on file sizes and small JPG would be fine!

Most other devices,i have have used, work pretty well except for a few devices (but really thats down to driver protocol problems - e.g. Moonlite focuser protocol and the temp reading times out too quickly!)

An alternative maybe,would be to just send the file name(and associated IP address or DNS name) of the Blob and/or initiate another protocol to broadcast/stream the file.

For Internet or distributed Indi I think MQTT has a few advantages IMO - all local working(one SCB) not really IMO.

Nice One :-)
RPI3 Ubuntu 16.04 / AMD desktop Kstars under Ubuntu 16.04 Mounts :azeq6 ,SWAZGoTo

RPI3 Fedora testing out on AMD desktop Fedpra 28 - running kstars 2.9.4 , Indilib 1.7.4 ?????
3 years 2 months ago #65585

Please Log in or Create an account to join the conversation.

  • Posts: 8
  • Thank you received: 3
The indi protocol does allow blobs to be enabled/disabled, - normally on the indiserver port, giving the option of using an out of band solution. I've implemented this by sending the appropriate enable/disable command from the client via MQTT, and applying it at the remote end. So if disabled (the default) blobs will not be published to MQTT.
3 years 2 months ago #65633

Please Log in or Create an account to join the conversation.

Time to create page: 0.960 seconds