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