Estoy pensando en un sistema donde 10 o más periféricos necesitan recibir 30-50B de datos cada 50 milisegundos (cada periférico obtiene datos únicos). El rendimiento total requerido puede no ser enorme (6-10 kB/s), pero el problema radica en la cantidad de dispositivos que necesitan recibir los datos.
He investigado el uso de BLE, pero aunque el rendimiento total se encuentra dentro del máximo posible de ~ 35 kB/s, lo que quiero no es posible debido al límite estricto de intervalos de conexión de 20 ms. Otra solución que consideré es usar un transmisor de RF simple y receptores de RF que lo escuchen simultáneamente. Tendría que encargarme manualmente de la corrección de errores, etc., pero no tendría que preocuparme por cambiar entre los receptores, lo que lleva un tiempo precioso. Un problema con eso también incluiría la incapacidad de tener dos de esos sistemas desplegados uno cerca del otro sin el riesgo de que los transmisores hablen entre sí.
Entonces, ¿qué otras soluciones hay disponibles para mí?
Sospecho que el uso de transceptores nRF24L01+ resolvería esto por usted. Teóricamente bueno para 1 o 2 Mbps, menos reconocimientos y cierta sobrecarga de paquetes, y aún debería poder mantener más de 100 kbps de datos de usuario sin ningún esfuerzo dramático.
Podría echar un vistazo al protocolo IEEE 802.15.4 . Hay un montón de transceptores por ahí. Esto le permitiría transmitir todos los datos del dispositivo para todos los periféricos en un paquete cada 50 ms (el tiempo de transmisión para un paquete como este será <1 ms). Suponiendo que no necesita una red de malla, esto podría funcionar bien para usted y minimizar la latencia.
Las radios IEEE 802.15.4 usan CDMA, por lo que no se pisarán entre sí cuando transmitan en el mismo espacio de RF.
Sin una red de malla, estaría ejecutando una configuración en estrella con el "maestro" en el centro del concentrador y sus periféricos actuando como puntos en su estrella.
Buena suerte, suena como un proyecto divertido.
Obtenga un transmisor simple de 433 MHz y algunos receptores, envíe un preámbulo de datos, luego una dirección, luego los datos y luego un par de bytes CRC. Si necesita enviar datos a receptores específicos, incruste la dirección y los datos en un flujo largo intercalado con CRC para que el receptor correcto sepa lo que está buscando. En otras palabras, desarrolle un protocolo simple y compre algunos TX y RX baratos y debería estar en el negocio. Es posible que 433 MHz no esté permitido en su país, pero habrá una frecuencia que lo esté.
Andy alias
Gorloth
Sanuuu
jimmyb