All Projects β†’ douglasjunior β†’ Androidbluetoothlibrary

douglasjunior / Androidbluetoothlibrary

Licence: mit
A Library for easy implementation of Serial Bluetooth Classic and Low Energy on Android. πŸ’™

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Androidbluetoothlibrary

bluetooth-terminal
ES6 class for serial communication with your own Bluetooth Low Energy (Smart) devices
Stars: ✭ 43 (-74.85%)
Mutual labels:  serial, bluetooth, bluetooth-low-energy
Web Bluetooth Terminal
Progressive Web Application for serial communication with your own Bluetooth Low Energy (Smart) devices
Stars: ✭ 130 (-23.98%)
Mutual labels:  bluetooth-low-energy, serial, bluetooth
Bluetoothlinux
Pure Swift Linux Bluetooth Stack
Stars: ✭ 149 (-12.87%)
Mutual labels:  bluetooth-low-energy, bluetooth
Flutter reactive ble
Flutter library that handles BLE operations for multiple devices.
Stars: ✭ 155 (-9.36%)
Mutual labels:  bluetooth-low-energy, bluetooth
H Ble
Android Bleη±»εΊ“οΌŒεŸΊδΊŽε›žθ°ƒοΌŒζš΄ιœ²ζœη΄’γ€θΏžζŽ₯、发送、ζŽ₯ζ”Άγ€ζ–­εΌ€θΏžζŽ₯η­‰ζŽ₯ε£οΌŒζ— ιœ€ε…³εΏƒη»†θŠ‚ζ“δ½œε³ε―θΏ›θ‘ŒBleι€šδΏ‘γ€‚
Stars: ✭ 171 (+0%)
Mutual labels:  bluetooth-low-energy, bluetooth
Blueborne Scanner
Bluetooth scanner for local devices that may be vulnerable to Blueborne exploit
Stars: ✭ 125 (-26.9%)
Mutual labels:  bluetooth-low-energy, bluetooth
Simplebluetoothlibrary
Android library for simplifying bluetooth usage.
Stars: ✭ 131 (-23.39%)
Mutual labels:  hacktoberfest, bluetooth
Node Ble
Bluetooth Low Energy (BLE) library written with pure Node.js (no bindings) - baked by Bluez via DBus
Stars: ✭ 159 (-7.02%)
Mutual labels:  bluetooth-low-energy, bluetooth
Blueteeth
A simple, lightweight library intended to take away some of the cruft and tediousness of using the Android BLE.
Stars: ✭ 89 (-47.95%)
Mutual labels:  bluetooth-low-energy, bluetooth
Airpodsbattery Monitor For Mac
Simple Widget to display your AirPods battery levels from the Mac Status bar
Stars: ✭ 165 (-3.51%)
Mutual labels:  bluetooth-low-energy, bluetooth
Angular Web Bluetooth
The missing Web Bluetooth module for Angular
Stars: ✭ 164 (-4.09%)
Mutual labels:  bluetooth-low-energy, bluetooth
Bluetoothkit
Easily communicate between iOS/OSX devices using BLE
Stars: ✭ 2,027 (+1085.38%)
Mutual labels:  bluetooth-low-energy, bluetooth
Lmbluetoothsdk
A library to make classic bluetooth or BLE easier to use in Android.
Stars: ✭ 122 (-28.65%)
Mutual labels:  bluetooth-low-energy, bluetooth
Ble.net
Cross-platform Bluetooth Low Energy (BLE) library for Android, iOS, and UWP
Stars: ✭ 137 (-19.88%)
Mutual labels:  bluetooth-low-energy, bluetooth
Nimble Arduino
A fork of the NimBLE library structured for compilation with Ardruino, designed for use with ESP32.
Stars: ✭ 108 (-36.84%)
Mutual labels:  bluetooth-low-energy, bluetooth
Easyble
Android BLE framework
Stars: ✭ 155 (-9.36%)
Mutual labels:  bluetooth-low-energy, bluetooth
Johnny Five
JavaScript Robotics and IoT programming framework, developed at Bocoup.
Stars: ✭ 12,498 (+7208.77%)
Mutual labels:  serial, bluetooth
Blueswift
Swift framework for easy connection with Bluetooth peripherals.
Stars: ✭ 88 (-48.54%)
Mutual labels:  bluetooth-low-energy, bluetooth
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 (-48.54%)
Mutual labels:  bluetooth-low-energy, bluetooth
Bluetonium
Bluetooth mapping in Swift
Stars: ✭ 159 (-7.02%)
Mutual labels:  bluetooth-low-energy, bluetooth

