169 lines
17 KiB
Plaintext
169 lines
17 KiB
Plaintext
[38;5;12m [39m[38;2;255;187;0m[1m[4mAwesome BLE [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mAwesome[0m[38;5;14m[1m[4m (https://awesome.re/badge-flat.svg)[0m[38;2;255;187;0m[1m[4m (https://awesome.re)[0m
|
||
|
||
[38;5;12m![39m[38;5;12m (.github/awesome-ble.png)[39m
|
||
|
||
[38;5;14m[1mBluetooth Low Energy (BLE)[0m[38;5;12m: Low-power wireless communication protocol enabling efficient data exchange between devices, ideal for IoT, wearables, and other battery-powered applications.[39m
|
||
|
||
[38;5;12mA collaborative list of Awesome Bluetooth Low Energy resources by [39m[38;5;14m[1m🔴 intent[0m[38;5;12m (https://withintent.com).[39m
|
||
|
||
[38;5;12m![39m[38;5;12m (https://img.shields.io/github/last-commit/dotintent/awesome-ble/main)[39m
|
||
|
||
[38;2;255;187;0m[4mContents[0m
|
||
|
||
[38;2;255;187;0m[4mHardware[0m
|
||
[38;5;12m- [39m[38;5;14m[1mArduino[0m[38;5;12m (#arduino)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mESP[0m[38;5;12m (#esp)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mNordic[0m[38;5;12m (#nordic)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mRaspberryPi[0m[38;5;12m (#raspberrypi)[39m
|
||
|
||
[38;2;255;187;0m[4mMobile[0m
|
||
[38;5;12m- [39m[38;5;14m[1mAndroid[0m[38;5;12m (#android)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFlutter[0m[38;5;12m (#flutter)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mKMM[0m[38;5;12m (#kmm)[39m
|
||
[38;5;12m- [39m[38;5;14m[1miOS[0m[38;5;12m (#ios)[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mDocumentation[0m[38;5;12m (#documentation)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFramework[0m[38;5;12m (#framework)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLibrary[0m[38;5;12m (#library)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTool[0m[38;5;12m (#tool)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSecurity[0m[38;5;12m (#security)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mWeb[0m[38;5;12m (#web)[39m
|
||
|
||
[38;2;255;187;0m[4mDocumentation[0m
|
||
|
||
[38;5;12m_Official specifications, standards, and technical documentation about the Bluetooth Low Energy (BLE) protocol._[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mAndroid Bluetooth Low Energy[0m[38;5;12m (https://developer.android.com/guide/topics/connectivity/bluetooth/ble-overview) - Overview about BLE in Android.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDeveloping a Bluetooth Low Energy Application by TI[0m[38;5;12m (https://software-dl.ti.com/lprf/simplelink_cc2640r2_sdk/1.35.00.33/exports/docs/ble5stack/ble_user_guide/html/ble-stack/index.html) - A guide by TI about how to develop a BLE app.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mGetting Started with Bluetooth Low Energy (BLE)[0m[38;5;12m (https://learn.adafruit.com/introduction-to-bluetooth-low-energy) - A comprehensive guide to getting started with Bluetooth Low Energy development.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mIntro to Bluetooth Generic Attribute Profile (GATT)[0m[38;5;12m (https://www.bluetooth.com/bluetooth-resources/intro-to-bluetooth-gap-gatt/) - Intro about GATT.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mIntro to Bluetooth Low Energy[0m[38;5;12m (https://www.bluetooth.com/bluetooth-resources/intro-to-bluetooth-low-energy/) - Intro about the basics of BLE.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mIoT for Beginners[0m[38;5;12m (https://microsoft.github.io/IoT-For-Beginners/#/) - Azure Cloud Advocates at Microsoft are pleased to offer a 12-week, 24-lesson curriculum all about IoT basics.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mnRF51 SDK[0m[38;5;12m (https://www.nordicsemi.com/Software-and-tools/Software/nRF5-SDK) - Software Development Kit (SDK) for developing Bluetooth Low Energy applications on Nordic Semiconductor's nRF51 series of chips.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mRN4870/71 Bluetooth Low Energy Module User's Guide[0m[38;5;12m (https://www.microchip.com/wwwproducts/en/RN4870) - User's guide for the RN4870/71 Bluetooth Low Energy module by Microchip.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mWikipedia Bluetooth Low Energy[0m[38;5;12m (https://en.wikipedia.org/wiki/Bluetooth_Low_Energy) - The wiki page for Bluetooth Low Energy (BLE).[39m
|
||
|
||
[38;2;255;187;0m[4mFramework[0m
|
||
|
||
[38;5;12m_Framework useful to develop your BLE peripherals._[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mMatter[0m[38;5;12m (https://github.com/project-chip/connectedhomeip) - Matter[39m
|
||
[38;5;12m- [39m[38;5;14m[1mZephyr[0m[38;5;12m (https://github.com/zephyrproject-rtos/zephyr) - Zephyr[39m
|
||
|
||
[38;2;255;187;0m[4mLibrary[0m
|
||
|
||
[38;5;12m_Software libraries and frameworks for integrating Bluetooth Low Energy (BLE) functionality into various platforms, including mobile, embedded systems, and IoT devices._[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mbluepy[0m[38;5;12m (https://github.com/IanHarvey/bluepy) - A Python interface for Bluetooth LE on Linux.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mBluetooth[0m[38;5;12m (https://github.com/PureSwift/Bluetooth) - Bluetooth is a Swift multiplatform package with multiple libraries supporting the Bluetooth SIG specifications.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mbluez[0m[38;5;12m (http://www.bluez.org/) - The official Linux Bluetooth protocol stack.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mbumble[0m[38;5;12m (https://github.com/google/bumble) - Bumble is a full-featured Bluetooth stack written entirely in Python.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mpygatt[0m[38;5;12m (https://github.com/peplin/pygatt) - A Python library for interacting with BLE devices.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSimpleBLE[0m[38;5;12m (https://github.com/OpenBluetoothToolbox/SimpleBLE) - The all-in-one C/C++/Python/Rust Bluetooth LE library for MacOS, iOS, Windows, and Linux.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mModdable[0m[38;5;12m (https://github.com/Moddable-OpenSource/moddable) - JavaScript libraries and tools for microcontrollers development. Includes BLE functionality.[39m
|
||
|
||
[38;2;255;187;0m[4miOS[0m
|
||
|
||
[38;5;12m_iOS libraries, tools, and resources for developing Bluetooth Low Energy (BLE) applications on Apple devices._[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mAsyncBluetooth[0m[38;5;12m (https://github.com/manolofdez/AsyncBluetooth) - A small library that adds concurrency to CoreBluetooth APIs.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCombineCoreBluetooth[0m[38;5;12m (https://github.com/StarryInternet/CombineCoreBluetooth) - CombineCoreBluetooth is a library that bridges Apple's CoreBluetooth framework and Apple's Combine framework.[39m
|
||
[38;5;12m- [39m[38;5;14m[1miOS DFU Library[0m[38;5;12m (https://github.com/NordicSemiconductor/IOS-DFU-Library) - DFU application allows to flash new firmware on the DK.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mRx Bluetooth Kit[0m[38;5;12m (https://github.com/Polidea/RxBluetoothKit) - RxBluetoothKit is a Bluetooth library that makes interaction with BLE devices much more pleasant using RxSwift.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSwifty Sensors[0m[38;5;12m (https://github.com/codeinversion/sensors-swift) - Bluetooth LE Sensor Manager for iOS and macOS.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSpeziBluetooth[0m[38;5;12m (https://github.com/StanfordSpezi/SpeziBluetooth) - Connect and communicate with Bluetooth devices using modern programming paradigms.[39m
|
||
|
||
[38;2;255;187;0m[4mKMM[0m
|
||
|
||
[38;5;12m_Resources and libraries for building Bluetooth Low Energy (BLE) applications using the Kotlin Multiplatform Mobile (KMM) framework._[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mBlueFalcon[0m[38;5;12m (https://github.com/Reedyuk/blue-falcon) - A Bluetooth kotlin multiplatform "Cross-Platform" library for iOS and Android.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mKable[0m[38;5;12m (https://github.com/JuulLabs/kable) - Kotlin Asynchronous Bluetooth Low Energy provides a simple Coroutines-powered API for interacting with Bluetooth Low Energy devices.[39m
|
||
|
||
[38;2;255;187;0m[4mAndroid[0m
|
||
|
||
[38;5;12m_Android libraries, tools, and resources for integrating Bluetooth Low Energy (BLE) functionality into Android applications._[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mAndroid BluetoothGatt Sample[0m[38;5;12m (https://github.com/android/connectivity-samples/tree/main/BluetoothLeGatt) - An example application demonstrating how to use BluetoothGatt API on Android.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mandroid-BluetoothChat[0m[38;5;12m (https://github.com/googlesamples/android-BluetoothChat) - An Android Bluetooth chat application.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFastBle[0m[38;5;12m (https://github.com/Jasonchenlijian/FastBle) - An Android Bluetooth Low Energy (BLE) fast development framework.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mNordic Semiconductor BLE SDK for Android[0m[38;5;12m (https://github.com/NordicSemiconductor/Android-BLE-Library) - Official Bluetooth Low Energy SDK provided by Nordic Semiconductor for Android development.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mRxAndroidBle[0m[38;5;12m (https://github.com/dariuszseweryn/RxAndroidBle) - An Android Bluetooth Low Energy (BLE) Library with RxJava3 interface.[39m
|
||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mSmartGattLib[0m[38;5;12m [39m[38;5;12m(https://github.com/movisens/SmartGattLib)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mSmartGattLib[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mJava[39m[38;5;12m [39m[38;5;12mlibrary[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12msimplifies[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mwork[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mBluetooth[39m[38;5;12m [39m[38;5;12mSMART[39m[38;5;12m [39m[38;5;12mdevices[39m[38;5;12m [39m[38;5;12m(a.k.a.[39m[38;5;12m [39m[38;5;12mBluetooth[39m[38;5;12m [39m[38;5;12mLow[39m[38;5;12m [39m[38;5;12mEnergy[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mBluetooth[39m[38;5;12m [39m[38;5;12m4.0).[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mprovides[39m[38;5;12m [39m[38;5;12mall[39m[38;5;12m [39m[38;5;12mUUIDs[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12madopted[39m[38;5;12m [39m[38;5;12mGATT[39m[38;5;12m [39m
|
||
[38;5;12mspecification[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12mconvenient[39m[38;5;12m [39m[38;5;12mway[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12minterpret[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mcharacteristics[39m[38;5;12m [39m[38;5;12m(e.g.[39m[38;5;12m [39m[38;5;12mHeart[39m[38;5;12m [39m[38;5;12mRate,[39m[38;5;12m [39m[38;5;12mBatteryLevel).[39m
|
||
|
||
[38;2;255;187;0m[4mFlutter[0m
|
||
|
||
[38;5;12m_Flutter libraries, tools, and resources for developing Bluetooth Low Energy (BLE) applications using the Flutter framework for both iOS and Android._[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mFlutter Blue Plus[0m[38;5;12m (https://github.com/boskokg/flutter_blue_plus) - Flutter Blue Plus is a bluetooth plugin for Flutter, a new app SDK to help developers build modern multi-platform apps.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFlutter Reactive BLE[0m[38;5;12m (https://github.com/PhilipsHue/flutter_reactive_ble) - Flutter Reactive BLE is a Flutter library that handles BLE operations for multiple devices.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFlutter BLELib[0m[38;5;12m (https://github.com/dotintent/FlutterBleLib) - Bluetooth Low Energy library for Flutter with support for simulating peripherals.[39m
|
||
|
||
[38;2;255;187;0m[4mTool[0m
|
||
|
||
[38;5;12m_Development and testing tools for Bluetooth Low Energy (BLE) applications, including analyzers, debuggers, and simulators._[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mBettercap[0m[38;5;12m (https://github.com/bettercap/bettercap) - A easily extensible and portable framework for security researchers to test BLE security.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mnRF Connect[0m[38;5;12m (https://github.com/NordicSemiconductor/pc-nrfconnect-core) - An application framework for developing, testing, and provisioning devices based on Nordic Semiconductor chips.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mBLE Simulator[0m[38;5;12m (https://play.google.com/store/apps/details?id=com.withintent.ble.simulator&hl=en) - A mobile app able to clone BLE devices and script their interaction. Useful to debug and quick prototyping.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPacketLogger[0m[38;5;12m (https://www.bluetooth.com/blog/a-new-way-to-debug-iosbluetooth-applications/) - A macOS tool to capture BLE packets and HCI logs from iOS devices, useful for debugging Bluetooth communication and protocol issues.[39m
|
||
|
||
[38;2;255;187;0m[4mWeb[0m
|
||
|
||
[38;5;12m_Web-based resources, frameworks, and tools for building Bluetooth Low Energy (BLE) applications using JavaScript and web technologies._[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mWeb Bluetooth Samples[0m[38;5;12m (https://github.com/WebBluetoothCG/demos) - A collection of Web Bluetooth API usage examples.[39m
|
||
|
||
[38;2;255;187;0m[4mSecurity[0m
|
||
|
||
[38;5;12m_Security related resources around BLE._[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mAwesome Bluetooth Security[0m[38;5;12m (https://github.com/engn33r/awesome-bluetooth-security) - An awesome repo related to Bluetooth (and also BLE) realted security[39m
|
||
|
||
[38;2;255;187;0m[4mArduino[0m
|
||
|
||
[38;5;12m_A list of resources dedicated to Arduino hardware_[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mArduino[0m[38;5;12m (https://store.arduino.cc/) - Official website[39m
|
||
[38;5;12m- [39m[38;5;14m[1mArduinoBLE[0m[38;5;12m (https://github.com/arduino-libraries/ArduinoBLE) - ArduinoBLE library for Arduino[39m
|
||
|
||
[38;2;255;187;0m[4mESP[0m
|
||
|
||
[38;5;12m_A list of resources dedicated to EspressIf hardware_[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mEspressIf[0m[38;5;12m (https://www.espressif.com/) - Official Website[39m
|
||
[38;5;12m- [39m[38;5;14m[1mESP-IDF[0m[38;5;12m (https://github.com/espressif/esp-idf) - Espressif IoT Development Framework[39m
|
||
[38;5;12m- [39m[38;5;14m[1mESP-32-C3 + Rust + BLE[0m[38;5;12m (https://dev.to/theembeddedrustacean/series/26733) - ESP32 Bluetooth w/ Rust Series' Articles[39m
|
||
|
||
[38;2;255;187;0m[4mNordic[0m
|
||
|
||
[38;5;12m_A list of resources dedicated to Arduino hardware_[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mNordic Semiconductor[0m[38;5;12m (https://www.nordicsemi.com/) - Official Website[39m
|
||
|
||
[38;2;255;187;0m[4mRaspberryPi[0m
|
||
|
||
[38;5;12m_A list of resources dedicated to RaspberryPi hardware_[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mRaspberry Pi[0m[38;5;12m (https://www.raspberrypi.org/) - Official website[39m
|
||
|
||
[38;2;255;187;0m[4mArticles and Case Studies[0m
|
||
|
||
[38;5;12m_Interesting articles and case studies from BLE development_[39m
|
||
|
||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mScan[0m[38;5;14m[1m [0m[38;5;14m[1mand[0m[38;5;14m[1m [0m[38;5;14m[1mconnect[0m[38;5;14m[1m [0m[38;5;14m[1mto[0m[38;5;14m[1m [0m[38;5;14m[1mBLE[0m[38;5;14m[1m [0m[38;5;14m[1min[0m[38;5;14m[1m [0m[38;5;14m[1mbackground[0m[38;5;14m[1m [0m[38;5;14m[1mon[0m[38;5;14m[1m [0m[38;5;14m[1miOS[0m[38;5;12m [39m[38;5;12m(https://medium.com/@cbartel/ios-scan-and-connect-to-a-ble-peripheral-in-the-background-731f960d520d)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mArticle[39m[38;5;12m [39m[38;5;12mdiscussing[39m[38;5;12m [39m[38;5;12mcase[39m[38;5;12m [39m[38;5;12mstudy[39m[38;5;12m [39m[38;5;12m(for[39m[38;5;12m [39m[38;5;12mboth[39m[38;5;12m [39m[38;5;12mfirmware[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mapp)[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mscanning[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mconnecting[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mBLE[39m[38;5;12m [39m
|
||
[38;5;12mdevice[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mbackground[39m[38;5;12m [39m
|
||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mDeep[0m[38;5;14m[1m [0m[38;5;14m[1mdive[0m[38;5;14m[1m [0m[38;5;14m[1mto[0m[38;5;14m[1m [0m[38;5;14m[1miOS[0m[38;5;14m[1m [0m[38;5;14m[1madvertising[0m[38;5;14m[1m [0m[38;5;14m[1min[0m[38;5;14m[1m [0m[38;5;14m[1mbackgroud[0m[38;5;12m [39m[38;5;12m(http://www.davidgyoungtech.com/2020/05/07/hacking-the-overflow-area)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mDelves[39m[38;5;12m [39m[38;5;12minto[39m[38;5;12m [39m[38;5;12miOS's[39m[38;5;12m [39m[38;5;12mproprietary[39m[38;5;12m [39m[38;5;12m'Overflow[39m[38;5;12m [39m[38;5;12mArea'[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mbackground[39m[38;5;12m [39m[38;5;12mBluetooth[39m[38;5;12m [39m[38;5;12madvertising[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mit's[39m[38;5;12m [39m[38;5;12mpossibilities[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mlimitations[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m
|
||
[38;5;12mbackground[39m[38;5;12m [39m[38;5;12mdata[39m[38;5;12m [39m[38;5;12mexchange.[39m
|
||
|
||
[38;2;255;187;0m[4mContributing[0m
|
||
|
||
[38;5;12mPlease take a quick look at the [39m[38;5;14m[1mcontribution guidelines[0m[38;5;12m (.github/CONTRIBUTING.md) first.[39m
|
||
|
||
[38;5;12mIf you see an entry longer maintained or is not a good fit, please submit a pull request to improve this file.[39m
|
||
|
||
[38;5;12mThank you to all [39m[38;5;14m[1mcontributors[0m[38;5;12m (https://github.com/dotintent/awesome-ble/graphs/contributors); you rock![39m
|
||
|
||
[38;5;12mble Github: https://github.com/dotintent/awesome-ble[39m
|