"DTN App" serves the purpose of sending messages and data using a phone's in-built technologies like Bluetooth.
Change device names in Constants.java. Format of device name: DTN-<Device's Serial Number>.
public interface DeviceNames {
String originDevice = "DTN-PLEGAR1762212642";
String secondRouterDevice = "DTN-1641b121";
String thirdRouterDevice = "DTN-51a33087";
String destinationDevice = "DTN-5da9d6090804";
}
UUIDManager.java uses these device names to set the UUID of the device.
public interface UUIDs {
UUID mmSocket_UUID = UUID.fromString("6e7bd336-5676-407e-a41c-0691e1964345"); // UUID is uniquely generated
UUID ACK_UUID = UUID.fromString("b03901e4-710c-4509-9718-a3d15882d050");
UUID BW_UUID = UUID.fromString("aa401ee7-3bb2-410c-9dda-2128726513a1");
UUID destination_MMSocket_UUID = UUID.fromString("fa249bcd-e53c-4965-a9f9-d7ea5d6f0040");
UUID destination_ACK_UUID = UUID.fromString("d9c13848-d7be-48a1-ac11-5f0c082791c7");
UUID destination_BW_UUID = UUID.fromString("5c6ae5f9-cb04-4a71-9552-ffe426b02b99");
}
You can change the UUIDs in Constants.java.
UUIDs can be generated here.
For our demonstration we used 4 different phones. Before flashing the application to the first phone which had a device name DTN-PLEGAR1762212642 we ensured the UUIDs in Constants.java are correct. The other two devices acted as Routers. The Routers forwarded the data to the destination device.
We set the value of destination_MMSocket_UUID, destination_BW_UUID matching the second's phone mmSocket_UUID, BW_UUID. The same process should be used before flashing the application to the second phone. And again, we set the value of destination_MMSocket_UUID, destination_BW_UUID matching the third's phone mmSocket_UUID, BW_UUID.
This process continues until you are done flashing the 4th phone.
The fourth phone's destination_MMSocket_UUID, destination_ACK_UUID, destination_BW_UUID should be matching the third's phone mmSocket_UUID, ACK_UUID, BW_UUID in order to send the ACK message.
destination_ACK_UUID of the third phone should match that of the ACK_UUID of the second phone. The second phone's destination_ACK_UUID should match that of the ACK_UUID of the first phone.
The first phone's UUID can be any UUID because the first phone does not send any ACK message.
The ACK message delivery works in a reverse process.