Bot UI
The Robot UI is the touchscreen interface displayed on the robot’s screen. It gives you access to multiple features without needing a laptop or any other device. Everything is executed directly on the robot.
Installation
Requirements
Make sure the following versions are installed:
- Flutter:
>= 3.35.0 - Dart:
>= 3.9.0 < 4.0.0
The following tools are required but do not have strict version constraints:
- Python 3 (used by
install.py) - SSH & SCP (for deployment to the Raspberry Pi)
- flutterpi_tool (for build, run, and deployment)
- Git (with a configured SSH key for Git dependencies)
Clone the Repository
Clone the project from the official HTL-STP-ECER GitHub repository using one of the following methods. This project uses submodules, so it must be cloned with --recurse-submodules:
git clone https://github.com/htl-stp-ecer/botui.git --recurse-submodules
or via SSH:
git clone git@github.com:htl-stp-ecer/botui.git --recurse-submodules
or using GitHub CLI:
gh repo clone htl-stp-ecer/botui -- --recurse-submodules
Project Setup
Navigate into the project directory and install dependencies:
cd botui
dart pub get
Code Generation
Run the code generation step:
dart run build_runner build -d
Build & Deployment
The project provides scripts for building and deploying to your Raspberry Pi. You can customize the behavior using the following environment variables:
RPI_HOST– IP address of the Raspberry Pi.
Default:192.168.4.1RPI_USER– SSH user for deployment.
Default:piBUILD_NUMBER– Optional build identifier to tag your deployment.
Default:0
All variables have sensible defaults, so setting them is optional. To deploy, simply run:
chmod +x deploy.sh
./deploy.sh
Features
- Dashboard: The first screen you see when starting the robot.
- Sensors & Actors: A screen for all the sensor and actor graphs.
- Programs: Here you can see all your executable programs.
- Settings: The settings of the robot can be found here.