ADAMaps Android companion app — Hivemapper Bee data proxy and monitor
Find a file
kayos a92d9cf0c9
All checks were successful
gitleaks / scan (push) Successful in 18s
ci: add gitleaks workflow (Sulkta canonical)
2026-05-27 22:15:03 -07:00
.forgejo/workflows ci: add gitleaks workflow (Sulkta canonical) 2026-05-27 22:15:03 -07:00
app Public-flip prep: env-driven keystore, README, hardened cleartext, leaner docs 2026-05-27 10:30:02 -07:00
blackbox Rotate AdaMaps ingest+read keys (env-required, no inline default) 2026-05-27 09:17:23 -07:00
docs Public-flip prep: env-driven keystore, README, hardened cleartext, leaner docs 2026-05-27 10:30:02 -07:00
gradle v7: store-and-forward architecture 2026-03-11 11:11:05 -07:00
.gitignore Initial commit: Varroa ADAMaps Android app 2026-03-10 12:19:48 -07:00
build.gradle.kts Initial commit: Varroa ADAMaps Android app 2026-03-10 12:19:48 -07:00
gradle.properties Initial commit: Varroa ADAMaps Android app 2026-03-10 12:19:48 -07:00
gradlew Initial commit: Varroa ADAMaps Android app 2026-03-10 12:19:48 -07:00
README.md Public-flip prep: env-driven keystore, README, hardened cleartext, leaner docs 2026-05-27 10:30:02 -07:00
settings.gradle.kts Initial commit: Varroa ADAMaps Android app 2026-03-10 12:19:48 -07:00

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 to api.adamaps.org once 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.