Git Product home page Git Product logo

android-nrf-ble-joiner's Introduction

nRF BLE Joiner

nRF BLE Joiner is an application that lets you add new IoT nodes to a network based on Bluetooth Smart. The application will configure the IoT node to establish a connection to an IPv6 enabled router via Bluetooth Smart.

The application will initally scan for IoT nodes in range which contains the BLE Node Configuration Service. Once connected to a node the user is allowed to add these IoT nodes to the network based on Bluetooth Smart by pressing the configure button. The application also has to pre-configure the wifi networks within the app in order to add the IoT Nodes. This can be done via scanning for wifi networks in range or can be added manually by typing the SSID and Passphrase.

Available on play store here https://play.google.com/store/apps/details?id=no.nordicsemi.android.nrfblejoiner

BLE Node Configuration Service

The Node Configuration Service exposes information necessary to configure the node so it can be added to the network. This service is not a service defined by the Bluetooth SIG, but a proprietary service defined by Nordic Semiconductor to demonstrate commissioning of a node. The Node Configuration GATT Service does not depend on any other services and can operate only on Bluetooth low energy as transport. This service contains three characteristics

*Commissioning SSID - The UUID of the Commissioning SSID characteristic is 0x77A9 over proprietary base. The data received on this characteristic will serve as the manufacturer-specific data of the advertisement data the next time the node enters connectable mode in Joining mode. This characteristic must be written before Joining mode can be requested.The size of the packet written to the Commissioning SSID characteristic must be between 6 and 16 octets. Packets must be in little endian (LSB first) order.

*Commissioning Keys Store - The UUID of the Commissioning Keys Store characteristic is 0x77B9 over proprietary base. The data received on this characteristic will serve as the Passkey while establishing a secure connection to the router in Joining mode. This characteristic must be written before Joining mode can be requested. An array of length zero must be written to indicate the absence of OOB data. The size of the packet written to the Commissioning Keys Store characteristic must be between 0 and 8 octets. Packets must be in little endian (LSB first) order.

*Commissioning Control Point The UUID of the Commissionning Control Point characteristic is 0x77C9 over proprietary base. The Commissioning Control Point characteristic is used to control the state of the commissioned node. All commissioning procedures are requested by writing to this characteristic.

Note:

*Android 4.3 or newer is required.

*Tested on Samsung S3 with Android 4.3 and on Nexus 5, 6 and 9 with lollipop and Marshmallow.

*Location Services need to be enabled for scanning from android 6.0 Marshmallow and in addition, runtime persmission ACCESS_COARSE_LOCATION is also required.

android-nrf-ble-joiner's People

Contributors

roshanrajaratnam avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.