por polesapart » 26 Abr 2014 19:52
Eu brinquei com rádios 802.15.4 (a parte low-level do protocolo usado pelo zigbee, 6lowpan e afins; tem vários fabricantes que tem rádios compatíveis, embora a programação de cada um seja diferente), e tbm comprei outros com esse nrf24l01+ (nesses sites chineses tipo dx.com e goodluckbuy.com tem a preço de banana, só que demora pra chegar até o br, goodluckbuy geralmente chega em 3 semanas, dx pra mim tem demorado horrores), mas não cheguei a plugar esses últimos pra brincar.
Os radios 802.15.4 tem uma coisa bacana, ele transmite pacotes grandes (não lembro o valor exato, mas acho que eram + de 200 bytes), faz a detecção de colisão, retransmissão e checksumming sozinhos, e tem todo o esquema de tratamento de endereços, broadcast, grupos por firwmware interno ao rádio. Então voce pode implementar um protocolo pra mesh (usar intermediarios, como você quer) bem simples com a ajuda dele, sem precisar apelar pra uma pilha zigbee (o firmware pra zigbee é enorme, a maioria das opções são licenciadas mediante algum custo extra).
Uma opção no firmware do radio que eu usei dava a media de "qualidade" de sinal recebida durante o pacote. Dá pra usar essa informação pra criar uma tabela de melhor rota entre dispositivos, e ir atualizando essa tabela conforme a rede mude (voce pode trocar a localização física de alguns desses rádios, ou surgir alguma interferência, sei lá).
O nrf24l01 eu só li o datasheet, na época. Lembro que ele tinha detecção de colisão e retransmissão por firwmare tbm, mas os frames eram pequenos, 32 bytes eu acho. Acho que ele também fazia checksum dos dados. Não creio que ele tenha uma lógica de tratamento de endereços, pelo menos no modo que lembro era tipo broadcast, você seleciona o canal de rádio e todo mundo naquele canal suficientemente perto recebe a mesma transmissão, mas isso vc cria no próprio stream de dados um ou mais bytes pra identificar o destino. Um amigo brincou com um par e tava dando pulos de alegria com a distância que os bichos pegavam, acho que ele queria fazer uma rede com retransmissão e nem precisou. Mas não sei detalhes.
Ambos tem um consumo de energia bem baixo, então vc pode por repetidores a bateria espalhados pelo perímetro. Boa sorte!
Warning: time of day goes back (-163479us), taking countermeasures.
