BTLE sincroniza las balizas publicitarias con el escaneo del teléfono

0

En una conexión BTLE maestro / esclavo, los dispositivos maestro y esclavo sincronizan su salto de frecuencia. Junto con los parámetros de conexión (como el intervalo, la latencia del esclavo, el tiempo de espera de supervisión), esto permite al maestro y al esclavo dormir entre los eventos de conexión / transferencia.

Con las balizas que anuncian (y un teléfono que escanea) parece que no se puede lograr una coordinación de tiempo. Básicamente, la baliza se anuncia a una tasa y duración configurables, mientras que el teléfono escucha un ciclo de servicio y duración configurables de forma independiente.

Ciertamente, sin establecer una conexión, el anunciante y el escáner no pueden sincronizarse, pero parece posible. Para que un anunciante transmita su carga útil, así como su configuración de publicidad, y luego para que el escáner sincronice aproximadamente su tiempo de espera / escucha con esa configuración.

Obviamente, si el teléfono quiere descubrir otros dispositivos BTLE, tendría que escanear de la manera estándar. Pero para capturar publicidades posteriores de este tipo de balizas escuchadas anteriormente, la ventana de recepción parece que podría ser mucho más pequeña (incluso con las tolerancias de reloj PPM).

¿Se puede lograr esto de alguna manera que no conozco? ¿Qué me estoy perdiendo?

    
pregunta Funkyeah

2 respuestas

1

La publicidad BLE se realiza en solo 3 de los 40 canales, por lo que es mucho más probable que la búsqueda y el envío secuencial se cumplan.

Aunque los tres canales de publicidad están numerados de forma secuencial, sus frecuencias abarcan la banda y se eligen con respecto a las frecuencias WiFi, con la esperanza de que la interferencia a todos ellos sea menos común.

    
respondido por el Chris Stratton
1

Parece que necesito más representantes para simplemente agregar esto como un comentario, así que no tomes esto como una respuesta completa. Recientemente tuve un problema muy similar cuando estaba diseñando un monitor ULP BTLE. Para amor y dinero, no pude encontrar ninguna manera segura de despertar tanto al maestro como al esclavo para que el sensor anuncie su nuevo valor y para que el maestro lo reciba antes de que ambos volvieran a dormir en el mismo segundo. transmitiendo una vez por minuto). Debido a que necesitaba que esto funcionara rápido, me resigné a que el maestro siempre estuviera escuchando y que el esclavo simplemente se despertara para leer su entrada analógica y transmitiera eso dentro de su paquete de publicidad para ahorrar tiempo al conectar, etc. Sin un cristal externo, la sincronización parece ser un gran problema. He estado registrando las marcas de tiempo de cada transmisión desde el esclavo durante la última semana y he visto que varía de 58 segundos a 64 segundos. Hay un par de cosas que puedo sugerir, que voy a probar por mi propio diseño;

Investigue cuánta energía se necesita para tener cristales externos para una sincronización mucho más precisa (no estoy seguro de qué tan optimista es esto, incluso con una velocidad de 32 kHz o algo así). Para asegurarnos de que no tenemos diferencias de tiempo compuestas, reinicie un temporizador interno en el maestro cada vez que el esclavo transmita y descanse durante el intervalo establecido. Si este método parece cercano, agregaré 2 AAA en lugar de una moneda-celda para el maestro y lo reactivaré durante 6 segundos cada minuto para asegurar que recibo cada transmisión del esclavo.

    
respondido por el CraigC

Lea otras preguntas en las etiquetas