feat: use mdBook for documentation (#10)

This commit is contained in:
Markus Zehnder
2025-08-28 23:22:04 +02:00
committed by GitHub
parent d98cd89c48
commit 3414589bd5
24 changed files with 317 additions and 194 deletions
+35 -20
View File
@@ -1,37 +1,52 @@
# AOOSTAR WTR MAX Screen Control
# Introduction
- [asterctl usage](asterctl.md)
- [Linux shell control commands](shell_commands.md) without using asterctl
## Sensor Panels
## Motivation
- [Sensor panels](sensor_panels.md)
- [Custom sensor panels](sensor_custom_panel.md)
Developing open client software to use the embedded second screen on various Linux distributions.
It *might* also work on Windows, but I neither have that OS, nor plan to install it.
### Sensor Modes
The official proprietary AOOSTAR-X display software is not suitable for NAS and security-minded users:
Different sensor modes are supported:
- All-in-one solution that attempts to do everything, from sensor reading to running a web server for control and configuration (*exposed on all interfaces!*).
I prefer using existing monitoring tools and combining them to my liking.
- Resource hungry, written in Python. Archive of v1.3.4 is 178 MB.
- Closed source, requires root access, distributed over filesharing sites, some without HTTPS.
- Built-in expiration date. One must regularly update the software without being able to verify the source.
- Many untranslated messages in Chinese and missing instructions for included features.
- [Sensor mode 1: Text](sensor_mode1_text.md)
- [Sensor mode 2: Circular Progress](sensor_mode2_fan.md)
- [Sensor mode 3: Progress](sensor_mode3_progress.md)
- [Sensor mode 4: Pointer](sensor_mode4_pointer.md)
The display remains on continuously (24×7) if the official software is not running.
### Sensor Data Sources
## Goals
The sensor value reading is separated from the `asterctl` tool.
- [x] Reverse engineer the LCD serial protocol to provide open screen software.
- Utilize the official AOOSTAR-X display software by sniffing USB communication, using `strace`, and decompiling the Python app.
- [x] Document known commands so clients in other programming languages can be written.
- [ ] Eventually, publish a Rust crate for easy integration into other Rust applications.
Sensor values are provided in separate text files and are automatically read when the file changes.
Only the file data source is supported at the moment, other sources like pipes, sockets etc. might be supported later.
**Out of scope:**
- [Text file data source](sensor_data_txt_file.md)
- Reverse engineering the microcontroller firmware on the display board.
That would be an interesting task — potentially uncovering additional display commands — but is outside the project's current scope.
- Reimplementing the full AOOSTAR-X display software, which is overly complex for most use cases.
### Sensor Data Providers
- Proof of concept [Linux shell scripts](sensor_data_shell.md)
- [sysinfo tool](sensor_data_sysinfo.md)
## Development
- [LCD Protocol](lcd_protocol.md)
- [Reverse engineered LCD protocol](lcd_protocol.md)
- [GitHub project](https://github.com/zehnm/aoostar-rs)
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
## License
Licensed under either of
- [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)
- [MIT License](http://opensource.org/licenses/MIT)
at your option.