update readme

This commit is contained in:
l5y
2025-09-15 08:28:55 +02:00
parent 29dba74038
commit 46a1105f29
2 changed files with 69 additions and 6 deletions

View File

@@ -1,18 +1,81 @@
# potato-mesh
a simple node dashboard for berlin mediumfast
### requirements
a simple meshtastic node dashboard for your local community. here: berlin mediumfast.
![screenshot of the first version](./scrot-0.1.png)
## status
in active development.
what works:
* updating nodes from a locally connected meshtastic device (via serial)
* awaiting messages on default channel (0) from a local meshtastic device
* storing nodes and messages in a local database (sqlite3)
* displaying nodes ordered by last seen in a web app table view
* displaying nodes by geographic coordinates on a map layer, coloured by device role
* displaying new node notifications and chat messages in default channel in chat box
what does not work (yet):
* posting nodes and messages to the api endpoints (wip)
## requirements
requires a meshtastic node connected (via serial) to gather mesh data and the meshtastic cli.
### data
requires the meshtastic python api for the database.
```bash
python -m venv .venv
source .venv/bin/activate
pip install -U meshtastic
```
requires latest ruby and ruby gems for the sinatra web app.
```bash
gem install bundler
bundle install
```
### database
uses python meshtastic library to ingest mesh data into an sqlite3 database locally
run `nodes.sh` in `data/` to keep updating node records.
run `mesh.sh` in `data/` to keep updating node records and parsing new incoming messages.
```bash
MESH_SERIAL=/dev/ttyACM0 DEBUG=1 ./mesh.sh
[...]
[debug] upserted node !849b7154 shortName='7154'
[debug] upserted node !ba653ae8 shortName='3ae8'
[debug] upserted node !16ced364 shortName='Pat'
[debug] stored message from '!9ee71c38' to '^all' ch=0 text='Guten Morgen!'
```
enable debug output with `DEBUG=1`, specify the serial port with `MESH_SERIAL` (default `/dev/ttyACM0`).
### web app
### web
uses a ruby sinatra webapp to display data from the sqlite database
run `app.sh` in `web/` to run the sinatra webserver and check [127.0.0.1:41447](http://127.0.0.1:41447/) for the correct node map.
run `app.sh` in `web/` to run the sinatra webserver and check
[127.0.0.1:41447](http://127.0.0.1:41447/) for the correct node map.
```bash
API_TOKEN="1eb140fd-cab4-40be-b862-41c607762246" ./app.sh
== Sinatra (v4.1.1) has taken the stage on 41447 for development with backup from Puma
Puma starting in single mode...
[...]
* Environment: development
* PID: 188487
* Listening on http://127.0.0.1:41447
```
set `API_TOKEN` required for authorizations on the api post-endpoints (wip).
### license
apache v2.0

BIN
scrot-0.1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 KiB