| Crates.io | aranet-service |
| lib.rs | aranet-service |
| version | 0.1.9 |
| created_at | 2026-01-20 01:33:01.87723+00 |
| updated_at | 2026-01-22 03:19:13.877518+00 |
| description | Background collector and HTTP REST API for Aranet sensors |
| homepage | |
| repository | https://github.com/cameronrye/aranet |
| max_upload_size | |
| id | 2055620 |
| size | 128,107 |
Background collector and HTTP REST API for Aranet sensors.
A service daemon that continuously monitors Aranet devices and exposes sensor data via a REST API. Built with Axum for high-performance async HTTP handling.
cargo install aranet-service
Or build from source:
cargo build --release -p aranet-service
# Start the service with default configuration
aranet-service
# Specify a custom config file
aranet-service --config /path/to/config.toml
# Specify bind address and port
aranet-service --bind 0.0.0.0:8080
Create a configuration file at ~/.config/aranet/service.toml:
[server]
bind = "127.0.0.1:3000"
[storage]
path = "~/.local/share/aranet/data.db"
[[devices]]
address = "AA:BB:CC:DD:EE:FF"
name = "Living Room"
poll_interval = 60 # seconds
| Method | Endpoint | Description |
|---|---|---|
| GET | /health |
Service health check |
| GET | /api/devices |
List all configured devices |
| GET | /api/devices/:id |
Get device details |
| GET | /api/devices/:id/current |
Get current reading |
| GET | /api/devices/:id/readings |
Query stored readings |
| GET | /api/devices/:id/history |
Query device history |
| GET | /api/readings |
Query all readings across devices |
| WS | /api/ws |
WebSocket for real-time updates |
For /readings and /history endpoints:
| Parameter | Type | Description |
|---|---|---|
since |
Unix timestamp | Filter records after this time |
until |
Unix timestamp | Filter records before this time |
limit |
Integer | Maximum number of records |
offset |
Integer | Skip this many records (pagination) |
# Check service health
curl http://localhost:3000/health
# List devices
curl http://localhost:3000/api/devices
# Get current reading
curl http://localhost:3000/api/devices/living-room/current
# Query history with time range
curl "http://localhost:3000/api/devices/living-room/history?since=1705320000&limit=100"
This crate is part of the aranet workspace:
| Crate | crates.io | Description |
|---|---|---|
| aranet-core | Core BLE library for device communication | |
| aranet-types | Shared types for sensor data | |
| aranet-store | Local data persistence | |
| aranet-cli | Command-line interface | |
| aranet-tui | Terminal UI dashboard | |
| aranet-gui | - | Desktop GUI application |
| aranet-wasm | - | WebAssembly module |
MIT
Made with ❤️ by Cameron Rye