mirror of
https://github.com/l5yth/potato-mesh.git
synced 2026-03-28 17:42:48 +01:00
1
.gitignore
vendored
1
.gitignore
vendored
@@ -65,3 +65,4 @@ reports/
|
|||||||
|
|
||||||
# AI planning and documentation
|
# AI planning and documentation
|
||||||
ai_docs/
|
ai_docs/
|
||||||
|
*.log
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ Edit `.env` file or run `./configure.sh` to set:
|
|||||||
## Device Setup
|
## Device Setup
|
||||||
|
|
||||||
**Find your device:**
|
**Find your device:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Linux
|
# Linux
|
||||||
ls /dev/ttyACM* /dev/ttyUSB*
|
ls /dev/ttyACM* /dev/ttyUSB*
|
||||||
@@ -44,6 +45,7 @@ ls /dev/ttyS*
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Set permissions (Linux/macOS):**
|
**Set permissions (Linux/macOS):**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo chmod 666 /dev/ttyACM0
|
sudo chmod 666 /dev/ttyACM0
|
||||||
# Or add user to dialout group
|
# Or add user to dialout group
|
||||||
@@ -72,6 +74,7 @@ docker-compose pull && docker-compose up -d
|
|||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
**Device access issues:**
|
**Device access issues:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Check device exists and permissions
|
# Check device exists and permissions
|
||||||
ls -la /dev/ttyACM0
|
ls -la /dev/ttyACM0
|
||||||
@@ -81,12 +84,14 @@ sudo chmod 666 /dev/ttyACM0
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Port conflicts:**
|
**Port conflicts:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Find what's using port 41447
|
# Find what's using port 41447
|
||||||
sudo lsof -i :41447
|
sudo lsof -i :41447
|
||||||
```
|
```
|
||||||
|
|
||||||
**Container issues:**
|
**Container issues:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Check logs
|
# Check logs
|
||||||
docker-compose logs
|
docker-compose logs
|
||||||
|
|||||||
11
README.md
11
README.md
@@ -16,9 +16,9 @@ A simple Meshtastic-powered node dashboard for your local community. _No MQTT cl
|
|||||||
|
|
||||||
Live demo for Berlin #MediumFast: [potatomesh.net](https://potatomesh.net)
|
Live demo for Berlin #MediumFast: [potatomesh.net](https://potatomesh.net)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 🐳 Quick Start with Docker
|
## Quick Start with Docker
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./configure.sh # Configure your setup
|
./configure.sh # Configure your setup
|
||||||
@@ -88,8 +88,10 @@ SITE_NAME="Meshtastic Berlin" MAP_CENTER_LAT=52.502889 MAP_CENTER_LON=13.404194
|
|||||||
The web app contains an API:
|
The web app contains an API:
|
||||||
|
|
||||||
* GET `/api/nodes?limit=100` - returns the latest 100 nodes reported to the app
|
* GET `/api/nodes?limit=100` - returns the latest 100 nodes reported to the app
|
||||||
|
* GET `/api/positions?limit=100` - returns the latest 100 position data
|
||||||
* GET `/api/messages?limit=100` - returns the latest 100 messages
|
* GET `/api/messages?limit=100` - returns the latest 100 messages
|
||||||
* POST `/api/nodes` - upserts nodes provided as JSON object mapping node ids to node data (requires `Authorization: Bearer <API_TOKEN>`)
|
* POST `/api/nodes` - upserts nodes provided as JSON object mapping node ids to node data (requires `Authorization: Bearer <API_TOKEN>`)
|
||||||
|
* POST `/api/messages` - appends positions provided as a JSON object or array (requires `Authorization: Bearer <API_TOKEN>`)
|
||||||
* POST `/api/messages` - appends messages provided as a JSON object or array (requires `Authorization: Bearer <API_TOKEN>`)
|
* POST `/api/messages` - appends messages provided as a JSON object or array (requires `Authorization: Bearer <API_TOKEN>`)
|
||||||
|
|
||||||
The `API_TOKEN` environment variable must be set to a non-empty value and match the token supplied in the `Authorization` header for `POST` requests.
|
The `API_TOKEN` environment variable must be set to a non-empty value and match the token supplied in the `Authorization` header for `POST` requests.
|
||||||
@@ -134,6 +136,11 @@ node records and parsing new incoming messages. Enable debug output with `DEBUG=
|
|||||||
specify the serial port with `MESH_SERIAL` (default `/dev/ttyACM0`) or set it to an IP
|
specify the serial port with `MESH_SERIAL` (default `/dev/ttyACM0`) or set it to an IP
|
||||||
address (for example `192.168.1.20:4403`) to use the Meshtastic TCP interface.
|
address (for example `192.168.1.20:4403`) to use the Meshtastic TCP interface.
|
||||||
|
|
||||||
|
## Demos
|
||||||
|
|
||||||
|
* <https://potatomesh.net/>
|
||||||
|
* <https://vrs.kdd2105.ru/>
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Apache v2.0, Contact <COM0@l5y.tech>
|
Apache v2.0, Contact <COM0@l5y.tech>
|
||||||
|
|||||||
BIN
scrot-0.3.png
Normal file
BIN
scrot-0.3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 952 KiB |
@@ -40,7 +40,7 @@ MAX_JSON_BODY_BYTES = begin
|
|||||||
rescue ArgumentError
|
rescue ArgumentError
|
||||||
DEFAULT_MAX_JSON_BODY_BYTES
|
DEFAULT_MAX_JSON_BODY_BYTES
|
||||||
end
|
end
|
||||||
VERSION_FALLBACK = "v0.2.1"
|
VERSION_FALLBACK = "v0.3.0"
|
||||||
|
|
||||||
def fetch_config_string(key, default)
|
def fetch_config_string(key, default)
|
||||||
value = ENV[key]
|
value = ENV[key]
|
||||||
|
|||||||
Reference in New Issue
Block a user