Using pyindi on a raspberry pi zero.

Hi Folks,

I have indi and pyindi installed on a RPi0. The former uses an update of @rlancater’s setupAstroRaspbianPi.sh and the latter by downloading a zip of @kno’s pyindi-client and running setup. They both work well when I use Kstars and Ekos to set things running, which I then disconnect (I’m collecting weather data from a Vantage Pro 2). If I then exit Kstars and Ekos, everything continues to run fine until I reboot the Pi, which is when I can no longer connect, see below:INFO:IndiClient:creating an instance of IndiClient
INFO:class_sensor_module:Connecting and waiting 1 sec
INDI::BaseClient::connectServer: creating new connection…
INFO:IndiClient:Server connected (localhost:7624)
INFO:IndiClient:new device Telescope Simulator
INFO:IndiClient:new device Telescope Simulator
INFO:IndiClient:new property CONNECTION as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property CONNECTION as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property DRIVER_INFO as INDI_TEXT for device Telescope Simulator
INFO:IndiClient:new property DRIVER_INFO as INDI_TEXT for device Telescope Simulator
INFO:IndiClient:new property POLLING_PERIOD as INDI_NUMBER for device Telescope Simulator
INFO:IndiClient:new property POLLING_PERIOD as INDI_NUMBER for device Telescope Simulator
INFO:IndiClient:new property DEBUG as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property DEBUG as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property CONFIG_PROCESS as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property CONFIG_PROCESS as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property CONNECTION_MODE as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property CONNECTION_MODE as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property SYSTEM_PORTS as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property SYSTEM_PORTS as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new device Vantage
INFO:IndiClient:new device Vantage
INFO:IndiClient:new property CONNECTION as INDI_SWITCH for device Vantage
INFO:IndiClient:new property CONNECTION as INDI_SWITCH for device Vantage
INFO:IndiClient:new property DRIVER_INFO as INDI_TEXT for device Vantage
INFO:IndiClient:new property DRIVER_INFO as INDI_TEXT for device Vantage
INFO:IndiClient:new property DEBUG as INDI_SWITCH for device Vantage
INFO:IndiClient:new property DEBUG as INDI_SWITCH for device Vantage
INFO:IndiClient:new property CONFIG_PROCESS as INDI_SWITCH for device Vantage
INFO:IndiClient:new property CONFIG_PROCESS as INDI_SWITCH for device Vantage
INFO:IndiClient:new property CONNECTION_MODE as INDI_SWITCH for device Vantage
INFO:IndiClient:new property CONNECTION_MODE as INDI_SWITCH for device Vantage
INFO:IndiClient:new property SYSTEM_PORTS as INDI_SWITCH for device Vantage
INFO:IndiClient:new property SYSTEM_PORTS as INDI_SWITCH for device Vantage
INFO:IndiClient:new property DEVICE_PORT as INDI_TEXT for device Vantage
INFO:IndiClient:new property DEVICE_PORT as INDI_TEXT for device Vantage
INFO:IndiClient:new property DEVICE_BAUD_RATE as INDI_SWITCH for device Vantage
INFO:IndiClient:new property DEVICE_BAUD_RATE as INDI_SWITCH for device Vantage
INFO:IndiClient:new property DEVICE_AUTO_SEARCH as INDI_SWITCH for device Vantage
INFO:IndiClient:new property DEVICE_AUTO_SEARCH as INDI_SWITCH for device Vantage
INFO:IndiClient:new property DEVICE_PORT_SCAN as INDI_SWITCH for device Vantage
INFO:IndiClient:new property DEVICE_PORT_SCAN as INDI_SWITCH for device Vantage
INFO:IndiClient:new property ACTIVE_DEVICES as INDI_TEXT for device Vantage
INFO:IndiClient:new property ACTIVE_DEVICES as INDI_TEXT for device Vantage
INFO:IndiClient:new property DEVICE_PORT as INDI_TEXT for device Telescope Simulator
INFO:IndiClient:new property DEVICE_PORT as INDI_TEXT for device Telescope Simulator
INFO:IndiClient:new property DEVICE_BAUD_RATE as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property DEVICE_BAUD_RATE as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property DEVICE_AUTO_SEARCH as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property DEVICE_AUTO_SEARCH as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property DEVICE_PORT_SCAN as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property DEVICE_PORT_SCAN as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property ACTIVE_DEVICES as INDI_TEXT for device Telescope Simulator
INFO:IndiClient:new property ACTIVE_DEVICES as INDI_TEXT for device Telescope Simulator
INFO:IndiClient:new property DOME_POLICY as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property DOME_POLICY as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property MOUNT_TYPE as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property MOUNT_TYPE as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property SIM_PIER_SIDE as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property SIM_PIER_SIDE as INDI_SWITCH for device Telescope Simulator
INFO:IndiClient:new property MOUNT_MODEL as INDI_NUMBER for device Telescope Simulator
INFO:IndiClient:new property MOUNT_MODEL as INDI_NUMBER for device Telescope Simulator
INFO:IndiClient:new property MOUNT_AXES as INDI_NUMBER for device Telescope Simulator
INFO:IndiClient:new property MOUNT_AXES as INDI_NUMBER for device Telescope Simulator
INFO:IndiClient:new property FLIP_HA as INDI_NUMBER for device Telescope Simulator
INFO:IndiClient:new property FLIP_HA as INDI_NUMBER for device Telescope Simulator
INFO:class_sensor_module:-- Telescope Simulator
INFO:class_sensor_module: > CONNECTION INDI_SWITCH
INFO:class_sensor_module: CONNECT(Connect) = Off
INFO:class_sensor_module: DISCONNECT(Disconnect) = On
INFO:class_sensor_module: > DRIVER_INFO INDI_TEXT
INFO:class_sensor_module: > POLLING_PERIOD INDI_NUMBER
INFO:class_sensor_module: > DEBUG INDI_SWITCH
INFO:class_sensor_module: > CONFIG_PROCESS INDI_SWITCH
INFO:class_sensor_module: > CONNECTION_MODE INDI_SWITCH
INFO:class_sensor_module: CONNECTION_SERIAL(Serial) = On
INFO:class_sensor_module: CONNECTION_TCP(Network) = Off
INFO:class_sensor_module: > SYSTEM_PORTS INDI_SWITCH
INFO:class_sensor_module: > DEVICE_PORT INDI_TEXT
INFO:class_sensor_module: > DEVICE_BAUD_RATE INDI_SWITCH
INFO:class_sensor_module: > DEVICE_AUTO_SEARCH INDI_SWITCH
INFO:class_sensor_module: > DEVICE_PORT_SCAN INDI_SWITCH
INFO:class_sensor_module: > ACTIVE_DEVICES INDI_TEXT
INFO:class_sensor_module: > DOME_POLICY INDI_SWITCH
INFO:class_sensor_module: > MOUNT_TYPE INDI_SWITCH
INFO:class_sensor_module: > SIM_PIER_SIDE INDI_SWITCH
INFO:class_sensor_module: > MOUNT_MODEL INDI_NUMBER
INFO:class_sensor_module: > MOUNT_AXES INDI_NUMBER
INFO:class_sensor_module: > FLIP_HA INDI_NUMBER
INFO:class_sensor_module:-- Vantage
INFO:class_sensor_module: > CONNECTION INDI_SWITCH
INFO:class_sensor_module: CONNECT(Connect) = Off
INFO:class_sensor_module: DISCONNECT(Disconnect) = On
INFO:class_sensor_module: > DRIVER_INFO INDI_TEXT
INFO:class_sensor_module: > DEBUG INDI_SWITCH
INFO:class_sensor_module: > CONFIG_PROCESS INDI_SWITCH
INFO:class_sensor_module: > CONNECTION_MODE INDI_SWITCH
INFO:class_sensor_module: CONNECTION_SERIAL(Serial) = On
INFO:class_sensor_module: CONNECTION_TCP(Network) = Off
INFO:class_sensor_module: > SYSTEM_PORTS INDI_SWITCH
INFO:class_sensor_module: > DEVICE_PORT INDI_TEXT
INFO:class_sensor_module: > DEVICE_BAUD_RATE INDI_SWITCH
INFO:class_sensor_module: > DEVICE_AUTO_SEARCH INDI_SWITCH
INFO:class_sensor_module: > DEVICE_PORT_SCAN INDI_SWITCH
INFO:class_sensor_module: > ACTIVE_DEVICES INDI_TEXT

