Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
@e-is/capacitor-bluetooth-serial
Advanced tools
Forked from capacitor-bluetooth-serial (archived)
A client implementation for interacting with Bluetooth (serial), using Capacitor.
Supported platforms
Supported Capacitor versions:
Install the plugin via npm
npm install --save @e-is/capacitor-bluetooth-serial
import {BluetoothSerial} from "@e-is/capacitor-bluetooth-serial";
//...do something with plugin
Interface and type definitions can be found here.
Reports if bluetooth is enabled.
isEnabled(): Promise<BluetoothState>;
Function isEnabled
calls the success whatever bluetooth is enabled or not. The promise will contain an attribute enabled
indicating if bluetooth is enabled or not enabled. The failure callback will be called only if an error occurs.
If you want to enable bluetooth afterwards, you can use #enable directly, once #enable also check if the bluetooth is conected or not.
None.
BluetoothSerial
.isEnabled()
.then((response: BluetoothState) => {
const status = response.enabled ? 'enabled' : 'disabled';
console.log(`Bluetooth is ${status}`);
})
.catch(() => {
console.log('Error checking bluetooth status');
});
Enable bluetooth if it is not enabled. Also request permissions for bluetooth access if it is necessary.
enable(): Promise<BluetoothState>;
Function enable
calls the success whatever bluetooth is successfully enabled or not. The promise will contain an attribute enabled
indicating if bluetooth is enabled or not enabled after the process. The failure callback will be called only if an error occurs.
If the app does not have permission to use bluetooth, it will request it.
None.
BluetoothSerial
.enable()
.then((response: BluetoothState) => {
const status = response.enabled ? 'enabled' : 'disabled';
console.log(`Bluetooth is ${status}`);
})
.catch(() => {
console.log('Error enabling bluetooth');
});
Disable bluetooth if enabled. Also request permissions for bluetooth access if it is necessary.
disable(): Promise<BluetoothState>;
Function disable
calls the success whatever bluetooth is successfully disabled or not.
The promise will contain an attribute enabled
indicating if bluetooth is enabled or not enabled after the process.
The failure callback will be called only if an error occurs.
If the app does not have permission to use bluetooth, it will request it.
None.
BluetoothSerial
.disable()
.then((response: BluetoothState) => {
const status = response.enabled ? 'enabled' : 'disabled';
console.log(`Bluetooth is ${status}`);
})
.catch(() => {
console.log('Error disabling bluetooth');
});
Be notified when bluetooth status changed.
startEnabledNotifications(): Promise<void>
;
Function startEnabledNotifications
enable status notifications. In order to retrieve the values, use an Event Listener with 'onEnabledChanged' as event name.
const eventListener = BluetoothSerial.addListener('onEnabledChanged' , (response: BluetoothState) => {
const { enabled } = response;
//Do something with enabled variable
});
None.
BluetoothSerial
.startEnabledNotifications()
.then(() => {
eventListener = BluetoothSerial.addListener('onEnabledChanged', (data: BluetoothState) => {
console.log('Bluetooth state changed to ' + (data.enabled ? 'Enabled' : 'Disabled'));
});
})
.catch(() => {
console.log('Error starting enabled listener');
});
Stops the propagation of value changes.
stopEnabledNotifications(): Promise<void>
;
Function stopEnabledNotifications
disable bluetooth state notifications. Additionally, the event listener has to be removed.
eventListener.remove();
None.
BluetoothSerial
.stopEnabledNotifications()
.then(() => {
eventListener.remove();
})
.catch(() => {
console.log('Error disabling listener for device');
});
Discover devices visible and close to the device
scan(): Promise<BluetoothScanResult>;
Function scan
discovers Bluetooth devices close to the device and visible. The success callback is called with a list of objects similar to list
, or an empty list if no devices are found.
Example list passed to success callback.
[{
"class": 0,
"id": "00:11:22:33:44:55",
"address": "00:11:22:33:44:55",
"name": "Device 1"
}, {
"class": 7936,
"id": "01:23:6645:4D67:89:00",
"address": "01:23:6645:4D67:89:00",
"name": "Device 2"
}]
The discovery process takes a while to happen. You may want to show a progress indicator while waiting for the discover proces to finish, and the sucess callback to be invoked.
Calling connect
on an unpaired Bluetooth device should begin the Android pairing process.
None.
BluetoothSerial
.scan()
.then((result: BluetoothScanResult) => {
result.devices.forEach((device: BluetoothDevice) {
console.log(device.id);
});
})
.catch(() => {
console.log('Error scanning devices');
});
Connect to a Bluetooth device.
connect(options: BluetoothConnectOptions): Promise<void>
;
Function connect
connects to a Bluetooth device. The callback Success will be called when the connection is successful. Failure is called if the connection fails.
For Android, connect
takes a MAC address of the remote device.
BluetoothSerial
.connect({
address: '00:11:22:33:44:55',
})
.then(() => {
console.log('Successfully connected')
})
.catch(() => {
console.log('Error connecting...');
});
Connect insecurely to a Bluetooth device.
connectInsecure(options: BluetoothConnectOptions): Promise<void>
;
Function connectInsecure
connects to a Bluetooth device. The callback Success will be called when the connection is successful. Failure is called if the connection fails.
Function connectInsecure
works like BluetoothSerial.connect, but creates an insecure connection to a Bluetooth device. See the Android docs for more information.
For Android, connectInsecure
takes a MAC address of the remote device.
BluetoothSerial
.connectInsecure({
address: '00:11:22:33:44:55',
})
.then(() => {
console.log('Successfully connected')
})
.catch(() => {
console.log('Error connecting...');
});
Disconnect a Bluetooth device.
disconnect(options: BluetoothConnectOptions): Promise<void>
;
Function disconnect
disconnects a Bluetooth device. The callback Success will be called when the disconnection is successful. Failure is called if the disconnection fails.
For Android, disconnect
takes a MAC address of the remote device.
Warning: If no address is passed, all devices will be disconnected.
BluetoothSerial
.disconnect({
address: '00:11:22:33:44:55',
})
.then(() => {
console.log('Successfully disconnected')
})
.catch(() => {
console.log('Error disconnecting...');
});
Reports the connection status.
isConnected(options: BluetoothConnectOptions): Promise<BluetoothConnectResult>
;
Function isConnected
calls the success callback with the connection status (connected or not connected). Failure will be called only if an error occurs.
For Android, isConnected
takes a MAC address of the remote device.
BluetoothSerial
.isConnected({
address: '00:11:22:33:44:55',
})
.then((result: BluetoothConnectResult) => {
const status = result.connected ? 'connected' : 'disconnected';
console.log(`Device is ${status}`);
})
.catch(() => {
console.log('Error checking connection status');
});
Reads data from the buffer.
read(options: BluetoothReadOptions): Promise<BluetoothReadResult>
;
Function read
reads the data from the buffer. The data is passed to the success callback as a String. Calling read
when no data is available will pass an empty String to the callback.
BluetoothSerial
.read({
address: '00:11:22:33:44:55',
})
.then((result: BluetoothReadResult) => {
console.log(result.data);
})
.catch(() => {
console.log('Error reading data from device');
});
Reads data from the buffer until it reaches a delimiter.
readUntil(options: BluetoothReadUntilOptions): Promise<BluetoothReadResult>
;
Function readUntil
reads the data from the buffer until it reaches a delimiter. The data is passed to the success callback as a String. If the buffer does not contain the delimiter, an empty String is passed to the callback.
BluetoothSerial
.readUntil({
address: '00:11:22:33:44:55',
delimiter: '\n',
})
.then((result: BluetoothReadResult) => {
console.log(result.data);
})
.catch(() => {
console.log('Error reading data from device');
});
Enable and be notified when any data is received.
startNotifications(options: BluetoothEnableNotificationsOptions): Promise<void>
;
Function startNotifications
enable notifications. In order to retrieve the values, use an Event Listener with 'onRead' as event name.
const eventListener = BluetoothSerial.addListener('onRead' , (response: BluetoothReadResult) => {
const { value } = response;
//Do something with the value
});
BluetoothSerial
.startNotifications({
address: '00:11:22:33:44:55',
delimiter: '\n',
})
.then((result: BluetoothEnableNotificationsResult) => {
eventListener = BluetoothSerial.addListener('onRead', (data: BluetoothReadResult) => {
console.log("Received value: " + data.value);
});
})
.catch(() => {
console.log('Error enabling listener for device');
});
Stops the propagation of value changes.
stopNotifications(options: BluetoothDisableNotificationsOptions): Promise<void>
;
Function stopNotifications
disable notifications. Additionally, the event listener has to be removed.
eventListener.remove();
BluetoothSerial
.stopNotifications({
address: '00:11:22:33:44:55',
})
.then(() => {
eventListener.remove();
})
.catch(() => {
console.log('Error disabling listener for device');
});
Write data to the buffer.
write(options: BluetoothWriteOptions): Promise<void>
;
Function write
writes data to the buffer.
BluetoothSerial
.write({
address: '00:11:22:33:44:55',
value: 'Hello world',
})
.then(() => {
console.log('Value sent to device');
})
.catch(() => {
console.log('Error writing data to device');
});
FAQs
Capacitor Bluetooth Serial Plugin
The npm package @e-is/capacitor-bluetooth-serial receives a total of 20 weekly downloads. As such, @e-is/capacitor-bluetooth-serial popularity was classified as not popular.
We found that @e-is/capacitor-bluetooth-serial demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.