Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

117
Views
No se puede obtener el nombre del dispositivo central a través de la API Web-Bluetooth

Estoy tratando de obtener el nombre del dispositivo central donde central es una aplicación web basada en Javascript y periférico es Nano ble 33.

Estoy usando la API web-bluetooth y puedo obtener el nombre del dispositivo periférico siguiendo esta descripción del enlace de ingreso aquí

y, por otro lado, puedo obtener la dirección central usando central.address() pero no obtengo nada cuando uso central.deviceName() o central.localName().

Me pregunto dónde debo configurarDeviceName() en central. ¿Es obligatorio?

Gracias por adelantado.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Según el ejemplo de arduino en https://docs.arduino.cc/retired/archived-libraries/CurieBLE#example-1 , parece que debería poder obtener el BLECentral con el siguiente código:

 void loop() { // listen for BLE peripherals to connect: BLECentral central = blePeripheral.central(); // if a central is connected to peripheral: if (central) { Serial.print("Connected to central: "); Serial.println(central.address()); } }

Sin embargo, BLECentral no le permite obtener la información del nombre del dispositivo central según https://github.com/arduino/ArduinoCore-arc32/blob/master/libraries/CurieBLE/src/BLECentral.h

 class BLECentral { public: bool connected(void); // is the central connected const char* address(void) const; // address of the Central in string form bool disconnect(void); // Disconnect the central if it is connected void poll(void); // Poll the central for events ...

Le sugiero que use la dirección y use "Central 00:11:22:33:44:55" para el nombre si es necesario para usted.

Para ser claros, Web Bluetooth no le permite obtener el nombre del dispositivo Central. Permite que las páginas web que se ejecutan en el rol central se conecten a los servidores GATT a través de una conexión Bluetooth.

Habiendo dicho eso, nada le impide tener una característica de Bluetooth personalizada en su periférico BLE que devuelve la dirección del dispositivo de la Central como un valor para que pueda acceder a ella desde la página web. Vea el ejemplo de JS a continuación:

 const yourServiceUuid = 0x1234; const yourCharacteristicUuid = 0x5678; const device = await navigator.bluetooth.requestDevice({ // filters: [...] <- Prefer filters to save energy & show relevant devices. acceptAllDevices: true, optionalServices: [yourServiceUuid]}); const server = await device.gatt.connect(); const service = await server.getPrimaryService(yourServiceUuid); const characteristic = await service.getCharacteristic(yourCharacteristicUuid); const value = await characteristic.readValue(); const decoder = new TextDecoder('utf-8'); console.log(`> Central name: "Central ${decoder.decode(value)}"`);
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!