Bluetooth Classic Serial Port
This plugin is written using the iOS Accessory Framework (MFi) to support Classic Bluetooth on iOS.
https://github.com/MaximBelov/cordova-plugin-bluetooth-classic-serial-port
Stuck on a Cordova issue?
If you're building a serious project, you can't afford to spend hours troubleshooting. Ionicβs experts offer premium advisory services for both community plugins and premier plugins.
Installation
- Capacitor
- Cordova
- Enterprise
$ npm install cordova-plugin-bluetooth-classic-serial-port
$ npm install @awesome-cordova-plugins/bluetooth-classic-serial-port
$ ionic cap sync
$ ionic cordova plugin add cordova-plugin-bluetooth-classic-serial-port
$ npm install @awesome-cordova-plugins/bluetooth-classic-serial-port
Ionic Enterprise comes with fully supported and maintained plugins from the Ionic Team. Β Learn More or if you're interested in an enterprise version of this plugin Contact Us
Supported Platforms
- Android
- iOS
- Browser
Usage
React
Learn more about using Ionic Native components in React
Angular
import { BluetoothClassicSerialPort } from '@awesome-cordova-plugins/bluetooth-classic-serial-port/ngx';
constructor(private bluetoothClassicSerialPort: BluetoothClassicSerialPort) { }
// Write a string
this.bluetoothClassicSerialPort.write("00001101-0000-1000-8000-00805F9B34FB", "hello, world", success, failure);
// Array of int or bytes
this.bluetoothClassicSerialPort.write("00001101-0000-1000-8000-00805F9B34FB", [186, 220, 222], success, failure);
// Typed Array
var data = new Uint8Array(4);
data[0] = 0x41;
data[1] = 0x42;
data[2] = 0x43;
data[3] = 0x44;
this.bluetoothClassicSerialPort.write(interfaceId, data, success, failure);
// Array Buffer
this.bluetoothClassicSerialPort.write(interfaceId, data.buffer, success, failure);
// iOS select accessory
async selectAccessory() {
const deviceDiscovery = this.bluetoothClassicSerialPort.setDeviceDiscoveredListener().subscribe(async (connectionConfig) => {
deviceDiscovery.unsubscribe();
})
await this.bluetoothClassicSerialPort.discoverUnpaired().catch(error => {
deviceDiscovery.unsubscribe();
})
}