All Projects → PunchThrough → Ble Starter Android

PunchThrough / Ble Starter Android

Licence: apache-2.0
Companion project for the Punch Through blog post "The Ultimate Guide to Android Bluetooth Low Energy"

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Ble Starter Android

Android Dfu Library
A library with DFU feature for Android 4.3+.
Stars: ✭ 532 (+850%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
ESP32 BLE OTA Arduino
OTA update on ESP32 via BLE
Stars: ✭ 41 (-26.79%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
PiBeacon
Low-cost iBeacon using Raspberry Pi
Stars: ✭ 41 (-26.79%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
Angular Web Bluetooth
The missing Web Bluetooth module for Angular
Stars: ✭ 164 (+192.86%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
IOS-DFU-Library
OTA DFU Library for Mac and iOS, compatible with nRF5x SoCs
Stars: ✭ 400 (+614.29%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
Gatt Python
Bluetooth GATT SDK for Python
Stars: ✭ 233 (+316.07%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
Bleu
BLE (Bluetooth LE) for U🎁 Bleu is the best in the Bluetooth library.
Stars: ✭ 481 (+758.93%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
Nimble Arduino
A fork of the NimBLE library structured for compilation with Ardruino, designed for use with ESP32.
Stars: ✭ 108 (+92.86%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
pirowflo
All-in-one data interface for your Waterrower S4 Monitor or Smartrow
Stars: ✭ 73 (+30.36%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
ruuvitag-demo
Demo of reading Bluetooth Low Energy sensor measurements of RuuviTag environmental sensors and feeding them to MQTT, a database and dashboards
Stars: ✭ 14 (-75%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
Node Ble
Bluetooth Low Energy (BLE) library written with pure Node.js (no bindings) - baked by Bluez via DBus
Stars: ✭ 159 (+183.93%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
Ios Pods Dfu Library
OTA DFU Library for Mac and iOS, compatible with nRF5x SoCs
Stars: ✭ 349 (+523.21%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
Easyble
Android BLE framework
Stars: ✭ 155 (+176.79%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
py-bluetooth-utils
Python module containing bluetooth utility functions, in particular for easy BLE scanning and advertising
Stars: ✭ 60 (+7.14%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
Ble.net
Cross-platform Bluetooth Low Energy (BLE) library for Android, iOS, and UWP
Stars: ✭ 137 (+144.64%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
blessed-bluez
BLE library using Java and Bluez
Stars: ✭ 32 (-42.86%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
Ble Security Attack Defence
✨ Purpose only! The dangers of Bluetooth Low Energy(BLE)implementations: Unveiling zero day vulnerabilities and security flaws in modern Bluetooth LE stacks.
Stars: ✭ 88 (+57.14%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
Extendable
Blocks Based Bluetooth LE Connectivity framework for iOS/watchOS/tvOS/OSX. Quickly configure centrals & peripherals, perform read/write operations, and respond characteristic updates.
Stars: ✭ 88 (+57.14%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
BleLab
Bluetooth LE Lab - UWP application for interaction with BLE GATT devices
Stars: ✭ 68 (+21.43%)
Mutual labels:  bluetooth-low-energy, bluetooth-le
Rxandroidble
An Android Bluetooth Low Energy (BLE) Library with RxJava2 interface
Stars: ✭ 3,025 (+5301.79%)
Mutual labels:  bluetooth-low-energy, bluetooth-le

Punch Through Android BLE Starter App

CircleCI build status

Companion Android app project for Punch Through's "Ultimate Guide to Android BLE Development" blog post for beginners, with examples of how to perform basic BLE operations and some Android BLE tips and tricks on the following:

  • Scanning for nearby BLE devices
  • Connecting to BLE devices
  • Discovering services and characteristics
  • Requesting an ATT MTU update
  • Reading and writing data on characteristics and descriptors
  • Enabling and disabling notifications and indications on characteristics
  • Bonding with a BLE device
  • Implementing your own BLE operations serial queuing mechanism

Setup

  1. Clone the project to your directory of choice.
git clone https://github.com/PunchThrough/ble-starter-android.git
  1. Launch Android Studio and select "Open an existing Android Studio project".
  2. Navigate to the directory where you cloned the project to, and double click on it.
  3. Wait for Gradle sync to complete.

Requirements

This project targets Android 10 and has a min SDK requirement of 21 (Android 5.0), in line with our recommendation in 4 Tips to Make Android BLE Actually Work.

Contributing

Reporting bugs

Please open an issue to report a bug if the app isn't behaving as expected.

Opening a Pull Request

Please fork the repository and create a feature branch before opening a Pull Request against the master branch.

Linting and code style

The project uses Kotlin's default coding conventions and includes the .idea/codeStyle directory in source control. The project also runs ktlint as part of the CI process to ensure code consistency.

You may run ktlint locally using the following command:

./gradlew ktlint

Some simpler violations can be automatically formatted by ktlint using the following command:

./gradlew ktlintFormat

Licensing

This project is licensed under the Apache 2.0. For more details, please see LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].