# 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= VARROA_KEY_PASSWORD= ./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.