Hello, my team and I would like to be able to reboot an edge device remotely once it is out in the field. Due to the devices' architecture (Jetson Nano/Xavier), we are unable to utilize the Remote Desktop applications we typically use for our Windows machines. This means that we are unable to access the device's terminal once it is out in the field in order to run any rebooting functions. Our next step was to try and create a module that we can activate in order to reboot the device for us whenever we need it to. However, we ran into two main issues when doing so:
1) We are unable to run any rebooting operations from the Docker container. For example: python's os.system('reboot'), systemctl reboot, reboot, shutdown -r now. We have tried both executing shell scripts with those commands and doing it directly from the python script using Popen(). We understand those are all pointing to the same command, but since systemctl is not found inside the Docker container, we are unable to access its functions.
2) Even if we were to able to restart from within the module, we are unsure on how to be able to communicate with it for it to reboot on command. We know modules are able to be triggered based on loops, delays, and other modules' messages, but we do not know how to communicate with it remotely.
I appreciate any advice on how to do this, even if it is not exactly related to creating a module to do so.