lecodeurdudimanche / php-bluetooth
Simple usage of bluetooth Bluez executables to control bluetooth devices with PHP
v0.5.1
2020-12-28 22:38 UTC
Requires
- php: >7.2
- lecodeurdudimanche/php-process-launcher: dev-master
- lecodeurdudimanche/php-unix-streams: dev-master
README
A package to manage bluetooth connexions on Linux using PHP
This package relies on the Bluez stack, using the bluetoothctl
tool.
This package is in early development stage
Requirements
This library relies on the BlueZ stack, so you need to install bluez
and bluez-tools
packages.
PHP version >= 7.2
Installation
composer require lecodeurdudimanche\php-bluetooth
Basic usage
The Manager
class is the entry point of this library.
To launch the Manager
and set the bluetooth adapter in a discoverable state and to accept paring :
use lecodeurdudimanche\PHPBluetooth\Manager; $manager = new Manager($discoverable, $pairable);
Next you can manage the bluetooth connextion through the Manager
, keep in mind that all commands (but not all methods) are asynchronous :
use lecodeurdudimanche\PHPBluetooth\Device; $manager->scanDevices(); //Initiate device scan $manager->setPairable(false); $manager->pairDevice(new Device($mac)); $manager->updateBluetoothInfo(); $data = $manager->getBluetoothInfo(); foreach($data->getAvailableDevices() as $device) { if (! $device->paired) $manager->blockDevice($device); } // Other methods are available, see Manager class
TODO
- Add detection of discoverable and pairable status at startup
- Add support to exclude unscanned paired devices from scanned devices list
- Add detection of trusted and blocked devices
- Add I/O exception handling
License
MIT License