I'm in the process of writing the control software.
This issue is mostly to share what I'm doing and to collect hints/other views on this topic.
Since my version of this rover is based on a Raspberry Zero WH, for development speed reasons I chose to use Java. I know that performance-wise and memory/CPU-wise it sucks, but there's a ton of ready-made libraries and I don't want to reinvent the wheel.
Namely, what I'm using is:
https://pi4j.com/ - for IMU, ADC, PWM controller, etc, it has lots of libraries ready to use
https://www.eclipse.org/paho/ - MQTT communication
https://eclipse-ee4j.github.io/jersey/ - REST API
I will eventually use WiFI and LoRa for the radio/control part, and all telemetry will be sent by the rover through MQTT. MQTT will also be used for interactive control.
Pre-programmed/batch control will be handled through a set of REST APIs that the code running on the rover will provide.
I'm in the process of writing the control software.
This issue is mostly to share what I'm doing and to collect hints/other views on this topic.
Since my version of this rover is based on a Raspberry Zero WH, for development speed reasons I chose to use Java. I know that performance-wise and memory/CPU-wise it sucks, but there's a ton of ready-made libraries and I don't want to reinvent the wheel.
Namely, what I'm using is:
https://pi4j.com/ - for IMU, ADC, PWM controller, etc, it has lots of libraries ready to use
https://www.eclipse.org/paho/ - MQTT communication
https://eclipse-ee4j.github.io/jersey/ - REST API
I will eventually use WiFI and LoRa for the radio/control part, and all telemetry will be sent by the rover through MQTT. MQTT will also be used for interactive control.
Pre-programmed/batch control will be handled through a set of REST APIs that the code running on the rover will provide.