Estoy diseñando módulos de sensores de baja potencia que se distribuirán en un área razonablemente pequeña. Todos los módulos funcionan con baterías y deben funcionar durante un tiempo decente sin tener que recargar / reemplazar las baterías (cuanto más largas, mejor, piense al menos unas semanas, si no meses o años). La idea es que cada media hora u hora el módulo se activará desde el modo de baja potencia, tomará algunas muestras y transmitirá los datos a un registrador de datos central. El registrador de datos central probablemente será alimentado por la pared, por lo que el bajo consumo de energía no es tan necesario. No espero que ningún módulo esté a más de 100 metros del registrador central, probablemente mucho menos.
He identificado algunos posibles módulos de transceptor que potencialmente podrían funcionar:
- ALPHA-TRX433S, 433 MHz
- ALPHA-TRX915S, 915 MHz
- Microchip MRF89XAM8A, 868 MHz
- Microchip MRF89XAM9A, 915 MHz
Por lo que he leído, todos estos módulos operan en bandas no reguladas por la FCC y deben ser seguros de usar. Los módulos Alpha anuncian un rango de 300 m, pero no puedo entender cuál sería el rango máximo esperado de los módulos Microchip. ¿Cómo haría para calcular esto?
Además, dado que tengo mi elección de bandas, ¿cuál debo elegir y por qué (es decir, qué obtengo de 915 MHz a 433 MHz y qué pierdo)? En orden de qué parámetros consideraría más importante:
- De baja potencia
- Rango de transmisión (más es mejor, dentro de lo razonable)
- Inmunidad a otros factores ambientales (es decir, redes wifi / celulares, hornos microondas, paredes / obstáculos físicos, temperatura, etc.). El uso objetivo es en un entorno residencial y es probable que haya variaciones significativas de temperatura (digamos -20 ° C a 50 ° C).
- Velocidad de datos. Esto no es terriblemente importante ya que espero muy pocos datos por muestra (pocos bytes como máximo).
Otra pregunta que tengo es cómo manejar múltiples módulos que intentan transmitir datos al mismo tiempo. Tengo algunas ideas sobre cómo mitigar esto, pero no estoy seguro con qué solución proceder:
Use un desplazamiento de tiempo aleatorio para cuando se transmiten los datos. La esperanza es que las colisiones simplemente se eviten. Este probablemente sería el más simple de implementar y potencialmente usará la menor potencia. Sin embargo, esto no garantiza que no habrá colisiones. Además, obtener una buena fuente de aleatoriedad o una semilla pseudoaleatoria única puede causar problemas, aunque no son irresolubles.
Al despertar e intentar transmitir, verifique si hay alguna transmisión actualmente en progreso. Simplemente espere el final de la transmisión antes de enviar datos. El problema se convierte entonces en cómo manejo múltiples sensores en el estado de espera, ya que potencialmente ambos podrían decidir que la última transmisión ha finalizado y ambos comenzarán a transmitir al mismo tiempo.
Alguna otra solución.