I’m starting the server with supervisord and a commandline: /usr/bin/indiserver -p 7624 indi_simulator_telescope indi_simulator_ccd indi_vantage_weather

There does seem to be an occassional ccd driver error error (see below) but this does not seem to affect whether indiserver connects or not.

6:52: Driver indi_simulator_ccd: terminate called after throwing an instance of ‘std::logic_error’
2024-08-26T09:56:52: Driver indi_simulator_ccd: what(): basic_string: construction from null is not valid
2024-08-26T09:56:52: Driver indi_simulator_ccd: stderr EOF

2024-08-26T09:56:52: Driver indi_simulator_ccd: restart #8
2024-08-26T09:56:52: Driver indi_simulator_ccd: terminate called after throwing an instance of ‘std::logic_error’
2024-08-26T09:56:52: Driver indi_simulator_ccd: what(): basic_string: construction from null is not valid

2024-08-26T09:56:52: Driver indi_simulator_ccd: restart #9
2024-08-26T09:56:53: Driver indi_simulator_ccd: terminate called after throwing an instance of ‘std::logic_error’
2024-08-26T09:56:53: Driver indi_simulator_ccd: what(): basic_string: construction from null is not valid

2024-08-26T09:56:53: Driver indi_simulator_ccd: Terminated after #10 restarts

Any help welcome.

Kind regards,

Steve.

Hi Steve,
in such cases it is necessary to start the INDI server in a more verbose mode:
/usr/bin/indiserver -vv -p 7624 indi_simulator_telescope indi_simulator_ccd indi_vantage_weather

Then post the output again.

Btw.: I would question whether it is a good idea to start a CCD driver on a raspberry zero. It might need to much memory, which is very scarce on a pi zero. Maybe that’s the problem behind…

Cheers
Wolfgang