Estou projetando módulos sensores de baixa potência que serão espalhados por uma área razoavelmente pequena. Os módulos são todos alimentados por bateria e devem operar por um período decentemente longo sem precisar recarregar / substituir as baterias (quanto mais, melhor, pense pelo menos algumas semanas, se não meses ou anos). A idéia é que a cada meia hora ou hora o módulo saia do modo de baixa energia, colete algumas amostras e transmita os dados para um data logger central. O data logger central provavelmente será alimentado na parede, portanto o consumo de baixa energia não é tão necessário. Não espero que nenhum módulo esteja a mais de 100 metros do registrador central, provavelmente muito menos.
Eu identifiquei alguns módulos possíveis de transceptores que potencialmente poderiam funcionar:
- ALPHA-TRX433S, 433 MHz
- ALPHA-TRX915S, 915 MHz
- Microchip MRF89XAM8A, 868 MHz
- Microchip MRF89XAM9A, 915 MHz
Pelo que li, todos esses módulos operam em bandas não regulamentadas pela FCC e devem ser seguros. Os módulos Alpha anunciam alcance de 300m, mas não consigo descobrir qual seria o alcance máximo esperado dos módulos de microchip. Como eu calcularia isso?
Além disso, como tenho minha banda escolhida, qual devo escolher e por quê (ou seja, o que eu ganho de 915 MHz acima de 433 MHz e o que eu perco)? Em ordem de quais parâmetros eu consideraria mais importante:
- De baixa potência
- Faixa de transmissão (quanto mais, melhor, dentro da razão)
- Imunidade a outros fatores ambientais (por exemplo, redes wifi / célula, fornos de microondas funcionando, paredes / obstáculos físicos, temperatura, etc.). O uso alvo é em um ambiente residencial e provavelmente haverá variações significativas de temperatura (por exemplo, -20 ° C a 50 ° C).
- Taxa de dados. Isso não é muito importante, pois espero muito poucos dados por amostra (no mínimo, alguns bytes).
Outra pergunta que tenho é como lidar com vários módulos tentando transmitir dados ao mesmo tempo. Tenho alguns pensamentos sobre como mitigar isso, mas não tenho certeza de qual solução prosseguir:
Use um deslocamento de tempo aleatório para quando os dados forem transmitidos. A esperança é que as colisões sejam simplesmente evitadas. Isso provavelmente seria o mais simples de implementar e potencialmente consumirá menos energia. No entanto, isso não garante que não haverá colisões. Além disso, obter uma boa fonte de aleatoriedade ou semente pseudo-aleatória exclusiva pode causar problemas, embora não seja insolúvel.
Ao acordar e tentar transmitir, verifique se há alguma transmissão atualmente em andamento. Basta aguardar o final da transmissão antes de enviar dados. O problema passa a ser a forma como ligo com vários sensores no estado de espera, pois eles podem decidir que a última transmissão terminou e começar a transmitir ao mesmo tempo.
Alguma outra solução.