1amageek / Bleu
Licence: mit
BLE (Bluetooth LE) for U🎁 Bleu is the best in the Bluetooth library.
Stars: ✭ 481
Programming Languages
swift
15916 projects
Projects that are alternatives of or similar to Bleu
Ble.net
Cross-platform Bluetooth Low Energy (BLE) library for Android, iOS, and UWP
Stars: ✭ 137 (-71.52%)
Mutual labels: bluetooth-low-energy, bluetooth-le, bluetooth
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 (-97.09%)
Mutual labels: bluetooth, 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 (-77.55%)
Mutual labels: bluetooth-low-energy, bluetooth-le, bluetooth
IOS-DFU-Library
OTA DFU Library for Mac and iOS, compatible with nRF5x SoCs
Stars: ✭ 400 (-16.84%)
Mutual labels: bluetooth, bluetooth-low-energy, bluetooth-le
py-bluetooth-utils
Python module containing bluetooth utility functions, in particular for easy BLE scanning and advertising
Stars: ✭ 60 (-87.53%)
Mutual labels: bluetooth, 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 (-81.7%)
Mutual labels: bluetooth-low-energy, bluetooth-le, bluetooth
Easyble
Android BLE framework
Stars: ✭ 155 (-67.78%)
Mutual labels: bluetooth-low-energy, bluetooth-le, bluetooth
pirowflo
All-in-one data interface for your Waterrower S4 Monitor or Smartrow
Stars: ✭ 73 (-84.82%)
Mutual labels: bluetooth, bluetooth-low-energy, bluetooth-le
Gatt Python
Bluetooth GATT SDK for Python
Stars: ✭ 233 (-51.56%)
Mutual labels: bluetooth-low-energy, bluetooth-le, bluetooth
Angular Web Bluetooth
The missing Web Bluetooth module for Angular
Stars: ✭ 164 (-65.9%)
Mutual labels: bluetooth-low-energy, bluetooth-le, bluetooth
Node Ble
Bluetooth Low Energy (BLE) library written with pure Node.js (no bindings) - baked by Bluez via DBus
Stars: ✭ 159 (-66.94%)
Mutual labels: bluetooth-low-energy, bluetooth-le, bluetooth
BleLab
Bluetooth LE Lab - UWP application for interaction with BLE GATT devices
Stars: ✭ 68 (-85.86%)
Mutual labels: bluetooth, bluetooth-low-energy, bluetooth-le
PiBeacon
Low-cost iBeacon using Raspberry Pi
Stars: ✭ 41 (-91.48%)
Mutual labels: bluetooth, bluetooth-low-energy, bluetooth-le
Ios Pods Dfu Library
OTA DFU Library for Mac and iOS, compatible with nRF5x SoCs
Stars: ✭ 349 (-27.44%)
Mutual labels: bluetooth-low-energy, bluetooth-le, bluetooth
rpi3-bluetooth
Raspberry Pi 3 on-board Bluetooth example
Stars: ✭ 17 (-96.47%)
Mutual labels: bluetooth, bluetooth-low-energy
Android Scanner Compat Library
A compat library for Bluetooth Low Energy scanning on Android.
Stars: ✭ 462 (-3.95%)
Mutual labels: bluetooth-low-energy, bluetooth-le
deskbluez
Connects to a low energy actuator system via bluetooth and allows remote control via command line or internal managed interface.
Stars: ✭ 56 (-88.36%)
Mutual labels: bluetooth, bluetooth-low-energy
IoT-iBeacon
An Ionic app for indoor localization and navigation using BLE iBeacons.
Stars: ✭ 39 (-91.89%)
Mutual labels: bluetooth, bluetooth-low-energy
Gort
Command Line Interface (CLI) for RobotOps
Stars: ✭ 425 (-11.64%)
Mutual labels: bluetooth-low-energy, bluetooth
cannon-bluetooth-remote
Python script to emulate Canon's BR-E1 remote
Stars: ✭ 22 (-95.43%)
Mutual labels: bluetooth, bluetooth-low-energy
Bleu
Bleu is a Bluetooth library. Bleu is the easiest way to operate CoreBluetooth.
Bleu is possible to operate by replacing Bluetooth 's Peripheral
and Central
with Server
and Client
.
Bleu can be developed event-driven.
Installation
CocoaPods
- Insert
pod 'Bleu'
to your Podfile. - Run
pod install
.
Note: CocoaPods 1.1.0 is required to install Bleu.
Usage
Please customize Communicable+.swift
.
uuidgen // create uuid
extension Communicable {
public var serviceUUID: CBUUID {
return CBUUID(string: "YOUR UUID")
}
}
struct GetUserIDItem: Communicable {
public var method: RequestMethod {
return .get(isNotified: false)
}
public var characteristicUUID: CBUUID {
return CBUUID(string: "YOUR UUID")
}
}
struct PostUserIDItem: Communicable {
public var method: RequestMethod {
return .post
}
public var characteristicUUID: CBUUID {
return CBUUID(string: "YOUR UUID")
}
}
😃 Get
Peripheral(Server)
Bleu.addReceiver(Receiver(GetUserID(), get: { [weak self] (manager, request) in
guard let text: String = self?.textField.text else {
manager.respond(to: request, withResult: .attributeNotFound)
return
}
request.value = text.data(using: .utf8)
manager.respond(to: request, withResult: .success)
}))
Bleu.startAdvertising()
Central(Client)
let request: Request = Request(communication: GetUserID()) { [weak self] (peripheral, characteristic, error) in
if let error = error {
debugPrint(error)
return
}
let data: Data = characteristic.value!
let text: String = String(data: data, encoding: .utf8)!
self?.centralTextField.text = text
}
Bleu.send([request]) { completedRequests, error in
if let error = error {
print("timeout")
}
}
😃 Post
Peripheral(Server)
Bleu.addReceiver(Receiver(PostUserID(), post: { (manager, request) in
let data: Data = request.value!
let text: String = String(data: data, encoding: .utf8)!
print(text)
manager.respond(to: request, withResult: .success)
}))
Bleu.startAdvertising()
Central(Client)
let data: Data = "Sample".data(using: .utf8)!
let request: Request = Request(communication: PostUserID()) { (peripheral, characteristic, error) in
if let error = error {
debugPrint(error)
return
}
print("success")
}
request.value = data
Bleu.send([request]) { completedRequests, error in
if let error = error {
print("timeout")
}
}
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].