Hunter Watson, 2023 Mozilla Public License 2.0
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.
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 ofTaggedBeaconPair
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 isBeaconBase
.
BeaconScannerTest
- Tests theBeaconScanner
class. (TODO) Uses Mockito to mock theWifiManager
andBluetoothAdapter
classes.TaggedBeaconPairUnitTests
- Tests theTaggedBeaconPair
class using mock data.- (More that are not documented in this README)
(To be added)
View the Main Library Source