AndroidBluetoothLibrary

Licence MIT Release Downloads Android Arsenal

A Library for easy implementation of Serial Bluetooth Classic and Low Energy on Android. πŸ’™

  • Bluetooth Classic working from Android 2.1 (API 7)
  • Bluetooth Low Energy working from Android 4.3 (API 18)

Looking for React Native version? See also react-native-easybluetooth-classic and react-native-easybluetooth-le

Use

Configuration

Bluetooth Classic

BluetoothConfiguration config = new BluetoothConfiguration();
config.context = getApplicationContext();
config.bluetoothServiceClass = BluetoothClassicService.class;
config.bufferSize = 1024;
config.characterDelimiter = '\n';
config.deviceName = "Your App Name";
config.callListenersInMainThread = true;

config.uuid = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"); // Required

BluetoothService.init(config);

Bluetooth Low Energy

BluetoothConfiguration config = new BluetoothConfiguration();
config.context = getApplicationContext();
config.bluetoothServiceClass = BluetoothLeService.class;
config.bufferSize = 1024;
config.characterDelimiter = '\n';
config.deviceName = "Your App Name";
config.callListenersInMainThread = true;

config.uuidService = UUID.fromString("e7810a71-73ae-499d-8c15-faa9aef0c3f2"); // Required
config.uuidCharacteristic = UUID.fromString("bef8d6c9-9c21-4c9e-b632-bd58c1009f9f"); // Required
config.transport = BluetoothDevice.TRANSPORT_LE; // Required for dual-mode devices
config.uuid = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"); // Used to filter found devices. Set null to find all devices.

BluetoothService.init(config);

Getting BluetoothService

BluetoothService service = BluetoothService.getDefaultInstance();

Scanning

service.setOnScanCallback(new BluetoothService.OnBluetoothScanCallback() {
    @Override
    public void onDeviceDiscovered(BluetoothDevice device, int rssi) {
    }

    @Override
    public void onStartScan() {
    }

    @Override
    public void onStopScan() {
    }
});

service.startScan(); // See also service.stopScan();

Connecting

service.setOnEventCallback(new BluetoothService.OnBluetoothEventCallback() {
    @Override
    public void onDataRead(byte[] buffer, int length) {
    }

    @Override
    public void onStatusChange(BluetoothStatus status) {
    }

    @Override
    public void onDeviceName(String deviceName) {
    }

    @Override
    public void onToast(String message) {
    }

    @Override
    public void onDataWrite(byte[] buffer) {
    }
});

service.connect(device); // See also service.disconnect();

Writing

BluetoothWriter writer = new BluetoothWriter(service);

writer.writeln("Your text here");

Complete example

See the sample project.

Download

  1. Add it in your root build.gradle at the end of repositories:

    allprojects {
      repositories {
        ...
        maven { url "https://jitpack.io" }
      }
    }
    
  2. Add the dependency

    2.1. Bluetooth Classic

    dependencies {
      implementation 'com.github.douglasjunior.AndroidBluetoothLibrary:BluetoothClassicLibrary:0.3.5'
    }
    

    2.2. Bluetooth Low Energy

    dependencies {
      implementation 'com.github.douglasjunior.AndroidBluetoothLibrary:BluetoothLowEnergyLibrary:0.3.5'
    }
    
  3. Add permission in AndroidManifest.xml

<manifest ...>
  <uses-permission android:name="android.permission.BLUETOOTH" />
  <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
  <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  ...
</manifest>

Known issues

Contribute

New features, bug fixes and improvements are welcome! For questions and suggestions use the issues.

Before submit your PR, run the gradle check.

./gradlew build connectedCheck

Become a Patron! Donate

Licence

The MIT License (MIT)

Copyright (c) 2015 Douglas Nassif Roma Junior

See the full licence file.

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].