BluetoothLinux
BluetoothLinux copied to clipboard
Pure Swift Linux Bluetooth Stack
Pure Swift Bluetooth Stack for Linux
Does not require BlueZ userland library, communicates directly with the Linux kernel Bluetooth subsystem.
Usage
import Bluetooth
import BluetoothLinux
guard let hostController = await BluetoothLinux.HostController.default
else { fatalError("No Bluetooth adapters found") }
let uuid = UUID(rawValue: "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0")!
let beacon = AppleBeacon(uuid: uuid, major: 1, minor: 1, rssi: -29)
do { try await hostController.iBeacon(beacon) }
catch { print("Error enabling iBeacon: \(error)") }
Installation
Swift Package Manager
import PackageDescription
let package = Package(
dependencies: [
.package(
url: "https://github.com/PureSwift/BluetoothLinux.git",
.branch("master")
)
]
)
Documentation
Read the documentation here. Documentation can be generated with DocC.
See Also
- Bluetooth - Pure Swift Bluetooth Definitions.
- GATT - Bluetooth Generic Attribute Profile (GATT) for Swift.
- Netlink - Swift library for communicating with Linux Kernel Netlink subsystem.
License
BluetoothLinux is released under the MIT license. See LICENSE for details.