ADAMaps Android companion app — Hivemapper Bee data proxy and monitor
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| app | ||
| blackbox | ||
| docs | ||
| gradle | ||
| .gitignore | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| README.md | ||
| settings.gradle.kts | ||
varroa
Android companion for the Hivemapper Bee dashcam. Pulls detection
landmarks off the on-Bee adacam-api, queues them in a local Room
DB, forwards to AdaMaps when the phone has real internet.
Sister piece: blackbox/ — Python aggregator that runs on a truck
Pi (BME680 + PMS5003) and ships air-quality readings into the same
AdaMaps stream.
Build
JDK 17, Android SDK 34
./gradlew :app:assembleDebug
Release signing needs:
VARROA_KEYSTORE_PATH=/path/to/varroa-release.keystore
VARROA_KEYSTORE_PASSWORD=<see vault>
VARROA_KEY_PASSWORD=<see vault>
./gradlew :app:assembleRelease
Config (set in-app)
- Bee URL — defaults to
http://192.168.0.10:5000(Bee AP). - AdaMaps URL + ingest key — required before uploads run.
- Cardano wallet — optional. Attaches to detection ingest for rewards routing.
Architecture
BeeCollectorService— polls the Bee, writes landmarks to Room.AdaMapsUploadWorker— drains Room toapi.adamaps.orgonce validated internet is available.ImageCollectorService— pulls detection JPEGs from the Bee.
blackbox
The air-quality side. air_aggregator.py reads BME680 +
PMS5003 over USB, posts to AdaMaps every 60s. Systemd unit at
blackbox/air-aggregator.service — set ADAMAPS_KEY and
AGGREGATOR_BEE_URL in the unit before enabling.