Skip to content

A small Android app/Library to collect Bluetooth and Wifi data. Sent to Apache Kafka/RedPanda as JSON, and consumed into a Neo4j DB (server not included)

License

Notifications You must be signed in to change notification settings

hwvs/AndroidBluetoothWifiCollector

Repository files navigation

Android - Bluetooth & Wifi Data Collector

Author

Hunter Watson, 2023 Mozilla Public License 2.0

Abstract

This is an Android application that collects Bluetooth and Wifi data. It is intended to be used for research purposes.

The data can be serialized to JSON and sent to a server. (The server is not included in this repository)

The server is an Apache Kafka or RedPanda instance. The data is sent to the server using the Kafka REST Proxy. This data is then consumed and stored in a Neo4j database.

Classes

  • MainActivity - The main activity of the application. It contains the UI and the logic for collecting data.
  • BeaconScanner - A class that scans for Bluetooth and Wifi data. Uses WifiManager to scan for Wifi data, and BluetoothAdapter to scan for Bluetooth data.
  • TaggedBeaconPairCollection - A class that stores a collection of TaggedBeaconPair objects. It also contains methods for serializing the data to JSON.
  • WifiBeacon / BluetoothBeacon - Classes that store the data for a single Wifi or Bluetooth beacon. Parent class is BeaconBase.

Tests (Unit)

  • BeaconScannerTest - Tests the BeaconScanner class. (TODO) Uses Mockito to mock the WifiManager and BluetoothAdapter classes.
  • TaggedBeaconPairUnitTests - Tests the TaggedBeaconPair class using mock data.
  • (More that are not documented in this README)

Docker

(To be added)

Resources

View the Main Library Source

About

A small Android app/Library to collect Bluetooth and Wifi data. Sent to Apache Kafka/RedPanda as JSON, and consumed into a Neo4j DB (server not included)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages