
Security News
Potemkin Understanding in LLMs: New Study Reveals Flaws in AI Benchmarks
New research reveals that LLMs often fake understanding, passing benchmarks but failing to apply concepts or stay internally consistent.
bluetoothctl
Advanced tools
linux bluetoothctl wrapper (also works with arm devices like raspberry pi)
Linux command line bluetoothctl wrapper for nodejs
powerful command line utulity bluetoothctl for discovery, connect,disconnect, scan, pair etc.. if you want to connect bluetooth speakers , mouse, keyboard etc.. you can use this module. you must install bluetoothctl . for raspberry pi 3 , it comes as default with raspbian. example install process: sudo apt-get install bluez blueman alsa-utils bluez-alsa
Features:
checkBluetoothController() : checks if bluetooth controler exists or not
getPairedDevices() : checks already paired devices.
getDevicesFromController() : checks already scanned devices.
disconnect(macID) : disconnect from macID
info(macID) : checks features of device with given macID
pair(macID) : pairs with given macID
confirmPassKey(bool) : confirms passkey while paring.
scan(bool) : starts or stops scanning of bluetooth devices. while scan is set true, current audio playback might get crackling.. so stop scan after you found what you are searching.
discoverable(bool) : sets your raspberry or linux device's bluetooth as discoverable.
isScanning : checks if bluetoothctl is already scanning. returns true/false
isBluetoothReady : checks if our bluetooth controller ready.returns true/false
isBluetoothControlExists : checks if we have a bluetooth hardware or not.
devices : returns the scanned and found devices as array. example output at below..
controllers : returns the found bluetooth hardware devices.
Events
Controller: event fires when bluetooth controller detected from system
DeviceSignalLevel: event fires when a discoverable bluetooth device's signal level detected.
Device: event fires when a new device found or a device sends its features
PassKey: event fires when passkey confirmation is required to pair device. confirmPasskey(true) should be called in response to this event.
Basic usage
var blue = require("bluetoothctl");
blue.Bluetooth()
blue.on(blue.bluetoothEvents.Controller, function(controllers){
console.log('Controllers:' + JSON.stringify(controllers,null,2))
});
blue.on(blue.bluetoothEvents.DeviceSignalLevel, function(devices,mac,signal){
console.log('signal level of:' + mac + ' - ' + signal)
});
blue.on(blue.bluetoothEvents.Device, function (devices) {
console.log('devices:' + JSON.stringify(devices,null,2))
})
blue.on(blue.bluetoothEvents.PassKey, function (passkey) {
console.log('Confirm passkey:' + passkey)
blue.confirmPassKey(true);
})
var hasBluetooth=blue.checkBluetoothController();
console.log('system has bluetooth controller:' + hasBluetooth)
if(hasBluetooth) {
console.log('isBluetooth Ready:' + blue.isBluetoothReady)
blue.scan(true)
setTimeout(function(){
console.log('stopping scan')
blue.scan(false)
blue.info('00:0C:8A:8C:D3:71')
},20000)
}
Sample output of controller:
Controllers:[
{
"mac": "B8:27:EB:2E:66:7B",
"name": "raspberrypi"
}
]
Sample output of devices:
devices:[
{
"mac": "00:0C:8A:8C:D3:71",
"name": "Bose Mini SoundLink",
"signal": 0,
"paired": "yes",
"trusted": "yes",
"icon": "audio-card",
"class": "0x240428",
"blocked": "no",
"connected": "no",
"trycount": 1
}
]
FAQs
linux bluetoothctl wrapper (also works with arm devices like raspberry pi)
We found that bluetoothctl demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.
Security News
New research reveals that LLMs often fake understanding, passing benchmarks but failing to apply concepts or stay internally consistent.
Security News
Django has updated its security policies to reject AI-generated vulnerability reports that include fabricated or unverifiable content.
Security News
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.