A professional configuration and management tool for Teltonika industrial routers and gateways (TRB140, RUT955, etc.). This tool simplifies device configuration, backup/restore operations, and remote monitoring via SSH connection.
Developed by Gia Huy Engineering - BMS & Automation Solutions
- π All-in-one: Backup, restore, configure, and monitor in a single app
- π Excel Export: Pull device configuration to Excel with human-readable values
- π Batch Config: Push configuration changes from Excel back to device
- π± Mobile/SMS Control: Check signal, SIM status, send test SMS
- π» SSH Terminal: Execute commands with preset categories
| I want to... | Go to |
|---|---|
| Install and run the app | π Installation |
| See what the app can do | β¨ Features |
| Learn how to use it | π Usage Guide |
| Check logs for debugging | π Logging |
| I want to... | See |
|---|---|
| Understand project | This README (reading now) |
| Understand code architecture | docs/ARCHITECTURE.md |
| Add new features | π§ Development |
| Understand Value Mapping | docs/VALUE_MAPPING.md |
| Understand UCI/Modbus | docs/UCI_MODBUS_CLIENT.md |
| UI/UX guidelines | docs/UI_DESIGN.md |
| View changelog | CHANGELOG.md |
| View roadmap | ROADMAP.md |
1. README.md β Project overview
2. docs/ARCHITECTURE.md β Code structure & flow
3. Run: python main.py β Experience the app
4. docs/VALUE_MAPPING.md β Mapping mechanism
5. Read: src/app.py β Entry point of logic
- β SSH connection to device
- β Cancel pending connection
- β Auto-reconnect after reboot
- β Ping Test
- β Open WebUI in browser
- β Full configuration backup (tar.gz)
- β Restore from backup file
- β Reboot device
- β Factory Reset
- β Check signal strength (RSRP, RSSI, SINR)
- β Check SIM status (ICCID, IMSI, Operator)
- β Restart modem
- β Toggle mobile connection
- β Send test SMS
- β Pull configuration to TXT file
- β Pull configuration to Excel (with Value Mapping)
- β Push configuration from file to device
- β Compare configuration (file vs device)
- β Special handling for Modbus Client
TRB140_Config/
βββ main.py # Entry point
βββ config.json # Value mappings
βββ requirements.txt # Dependencies
βββ Export/ # Output directory
βββ logs/ # Log files
β βββ session_activity.log
β βββ debug_errors.log
βββ src/ # Source code
βββ app.py # Main Application (GUI)
βββ utils.py # Logging utilities
βββ services/
β βββ ssh_manager.py # SSH connection, AutoReconnect
β βββ value_mapper.py # Display β Raw value conversion
β βββ config_manager.py # Backup, Restore, Pull, Push, Compare
βββ parsers/
β βββ uci_parser.py # UCI format parser
βββ ui/
βββ theme.py # Colors, Fonts, Sizes
- Python 3.10+
- Windows 10/11
pip install -r requirements.txtpython main.py- Enter IP Address (default: 192.168.1.205)
- Enter Username (default: root)
- Enter Password
- Click π Connect
- Connect to device
- Click πΎ Backup
- Backup file will be saved to
Export/directory
- Pull to TXT: Export all config files to a single text file
- Pull to Excel: Export config with table format, includes Value Mapping for Modbus
- Connect to device
- Select config file (.txt or .xlsx)
- Click π€ Push
- Confirm the operation
- Connect to device
- Click π Compare
- Select config file to compare
- View the generated diff report
The config.json file contains mappings to convert raw values to user-friendly text:
{
"value_mappings": {
"modbus_client_alarm_enable": {
"description": "Alarm On/Off status",
"mappings": [
{ "raw": "0", "display": "Off" },
{ "raw": "1", "display": "On" }
]
}
}
}- Activity Log:
logs/session_activity.log- Records activities - Error Log:
logs/debug_errors.log- Records errors
- Create method in
src/app.pyfor UI - Add business logic to
src/services/ - Update UI in
_create_*_section()
- Open
config.json - Add mapping following the format above
- Restart the application
# View configuration
uci show <config>
# Set value
uci set <config>.<section>.<option>=<value>
# Commit changes
uci commit <config>
# View network status
cat /tmp/sysinfo/model
gsmctl -q # Signal strength
gsmctl -n # ICCID
gsmctl -x # IMSI| File | Description |
|---|---|
| CHANGELOG.md | π Development history & changes |
| ROADMAP.md | πΊοΈ Ideas & feature plans |
| File | Description |
|---|---|
| docs/ARCHITECTURE.md | ποΈ System architecture & code structure |
| docs/VALUE_MAPPING.md | π Detailed Value Mapping guide |
| docs/UCI_MODBUS_CLIENT.md | π§ UCI fields for Modbus Client |
| docs/UI_DESIGN.md | π¨ UI/UX design guidelines |
| docs/REFERENCES.md | π Reference links & common commands |
| Document | Link |
|---|---|
| TRB140 Wiki | https://wiki.teltonika-networks.com/view/TRB140 |
| Shell Commands | https://wiki.teltonika-networks.com/view/Shell_Commands |
| UCI Commands | https://wiki.teltonika-networks.com/view/UCI_command_usage |
| Gsmctl Commands | https://wiki.teltonika-networks.com/view/Gsmctl_commands |
| Modbus Client | https://wiki.teltonika-networks.com/view/Modbus_TCP_Client_configuration_example |
Contributions are welcome! Please:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is distributed under the MIT License.
Mr.ThanhRΓ²m
- Version: 1.0.0-beta
- Last updated: 13/12/2024
Made with β€οΈ for Teltonika device management