The main objective of this project is to design a system that is able to detect the duration(s) for which two IoT devices are observed to be in proximity, where proximity is defined to be a distance of <3m. This function is similar to that of the TraceTogether smartphone app released by the Singaporean Government that allows for pandemic contact tracing using the BLE radio.
The CC2650 SensorTag device was used for the programming of this system.
Output | Meaning |
---|---|
"timestamp" DETECT "nodeID" | Device has detected another device with node ID for the first time, and it has entered in proximity |
"timestamp" LEAVE "nodeID" | Device has determined that the node with node ID has moved away from proximity for 30s |
"timestamp" !! CLOSE PROXIMITY FOR 30S !! NODE: "nodeID" | Device has detected another device with node ID in proximity for 30s |
Node "nodeID" CONTACT TIME: "x seconds" | Device has a contact time of x seconds with the node with , prior to its departure from proximity |
The following steps are relevant to the macOS operating system:
- Ensure that you have the contiki repository on your local machine
- Clone this repository locally into the
contiki/examples
folder - Run the following command in the root of the repository:
make TARGET=srf06-cc26xx BOARD=sensortag/cc2650 nbr_discovery.bin CPU_FAMILY=cc26xx
- Flash the generated
nbr_discovery.bin
onto your CC2650 SensorTag device using the Uniflash software provided by Texas Instruments - Observe the generated output by running the following command in the parent of the
contiki
folder:contiki/tools/sky/serialdump-macos -b115200 /dev/tty.usbmodem<sensortag's USB name>
. Your SensorTag's USB name can be found by executing the following command:ls /dev/tty*
The OS to be used is Contiki (http://www.contiki-os.org/). Contiki is an open source operating system, initially developed by Adam Dunkels (http://dunkels.com/adam/ ). Now, Contiki is supported by a large community of developers. Apart from for supporting both IPv4 and IPv6, it also includes multiple low-power wireless standards. Moreover, it runs on multiple low-power devices (http://www.contiki-os.org/hardware.html ), where the SensorTag is one of them.