120 lines
4.3 KiB
Markdown
120 lines
4.3 KiB
Markdown
# AOOSTAR WTR MAX / GEM12+ PRO Screen Control
|
|
|
|
Reverse engineering the [AOOSTAR WTR MAX](https://aoostar.com/products/aoostar-wtr-max-amd-r7-pro-8845hs-11-bays-mini-pc)
|
|
display protocol, with a proof-of-concept application written in Rust.
|
|
It has only been tested on the WTR MAX, but should also support the GEM12+ PRO device.
|
|
|
|
Check out the **[User Guide](https://zehnm.github.io/aoostar-rs)** for a list of features and installation and usage information.
|
|
|
|
## Features
|
|
|
|
- Control the AOOSTAR WTR MAX and GEM12+ PRO second screen from Linux.
|
|
- Switch the display on or off.
|
|
- Also possible with standard [Linux shell commands](docs/shell_commands.md).
|
|
- [Linux systemd Service](docs/linux/README.md) to automatically switch off the LCD at boot up.
|
|
- Display images (with automatic scaling and partial update support).
|
|
- Render dynamic sensor panels defined from the AOOSTAR-X software.
|
|
- Update sensor values from simple text files.
|
|
- Rotate through multiple panels in a defined interval.
|
|
- USB device/serial port selection.
|
|
|
|
## Experimental Web UI
|
|
|
|
This fork also contains an experimental `aster-webui` crate for managing custom panel images and
|
|
`Monitor3.json` through a browser.
|
|
|
|
Current scope:
|
|
|
|
- upload source images through the browser
|
|
- normalize them to AOOSTAR-safe `960x376` JPG files
|
|
- manage rotation order and switch interval
|
|
- enable or disable custom panels without the vendor web UI
|
|
- drive the AOOSTAR LCD directly through the native `aoostar-rs` serial implementation
|
|
|
|
Start it from the workspace root:
|
|
|
|
```bash
|
|
cargo run -p aster-webui -- --config-dir /config --bind 0.0.0.0:8080
|
|
```
|
|
|
|
Important:
|
|
|
|
- the current web UI writes compatible `Monitor3.json` and `/config/img/*` assets
|
|
- animated GIF uploads currently use the first frame only
|
|
- the native display loop runs automatically and uses the default AOOSTAR USB UART unless
|
|
`--device`, `--usb`, `--simulate`, or `--disable-display` is specified
|
|
- the native path currently targets custom image panels; built-in vendor sensor themes are not yet
|
|
reimplemented in the web UI
|
|
|
|
## Native Container Variant
|
|
|
|
This fork also ships a separate containerized Unraid-friendly variant based purely on `aoostar-rs`.
|
|
|
|
Files:
|
|
|
|
- `container/Dockerfile`
|
|
- `container/entrypoint.sh`
|
|
- `container/unraid/aoostar-rs-webui.xml`
|
|
|
|
Build locally from the repository root:
|
|
|
|
```bash
|
|
docker build -f container/Dockerfile -t aoostar-rs-webui:latest .
|
|
```
|
|
|
|
Example run:
|
|
|
|
```bash
|
|
docker run -d \
|
|
--name aoostar-rs-webui \
|
|
--device /dev/ttyACM0:/dev/ttyACM0 \
|
|
-p 8080:8080 \
|
|
-v /mnt/user/appdata/aoostar-rs/config:/config \
|
|
-v /mnt/cache:/mnt/cache:ro \
|
|
-v /mnt/user:/mnt/user:ro \
|
|
aoostar-rs-webui:latest
|
|
```
|
|
|
|
The container starts only the native Rust stack:
|
|
|
|
- `aster-webui` on port `8080`
|
|
- direct LCD rotation through `aoostar-rs`
|
|
- no vendor binary and no `_MEI*/sys_img` runtime sync
|
|
|
|
## Disclaimer
|
|
|
|
> I take no responsibility for the use of this software.
|
|
> There is no official documentation available;
|
|
> all display control commands have been reverse engineered from the original AOOSTAR-X software.
|
|
|
|
Even though this software works fine **for me**, I cannot guarantee that it is risk-free:
|
|
|
|
- It may or may not work.
|
|
- It could crash the display firmware, requiring a power cycle.
|
|
- It could even brick the display firmware.
|
|
- You have been warned!
|
|
|
|
The risk remains until the manufacturer provides official documentation, and the protocol can be reviewed.
|
|
Note: Multiple attempts to contact the manufacturer for documentation have received no response.
|
|
|
|
With that out of the way, on to the fun stuff!
|
|
|
|
- Browse the source code or read the [User Guide](https://zehnm.github.io/aoostar-rs)
|
|
- See [releases](https://github.com/zehnm/aoostar-rs/releases) for binary Linux x64 releases. A Debian package for easy installation is planned for the future!
|
|
|
|
## Contributing
|
|
|
|
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
|
|
|
|
Please note that this software is currently in its initial development and will have major changes until the mentioned
|
|
goals above are reached!
|
|
|
|
## License
|
|
|
|
Licensed under either of
|
|
|
|
- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
|
|
- MIT License ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
|
|
|
|
at your option.
|