Awesome BLE
BLEを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
ハードウェア
モバイル
ドキュメント
Bluetooth Low Energy(BLE)プロトコルに関する公式仕様、標準、技術文書。
- Android Bluetooth Low Energy - AndroidにおけるBLEの概要。
- Developing a Bluetooth Low Energy Application by TI - BLEアプリの開発方法に関するTIのガイド。
- Getting Started with Bluetooth Low Energy (BLE) - Bluetooth Low Energy開発を始めるための包括的なガイド。
- Intro to Bluetooth Generic Attribute Profile (GATT) - GATTの紹介。
- Intro to Bluetooth Low Energy - BLEの基礎の紹介。
- IoT for Beginners - MicrosoftのAzure Cloud Advocatesが提供する、IoTの基礎を扱う12週間・24レッスンのカリキュラム。
- nRF51 SDK - Nordic SemiconductorのnRF51チップシリーズ上でBluetooth Low Energyアプリケーションを開発するためのソフトウェア開発キット(SDK)。
- RN4870/71 Bluetooth Low Energy Module User’s Guide - MicrochipによるRN4870/71 Bluetooth Low Energyモジュールのユーザーガイド。
- Wikipedia Bluetooth Low Energy - Bluetooth Low Energy(BLE)のwikiページ。
フレームワーク
BLE周辺機器を開発するのに役立つフレームワーク。
ライブラリ
モバイル、組み込みシステム、IoTデバイスなど、さまざまなプラットフォームへBluetooth Low Energy(BLE)機能を統合するためのソフトウェアライブラリとフレームワーク。
- bluepy - Linux上のBluetooth LE向けPythonインターフェース。
- Bluetooth - Bluetooth SIG仕様をサポートする複数のライブラリを持つSwiftマルチプラットフォームパッケージ。
- bluez - 公式Linux Bluetoothプロトコルスタック。
- bumble - 完全にPythonで書かれたフル機能Bluetoothスタック。
- pygatt - BLEデバイスと対話するためのPythonライブラリ。
- SimpleBLE - MacOS、iOS、Windows、Linux向けのオールインワンC/C++/Python/Rust Bluetooth LEライブラリ。
- Moddable - マイクロコントローラー開発向けのJavaScriptライブラリとツール。BLE機能を含みます。
iOS
AppleデバイスでBluetooth Low Energy(BLE)アプリケーションを開発するためのiOSライブラリ、ツール、リソース。
- AsyncBluetooth - CoreBluetooth APIへ並行性を追加する小さなライブラリ。
- CombineCoreBluetooth - AppleのCoreBluetoothフレームワークとAppleのCombineフレームワークを橋渡しするライブラリ。
- iOS DFU Library - DFUアプリケーションでDKに新しいファームウェアを書き込めます。
- Rx Bluetooth Kit - RxSwiftを使用してBLEデバイスとの対話をより快適にするBluetoothライブラリ。
- Swifty Sensors - iOSとmacOS向けBluetooth LE Sensor Manager。
- SpeziBluetooth - モダンなプログラミングパラダイムでBluetoothデバイスに接続・通信します。
KMM
Kotlin Multiplatform Mobile(KMM)フレームワークを使用してBluetooth Low Energy(BLE)アプリケーションを構築するためのリソースとライブラリ。
- BlueFalcon - iOSとAndroid向けBluetooth Kotlinマルチプラットフォーム「Cross-Platform」ライブラリ。
- Kable - Kotlin Asynchronous Bluetooth Low Energyは、Bluetooth Low Energyデバイスと対話するシンプルなCoroutines駆動APIを提供します。
Android
Bluetooth Low Energy(BLE)機能をAndroidアプリケーションへ統合するためのAndroidライブラリ、ツール、リソース。
- Android BluetoothGatt Sample - AndroidでBluetoothGatt APIを使用する方法を示すサンプルアプリケーション。
- android-BluetoothChat - Android Bluetoothチャットアプリケーション。
- FastBle - Android Bluetooth Low Energy(BLE)の高速開発フレームワーク。
- Nordic Semiconductor BLE SDK for Android - Android開発向けにNordic Semiconductorが提供する公式Bluetooth Low Energy SDK。
- RxAndroidBle - RxJava3インターフェースを備えるAndroid Bluetooth Low Energy(BLE)ライブラリ。
- SmartGattLib - Bluetooth SMARTデバイス(Bluetooth 4.0ではBluetooth Low Energyとも呼ばれる)の作業を簡単にするJavaライブラリ。採用されたGATT仕様のすべてのUUIDと、特性(例: Heart Rate、BatteryLevel)を解釈する便利な方法を提供します。
Flutter
iOSとAndroidの両方でFlutterフレームワークを使用してBluetooth Low Energy(BLE)アプリケーションを開発するためのFlutterライブラリ、ツール、リソース。
- Flutter Blue Plus - Flutter Blue Plusは、開発者がモダンなマルチプラットフォームアプリを構築するのを助ける新しいアプリSDK、Flutter向けBluetoothプラグインです。
- Flutter Reactive BLE - 複数デバイスのBLE操作を処理するFlutterライブラリ。
- Flutter BLELib - 周辺機器のシミュレーションをサポートするFlutter向けBluetooth Low Energyライブラリ。
ツール
アナライザー、デバッガー、シミュレーターなど、Bluetooth Low Energy(BLE)アプリケーションの開発・テストツール。
- Bettercap - セキュリティ研究者がBLEセキュリティをテストするための、容易に拡張できポータブルなフレームワーク。
- nRF Connect - Nordic Semiconductorチップに基づくデバイスを開発、テスト、プロビジョニングするためのアプリケーションフレームワーク。
- BLE Simulator - BLEデバイスを複製し、相互作用をスクリプト化できるモバイルアプリ。デバッグと迅速なプロトタイピングに有用です。
- PacketLogger - iOSデバイスからBLEパケットとHCIログを取得するmacOSツール。Bluetooth通信とプロトコルの問題のデバッグに有用です。
Web
JavaScriptとウェブ技術を使用してBluetooth Low Energy(BLE)アプリケーションを構築する、ウェブベースのリソース、フレームワーク、ツール。
- Web Bluetooth Samples - Web Bluetooth API使用例のコレクション。
セキュリティ
BLEに関するセキュリティ関連リソース。
- Awesome Bluetooth Security - Bluetooth(およびBLE)関連の優れたセキュリティリポジトリ。
Arduino
Arduinoハードウェアに特化したリソースのリスト。
- Arduino - 公式サイト
- ArduinoBLE - Arduino向けArduinoBLEライブラリ
ESP
EspressIfハードウェアに特化したリソースのリスト。
- EspressIf - 公式サイト
- ESP-IDF - Espressif IoT Development Framework
- ESP-32-C3 + Rust + BLE - ESP32 BluetoothとRustの連載記事
Nordic
Arduinoハードウェアに特化したリソースのリスト。
- Nordic Semiconductor - 公式サイト
RaspberryPi
RaspberryPiハードウェアに特化したリソースのリスト。
- Raspberry Pi - 公式サイト
記事と事例
BLE開発に関する興味深い記事と事例。
- Scan and connect to BLE in background on iOS - バックグラウンドでBLEデバイスをスキャン・接続する事例(ファームウェアとアプリの両方)を論じる記事。
- Deep dive to iOS advertising in backgroud - バックグラウンドBluetooth広告におけるiOS独自の「Overflow Area」と、バックグラウンドデータ交換の可能性・制限を詳しく扱います。
貢献
最初に貢献ガイドラインをざっとご覧ください。
メンテナンスされなくなった、または適合しないエントリーを見つけた場合は、このファイルを改善するpull requestを送信してください。
すべての貢献者に感謝します。素晴らしいです!