Giter Site home page Giter Site logo

pengchengfugit / android-nrf-mesh-library Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nordicsemiconductor/android-nrf-mesh-library

0.0 1.0 0.0 7.64 MB

Preview version of the Bluetooth Mesh Provisioner and Configurator library https://www.nordicsemi.com/

License: BSD 3-Clause "New" or "Revised" License

Java 100.00%

android-nrf-mesh-library's Introduction

Android-nRF-Mesh-Library

Download

About

The Android-nRF-Mesh-Library allows provisioning and sending messages to Bluetooth Mesh devices.

Bluetooth Mesh specification may be found here: https://www.bluetooth.com/specifications/mesh-specifications/

The library is compatible with version 1.0.1 of the Bluetooth Mesh Profile Specification.

nRF Mesh for Android is supported on Android devices running Android 4.3 and onwards.

Features

  1. Provisionig with all features that available in Bluetooth Mesh Profile 1.0.1, including OOB Public Key and all types of OOB.
  2. Managing Provisioners, Network Keys, Application Keys, resetting network, etc.
  3. All network layers are working.
  4. Parsing Secure Network beacons.
  5. Adding, removing and refreshing Network and Application Keys to Nodes.
  6. Binding and unbinding Application Keys to Models.
  7. Setting and clearing publication to a Model.
  8. Setting and removing subscriptions to a Model.
  9. Groups, including those with Virtual Addresses.
  10. UI for controlling groups (Generic OnOff and Generic Level (delta) are supported).
  11. Handling Configuration Server message sent by other Provisioner.
  12. Generic OnOff and Vendor model have dedicated controls in sample app.
  13. Proxy Filter.
  14. IV Index update (handling updates received in Secure Network beacons).

Requirements

  • Android Studio
  • An Android device with BLE capabilities

Optional

  • nrf52832/840 based Development Kit(s) to test the sample firmwares on.

Installation

  • Open 'Example/nRf Mesh Provisioner'
  • Connect an Android device.
  • Build and run project.
  • To be able to quickly start testing, use the bundled firmwares directory named ExampleFirmwares that includes a light server (Light source) and a light client (Switch) firmwares. those firmwares will work on a nrf52832 DevKit.

How to include it in your own project

Maven Central or jcenter

The library may be found on jcenter and Maven Central repository. Add it to your project by adding the following dependency:

implementation 'no.nordicsemi.android:mesh:2.3.0'

Manual

Clone this project and add ble module as a dependency to your project:

  1. In settings.gradle file add the following lines:
include ':mesh'
project(':mesh').projectDir = file('../Android-Mesh-Library/mesh')
  1. In app/build.gradle file add implementation project(':mesh') inside dependencies.
  2. Sync project and build it.

See example projects in this repository.

Sample

To start using the library in your own project take a look at the followign snippet.

        MeshManagerApi mMeshManagerApi = new MeshManagerApi(context);
        mMeshManagerApi.setMeshManagerCallbacks(this);
        mMeshManagerApi.setProvisioningStatusCallbacks(this);
        mMeshManagerApi.setMeshStatusCallbacks(this);
        mMeshManagerApi.loadMeshNetwork();

The sample application uses the Android BLE Library by Nordic Semiconductor ASA and is recommended to use this dependency in your application.

Author

Mobile Applications Team, Nordic Semiconductor ASA.

Contact: roshanrajaratnam [email protected]

License

The Android-nRF-Mesh-Library is available under BSD 3-Clause license. See the LICENSE file for more info.

android-nrf-mesh-library's People

Contributors

domir avatar gridar avatar jonathannilsen avatar omkar3141 avatar philips77 avatar roshanrajaratnam avatar

Watchers

 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.