Pronto recibiré algunos SE8R01 (2.4 GHz inalámbricos) para usar en mi nuevo proyecto (usando Arduino).
El hoja de datos se puede encontrar aquí .
En mi proyecto, quiero usar varios dispositivos que necesitan enviar mensajes a un controlador (maestro). Que en base a eso envía mensajes de vuelta (inmediatamente o más tarde). Por eso es realmente una comunicación bidireccional. Pero todos los dispositivos (esclavos) tienen comunicación con un solo dispositivo. Así que el flujo de trabajo es algo así como:
- El esclavo 1 envía datos al maestro
- El maestro envía datos al esclavo 1
- Slave 2 envía datos a Master
- El maestro envía datos al esclavo 2
- Slave 3 envía datos a Master
- El maestro envía datos al esclavo 3
Si el Maestro debe ser el iniciador de todo, el posible flujo de trabajo también es posible:
- El maestro pide datos al esclavo 1
- El maestro envía datos al esclavo 1
- El maestro pide datos al esclavo 2
- El maestro envía datos al esclavo 2
- El maestro pide datos al esclavo 3
- El maestro envía datos al esclavo 3
Algunos esclavos de datos enviados al maestro deben devolverse rápidamente (dentro de unos 10 ms), otros datos son menos críticos. Esto depende del esclavo.
En la hoja de datos en el párrafo 7.6 se maneja MultiSlave. Esta es una red 6-1 (probablemente similar pero no exactamente como NRF24L01). No sé por qué el SE8R01 y el NRF24L01 son diferentes (pensé que son compatibles).
De todos modos, en el modo MultiSlave, parece que hasta 6 dispositivos son transmisores y 1 es receptor. Pero en mi ejemplo, quiero ambos: transmisor y receptor. El MultiSlave usa un protocolo que cambia el transmisor y el receptor internamente, pero me pregunto si puedo usar este MultiSlave y el protocolo si manualmente voy a cambiar esto.
¿O debería hacer mi propio protocolo?
Actualización: parece que NRF24L01 es el mismo, el 'protocolo' es ShockBurst en NRF24L01 y el modo MultiSlave se llama MultiCeiver