53 lines
2.2 KiB
Markdown
53 lines
2.2 KiB
Markdown
# Introduction
|
||
|
||
- [asterctl usage](asterctl.md)
|
||
- [Linux shell control commands](shell_commands.md) without using asterctl
|
||
|
||
## Motivation
|
||
|
||
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.
|
||
|
||
The official proprietary AOOSTAR-X display software is not suitable for NAS and security-minded users:
|
||
|
||
- 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.
|
||
|
||
The display remains on continuously (24×7) if the official software is not running.
|
||
|
||
## Goals
|
||
|
||
- [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.
|
||
|
||
**Out of scope:**
|
||
|
||
- 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.
|
||
|
||
|
||
## Development
|
||
|
||
- [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.
|