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

296
Views
¿Hay alguna manera de aumentar la frecuencia de anuncios de BLE en BlueZ?

Tengo una computadora Linux que transmite un anuncio BLE usando los siguientes comandos:

 sudo hciconfig hci0 up sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 00 sudo hciconfig hci0 leadv 3

Esto funciona bien, pero la computadora solo transmite su anuncio de bluetooth una vez por segundo. Me gustaría aumentar esta frecuencia a 10 veces por segundo o más. ¿Hay alguna manera de aumentar la frecuencia de publicidad en BlueZ? ¿O es una vez por segundo el estándar e inmutable? Estoy feliz de hacer esto con las API de C si no es posible con las herramientas de línea de comandos.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Creo que lo descubrí.

En vez de:

 sudo hciconfig hci0 up sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 00 sudo hciconfig hci0 leadv 3

Hacer esto:

 sudo hciconfig hci0 up sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 00 sudo hcitool -i hci0 cmd 0x08 0x0006 A0 00 A0 00 03 00 00 00 00 00 00 00 00 07 00 sudo hcitool -i hci0 cmd 0x08 0x000a 01

El segundo comando hcitool (0x08 0x0006) es "LE Establecer parámetros de publicidad. Los primeros dos bytes A0 00 son el "intervalo mínimo". Los segundos dos bytes A0 00 son el "intervalo máximo". En este ejemplo, establece el tiempo entre anuncios a 100 ms. La granularidad de esta configuración es de 0,625 ms, por lo que establecer el intervalo en 01 00 establece que el anuncio se reproduzca cada 0,625 ms. Si se establece en A0 00, se establece que el anuncio se reproduzca cada 0xA0*0,625 ms = 100 ms. Si se establece en 40 06 establece que el anuncio vaya cada 0x0640*0,625 ms = 1000 ms. El quinto byte, 03, establece el modo de publicidad en no conectable. Con un anuncio no conectable, lo más rápido que puede anunciar es 100 ms, con un anuncio conectable ( 0x00) puedes anunciarte mucho más rápido.

El tercer comando hcitool (0x08 0x000a) es "LE Set Advertise Enable". Es necesario ejecutar este comando con hcitool en lugar de hciconfig, porque "hciconfig hci0 leadv 3" configurará automáticamente la tasa de publicidad al valor predeterminado más lento de 1280 ms.

Lo descubrí ejecutando hcidump al mismo tiempo que ejecutaba los comandos originales que publicó en la pregunta. Esto le muestra un montón de comandos de hcitool sin procesar (bien anotados por lo que hacen) que son ejecutados por bluez. Acabo de notar en la salida de hcidump que "hciconfig hci0 leadv 3" emite un comando de intervalo de publicidad más lento.

Tenga en cuenta que todo esto se basa en IOGear GBU521, por lo que es posible que no funcione con otros conjuntos de chips Bluetooth LE.

over 4 years ago · Santiago Trujillo 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!