Skip to content

Android Nodes

arnav dhamija edited this page Dec 9, 2018 · 5 revisions

Vectors uses an Android app for connecting Android devices automatically. We used the Android Nearby API connecting Android devices using a combination of Bluetooth and Wi-Fi direct.

Requirements

  • Android Version: 7.0+ / API 24+ (Android Nearby is technically supported from 6.0 onwards, but there have been some issues with devices on 6.0)

Tested Android Devices

  • Xiaomi Redmi Note 4
  • Moto G5(S/+)
  • Moto G4(+)
  • Samsung Galaxy Tab A 8.0
  • Samsung Galaxy S8
  • Nexus 9
  • One Plus 5(T)

The limiting factor is the device's ability to keep the Bluetooth connection active once connected to another device. The Bluetooth radio may not be active long enough for stable connections. This is largely vendor specific. Oppo smartphones have had several issues when it comes to this.

Installation

The Android app is available from the Google Play Store - https://play.google.com/store/apps/details?id=in.swifiic.vectors

It can also be built from source by importing the project in Android Studio after cloning the repository.

Setting up the Network

After installing, launch the app on all the participating devices. The following permissions are required:

  • Location (Required) - for Nearby Connections
  • File Access (Required) - for writing video chunk and log files to the internal storage directory
  • Contacts (Optional) - for obtaining the device user's E-mail ID for logging

Press the 'Start Broadcasting' button to start searching for other devices running Vectors. On finding another device with Vectors running, the two devices will automatically try to negotiate a connection. Once the two devices are successfully connected, they will exchange the lists of video chunks available on each. These video chunks are transferred till both the devices have the same files (copy counts of video chunks permitting) or till the Bluetooth connection sporadically disconnects.

For more information on how to set up the network, please see the Deployment section.

Clone this wiki locally