Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 

BLEnd scheduler implementation for Nordic platform devices

License

Identifying “who is around” is key in a plethora of smart scenarios. This project provides you an implementation of the BLEnd scheduler to enable your IoT devices to be aware of its surroundings using a low duty cycle continuous neighbor discovery protocol BLEnd:practical continuous neighbor discovery for Bluetooth low energy.

As a communication middleware, this implementation of the blend protocol provides an energy-efficient approach to let your device automatically discovers its peer devices, using ad hoc wireless connections, without infrastructure support(e.g. Access Point).

Applications can also piggyback information in the discovery beacons. For instance, the Stacon system leverages this symmetric and asynchronous peer discovery to enable the ad hoc grouping of sensing devices and collaboration.

Getting Started

Prerequisites

Installing

Clone this repository, make setup.sh executable, and run it.

Example:

$> git clone git@github.com:UT-MPC/BLEnd_Nordic.git
$> cd BLEnd_Nordic
$> chmod u+x setup.sh
$> ./setup.sh
($> run SDK setup script in the downloaded directory)

Specify blend parameters

See blend_param_t

Percom Demo (Stacon):

Run the setup script with option 2 and then check out src/blend_project_templates/Thingy_IoT_SensorKit_v2.1.0/percom_demo.

Supported Hardware and SDKs

During installation you will be asked to select one of the supported version before and the script will automatically download and instrument the SDK you need.

Device Description SDK Version
nRF52840 DK Development kit for nRF52840 from Nordic Semiconductors nRF5 v14
nRF52840 DK (Same as above) nRF5 v15
Thingy52 IoT sensor kit from Nordic Semiconductors v2.1.0

Usage

Please pay attention to the output of the setup script. You might need to compile the SDK manually (urls to the guide will be provided). It will also prompt the location of an example project. Just go into the directory and try compiling/flashing the application.

Example:

(script outputs)
Template project location:  (path_to_directory_on_your_disk)
 All done. You're now ready to compile the SDK and begin your development (with the template project).

$> cd (path_to_directory_on_your_disk)/armgcc
$> make flash

Debug terminal (RTT)

  1. Connect to the DEV board using JLinkExe (or connect Thingy52 via a SWD cable):

    • Start JLinkExe in the terminal.
      JLinkExe  -device nrf52 -if swd -speed 4000;
    • Run connect in JLinkExe:
    JLink>connect
    • (And you should see a message)
    Cortex-M4 identified.
  2. Open the RTT client:

     JLinkRTTClient

License and Citation

The BLEnd scheduler and the sample projects are released under the BSD 3-Clause license.

Please use the following reference in your publications if this project helps your research:

BLEnd Scheduler

@inproceedings{julien2017blend,
  title={BLEnd: practical continuous neighbor discovery for Bluetooth low energy},
  author={Julien, Christine and Liu, Chenguang and Murphy, Amy L and Picco, Gian Pietro},
  booktitle={Proceedings of the 16th ACM/IEEE International Conference on Information Processing in Sensor Networks},
  pages={105--116},
  year={2017},
  organization={ACM}
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published