Busbom is a smart bus stop system based on network cameras and STM32 LED displays.
This Qt-based client provides a real-time dashboard for bus approach detection, passenger guidance, and remote configuration.
- Login & Sign Up UI
- User authentication via email and password
- Password confirmation and duplicate email validation
- Warning dialogs for login failures and invalid inputs
- Live Dashboard
- Platform selection and real-time status indicators (Server, Camera, Display)
- RTSP live video stream and recorded video playback
- Bus number and platform assignment display
- Settings
- Network: Set API URL, port, auto-connect
- Camera: Adjust brightness, contrast, exposure, saturation
- ROI: Designate platform areas directly on the captured image
- Sleep Mode: Schedule stream off/on time (e.g., 01:00 to 05:00)
[LoginPage] ⇄ [SignUpPage] ⇨ [MainWindow]
└── [SettingsDialog]
├── Network Settings
├── Camera Settings (with preview)
├── ROI Settings (draw directly on canvas)
└── Sleep Mode Configuration
Make sure the following packages are installed:
- Qt 6.x (
Widgets,Network,Multimedia,Sql) - OpenCV
- CMake ≥ 3.19
git clone https://github.com/yourusername/BusbomQt.git
cd BusbomQt
mkdir build && cd build
cmake ..
cmake --build .※ Make sure to configure your
OpenCV_DIRcorrectly inCMakeLists.txt.
Place the following files in the same directory as the compiled executable (usually the build/ folder):
This file contains server and video stream information.
Here’s an example format:
{
"api_base_url": "https://192.168.0.xx",
"camera_url": "https://192.168.0.xx",
"video_url": "http://192.168.0.xx",
"rtsp_url": "rtsp://192.168.0.xx/profile2/media.smp"
}If your server requires HTTPS, also place the following:
client.cert.pemclient.key.pemca.cert.pem
- Uses SQLite with a local file
user.db - Automatically created on first launch
- Table structure:
CREATE TABLE users ( id INTEGER PRIMARY KEY AUTOINCREMENT, email TEXT UNIQUE, password TEXT );





