0

We have a running app with nodejs and @abandonware/noble package on Radxa Zero with DietPi OS (Debian) which controls a bluetooth device. The documentation of the package says you need sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev. These are Debian packages. What is the equivalent name of these in buildroot?. How can I make sure these Debian packages are installed in my Buildroot image. So far I checked everything for bluez-tools, bluez-utils in Target packages for my image. I can scan and find my BLE device with bluetoothctl and hcitool lescan. When executing on my image the application fails with a similar failure when dependencies are missing.

# NOBLE_HCI_DEVICE_ID=1 node .

internal/modules/cjs/loader.js:1144
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: File not found
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:1144:18)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:101:18)
    at Object.<anonymous> (/root/client/node_modules/@abandonware/bluetooth-hci-socket/lib/native.js:6:15)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12) {
  code: 'ERR_DLOPEN_FAILED'
}

Currently running node 14.20.1.

Strange output of bluemoon. Is this relevant?

# bluemoon 
Bluemoon configuration utility ver 5.65
Failed to open HCI user channel

1 Answers1

0

I think https://github.com/buildroot/buildroot/blob/master/package/bluez5_utils-headers/bluez5_utils-headers.mk is the package that contains the needed headers that you need when including libbluetooth headers that are needed to build native modules.

In any case, I can recommend https://github.com/Emill/node-ble-host instead of noble. This package implements more features and is supposed to be much more stable and bug-free; it's also not "abandoned"... (I am the author of this package).

Emil
  • 16,784
  • 2
  • 41
  • 52