... | ... | @@ -11,81 +11,13 @@ For this offline patch files can be uploaded to the service and installed. |
|
|
* For offline updates, new installation and updates are installed using `.rtispatch` files distributed by a Cosys-Lab member.
|
|
|
* Self-upgrade can make sure RTIS Update stays up to date and can do both offline and online self-updating.
|
|
|
* Any software package can be tracked and updated.
|
|
|
* Standalone applications and Python modules can be uninstalled.
|
|
|
* Git bundles can be used to install and update existing software packages with support for Git submodules if offline.
|
|
|
* The STM32 firmware of an RTIS device can be found and flashed on Jetson systems both offline and online.
|
|
|
* Services can be automatically installed and updated. Furthermore, these can be restarted/stopped through the interface.
|
|
|
* Local Markdown documentation files of applications can be linked and rendered on the web interface.
|
|
|
* Next to Git updates the system allows Powershell and Shell scripts on Windows and Linux respectively to be used to further perform installation and update steps.
|
|
|
|
|
|
## Dependencies
|
|
|
Version numbers are those used during this project, higher versions likely supported too unless otherwise mentioned.
|
|
|
* Python 3.6 or higher with modules:
|
|
|
* multiprocessing-logging
|
|
|
* flask
|
|
|
* PySerial (On windows for getting RTIS Device firmware)
|
|
|
* RTIS Serial (On Linux for getting and installing RTIS Device firmware)
|
|
|
* stm32loader (For installing RTIS Device firmware on Jetson devices)
|
|
|
* Jetson.GPIO (For installing RTIS Device firmware on Jetson devices)
|
|
|
* Powershell on Windows for running scripts
|
|
|
* apt-offline on Linux for installing packages when no internet is available
|
|
|
* An internet connection and GIT credentials for online updates
|
|
|
|
|
|
## Installation
|
|
|
Ideally RTIS Update should be running the background at all times. Therefore, it can be installed as a service. Alternatively, you can manually start it.
|
|
|
|
|
|
### Manual
|
|
|
This Web service application is a Python script. It can be started from the command line using the following command:
|
|
|
```bash
|
|
|
python3 RTISUpdateWeb.py
|
|
|
```
|
|
|
|
|
|
It supports several launch arguments to configure this application:
|
|
|
- `-h`/`--help`: show a help message about the launch arguments
|
|
|
- `--log` : Disable or configure log files. 0=off , 1=only warnings and errors, 2(default)=includes info, 3=includes debug
|
|
|
- `--install_folder` : Folder where to install new RTIS Software. Default=_/home/cosyslab/rtis-software_
|
|
|
- `--install_user` : User with rights to execute elevated commands with. Default=_cosyslab_
|
|
|
- `--device_port` : The port on which to find the connected RTIS device. Default=_/dev/ttyACM0_
|
|
|
- `--host_ip` : The IP to host the updater web page on. default=_localhost_
|
|
|
- `--host_port` : The port to host the updater web page on. default=_8001_
|
|
|
- `--online_url` : The online URL where the online update list can be found. Default=_[https://cosysgit.uantwerpen.be/rtis-software/rtisupdate/-/snippets/28/raw/main/software_list.json](https://cosysgit.uantwerpen.be/rtis-software/rtisupdate/-/snippets/28/raw/main/software_list.json)_
|
|
|
- `--git_username` : The cosys-git username to use for online updates.
|
|
|
- `--git_password` : The cosys-git password to use for online updates.
|
|
|
-
|
|
|
for example:
|
|
|
```bash
|
|
|
python3 RTISUpdateWeb.py --host_ip 192.168.1.150 --install_folder /mnt/data/rtis-software
|
|
|
```
|
|
|
|
|
|
Do note that for allowing online updates that use the GIT server to retrieve them, the GIT credentials have to be provided.
|
|
|
|
|
|
### Windows service
|
|
|
To make RTIS Update run in the background on your system you can install it as a Windows service.
|
|
|
To do so, you can use the automatic installer script [`install_service.ps1`](Web/install_service.ps1) available in the *Web* folder.
|
|
|
This script will install the service and start it. You can optionally supply several launch arguments to the script to configure the Web service.
|
|
|
To learn more about these launch arguments see above in the [manual](#manual) section.
|
|
|
An example on how to add launch arguments:
|
|
|
```powershell
|
|
|
cd Web
|
|
|
.\install_service.ps1 "--install_folder C:\Users\cosyslab\rtis-software --log 3 --git_username myusername --git_password mypassword"
|
|
|
```
|
|
|
|
|
|
Do note that for allowing online updates that use the GIT server to retrieve them, the GIT credentials have to be provided.
|
|
|
|
|
|
### Linux service
|
|
|
To make RTIS Update run in the background on your system you can install it as a Systemd service on Linux.
|
|
|
To do so, you can use the automatic installer script [`install_service.sh`](Web/install_service.sh) available in the *Web* folder.
|
|
|
This script will install the service and start it. The first argument should always be the username with elevated privileges that the service should be using.
|
|
|
You can optionally add supply several launch arguments to the script to configure the Web service.
|
|
|
To learn more about these launch arguments see above in the [manual](#manual) section.
|
|
|
Make sure to run the script with `sudo`.
|
|
|
An example on how to add launch arguments:
|
|
|
```bash
|
|
|
cd Web
|
|
|
sudo ./install_service.sh cosyslab --install_folder /mnt/data/rtis-software --log 3 --git_username myusername --git_password mypassword
|
|
|
```
|
|
|
|
|
|
Do note that for allowing online updates that use the GIT server to retrieve them, the GIT credentials have to be provided.
|
|
|
|
|
|
## Interface usage
|
|
|
The web interface is available at the IP and port specified in the launch arguments.
|
|
|
The interface is divided into two sections: the top section is about uploading/installing new software packages and the bottom section shows the currently installed software packages.
|
... | ... | @@ -698,4 +630,4 @@ then |
|
|
fi
|
|
|
echo "Installation completed!"
|
|
|
|
|
|
``` |
|
|
``` |
|
|
\ No newline at end of file |