Create README
This commit is contained in:
parent
4a24ebf42f
commit
05740326d5
2 changed files with 120 additions and 0 deletions
120
README.md
Normal file
120
README.md
Normal file
|
@ -0,0 +1,120 @@
|
|||
# eink-feed
|
||||
|
||||
A lightweight system for delivering dynamic images to eInk display (like Kindles) over a WebSocket-based protocol.
|
||||
It enables remote rendering and real-time updates for information displays.
|
||||
|
||||
## eink-feed-server
|
||||
|
||||
```
|
||||
eink-feed-server
|
||||
-h, --help
|
||||
Display this help and exit.
|
||||
|
||||
--port <u16>
|
||||
Web server port.
|
||||
|
||||
--config <str>
|
||||
Path to config file.
|
||||
```
|
||||
|
||||
### API
|
||||
|
||||
- `GET /api/channel?id=<CHANNEL_ID>`:
|
||||
Returns channel configuration. Can be used by a rendering server to get display information about the image channel.
|
||||
- `POST /api/frame?id=<CHANNEL_ID>&orientation=<(portrait|landscape)_(left|right)>`:
|
||||
Accepts a multipart form with a BMP or PNG.
|
||||
- `/api/ws/display`:
|
||||
WebSocket endpoint for protobuf communication between a display client and the server. Image data is sent over this socket.
|
||||
|
||||
### Configuration
|
||||
|
||||
```json
|
||||
{
|
||||
"channels": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "test-channel",
|
||||
"display": {
|
||||
"width": 800,
|
||||
"height": 600,
|
||||
"orientation": "landscape_left"
|
||||
}
|
||||
}
|
||||
],
|
||||
"clients": [
|
||||
{
|
||||
"name": "test-kindle",
|
||||
"channel_id": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## eink-feed-client
|
||||
|
||||
Currently only runs on a Kindle 4/5 (https://git.dergrimm.net/dergrimm/kindle)
|
||||
|
||||
```
|
||||
eink-feed-client
|
||||
-h, --help
|
||||
Display this help and exit.
|
||||
|
||||
--host <str>
|
||||
eink-feed server host (e.g. hostname:port).
|
||||
|
||||
--name <str>
|
||||
Client name.
|
||||
|
||||
--partial
|
||||
Enable partial eink framebuffer updates. May not look as sharp but reduces flickering.
|
||||
```
|
||||
|
||||
## eink-feed-render-departures
|
||||
|
||||
Render implementation that displays departure information of a public transit stop using an EFA-JSON endpoint.
|
||||
|
||||
```
|
||||
eink-feed-render-departures
|
||||
-h, --help
|
||||
Display this help and exit.
|
||||
|
||||
--url <str>
|
||||
URL of eink-feed server.
|
||||
|
||||
--channel <u32>
|
||||
Channel ID.
|
||||
|
||||
--efa <str>
|
||||
URL of EFA server.
|
||||
|
||||
--stop <str>
|
||||
Stop ID.
|
||||
|
||||
--tz <str>
|
||||
Time zone.
|
||||
|
||||
--max <usize>
|
||||
Max number of departures listed.
|
||||
|
||||
--show-operator
|
||||
Show operator.
|
||||
|
||||
--stopfinder <str>
|
||||
Search for stops on the EFA server with the given search query.
|
||||
```
|
||||
|
||||
<hr />
|
||||
|
||||
Search for stops:
|
||||
|
||||
`eink-feed-render-departures --efa 'https://example.com' --stopfinder 'Stuttgart' | jq`
|
||||
|
||||
<hr />
|
||||
|
||||
Render departures for a stop ID:
|
||||
|
||||
`eink-feed-render-departures --url 'http://<HOST>:<PORT>' --channel <CHANNEL_ID> --efa 'https://example.com' --tz 'Europe/Berlin' --show-operator --stop 'de:08111:6115'`
|
||||
|
||||
<hr />
|
||||
|
||||

|
BIN
assets/departures.jpg
Normal file
BIN
assets/departures.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 419 KiB |
Loading…
Add table
Add a link
Reference in a new issue