Melhor escolha para comunicação sem fio de baixo consumo e curto alcance

9

Estou trabalhando em um projeto que depende da comunicação sem fio e estou procurando a melhor alternativa. Estes são os requisitos de design:

  • É fácil interagir com o Arduino
  • Funciona em uma pequena faixa (5-6 metros no máximo)
  • Consome pouca energia - o mínimo possível
  • Os dispositivos não devem interferir entre si
  • Não precisa ser em tempo real, o atraso pode ser da ordem de centenas de milissegundos
  • Em geral, os dispositivos não estão à vista um do outro (o que significa que soluções de IR e similares não funcionam)

O cenário é:

Cerca de 10 dispositivos na mesma sala, comunicando-se, enviando mensagens curtas (no máximo 30 caracteres) entre si de vez em quando, por algumas horas (sem trocar as pilhas).

O melhor que pude encontrar é o Bluetooth (BLE, especificamente), principalmente porque existem alguns módulos Arduino + Bluetooth prontos e a promissora etiqueta "Low Energy" (no máximo metade do consumo de energia do Bluetooth normal), mas eu Gostaria de ter uma opinião de pessoas com mais experiência neste campo.

Giulio Muscarello
fonte
2
Eu voto no Bluetooth.
Nidhin 13/06
Dê-nos algumas informações sobre o que você decidiu não usar e sua lógica.
Jason_L_Bens 13/06
5 a 6 metros no máximo - o bluetooth pode funcionar além disso - é 6m o absoluto não deve ultrapassar o limite? Muito pouco poder - que tal nomear e envergonhar alguns números aqui? Não devem interferir um com o outro - o que isso significa exatamente?
Andy aka
@Andyaka: Não, o que quero dizer é que os dispositivos terão no máximo 6 metros de distância, portanto, não há necessidade de suportar distâncias maiores. Quanto à "pouquíssima energia", planejo executar cada dispositivo (módulo Arduino + LCD + sem fio) em uma ou duas pilhas AA, no máximo, e esses dispositivos devem poder se comunicar por pelo menos uma hora sem trocar as pilhas.
Giulio Muscarello
11
Soa como uma piconet Bluetooth para mim.
Ignacio Vazquez-Abrams

Respostas:

3

Dê uma olhada na linha de tranceivers XBee . Existem vários tipos, dependendo da faixa de transmissão e da potência desejada.

Esses dispositivos também fazem interface com os projetos do Arduino quase trivialmente. A Serialbiblioteca utiliza o hardware UART do AVR, que é diretamente compatível com o pino Rx do XBee. Observe também que não são necessários shifters de nível porque o pino XBee Rx / Tx funciona com 5V!

Observe , no entanto, que o XBee deve ser alimentado com 3,3V, para que um simples regulador de tensão LDO de 3,3V possa ser usado.

sherrellbc
fonte
2

"Melhor" é difícil de definir, mas eu procuraria em um transceptor IEEE 802.15.4.

Usei um MRF24J40MA para um projeto ( https://github.com/briksoftware/gradusnik ). Você pode tentar ver se há algum código que você pode usar lá. O projeto é para o PIC, mas muitas coisas são realmente independentes da plataforma (especialmente os outros projetos dos quais depende).

O módulo consome cerca de 20mA em rx / tx, o que não é muito. No entanto, para obter um longo tempo de bateria, é necessário colocar o módulo em repouso a maior parte do tempo. Você pode usar uma rede habilitada para beacon para isso, com um dispositivo atuando como coordenador. O módulo consome alguns µA no modo de suspensão (verifique a folha de dados para ver os números exatos)

O único problema de interface com um Arduino é que você precisa de um shifter de nível 5-> 3.3 (se o Arduino ainda usa 5v).

Outro transceptor popular para o protocolo IEEE 802.15.4 é o módulo XBee, mas é muito mais caro.

Bitgamma
fonte
2

Não o vejo como um problema sem fio, mas como um problema de protocolo.

Se a conservação da bateria é o nome do jogo e se um dispositivo pode, por meio da programação apropriada, adotar o papel de "mestre" temporário, é possível atribuir um intervalo de tempo a cada outro dispositivo. Depois que a alocação é feita, o mestre temporário pode voltar a ser um par, mas o importante é que uma estrutura de intervalos de tempo tenha sido criada e todos os pares terão comprado nessa estrutura.

O que isso faz? Ter um intervalo de tempo significa que você pode desligar o rádio por centenas de milissegundos e acordar para ver se há uma transmissão em andamento que se pretende receber. Quando um colega acorda, ele precisa esperar para ver se algum dos outros oito colegas está enviando uma mensagem para ele. O tempo é crítico, mas se você deseja uma bateria de longa duração, concentre-se no protocolo. Esta resposta é apenas um sopro de uma idéia. O intervalo de tempo de ativação será subdividido em 8 outros slots que cada um dos outros 8 pares estão alocados para transmitir e, se um estiver transmitindo, os outros poderão ouvir primeiro para verificar se eles podem transmitir. Algo assim: -

insira a descrição da imagem aqui

O slot "próximo" permite que novos colegas ingressem no grupo.

Transceptores de baixa potência são um lugar comum, então não vou investigar isso.

Andy aka
fonte
2

Experimente os módulos baratos de 433 mhz txrx. eles são úteis e podem ser facilmente conectados ao arduino. Eu os uso para meus projetos pessoais de robótica de hobby.

Haresh K Miriyala
fonte
2

Só por curiosidade, por que o módulo transceptor sem fio NRF24L01 2.4GHz não foi mencionado? É uma unidade de baixa potência, pode ser alternada para o modo de espera para um consumo ainda mais baixo. Ele funciona com 3.3v, então pode usar um arduino de baixa potência ou um divisor, e o melhor de tudo é bem barato?

Aqui está a página do produto nRF24L01 +, juntamente com um manual de instruções nRF24L01 +, que contém informações sobre a interface de um para um Arduino junto com o código de exemplo.

NZM
fonte
0

O RFM12B vem à mente ..

http://www.hoperf.com/rf/fsk_module/RFM12B.htm

Algumas funcionalidades:

  • Interface compatível com SPI
  • Alta taxa de dados (até 115,2 kbps no modo digital)
  • Fonte de alimentação 2.2V-3.8V
  • Sintonização automática da antena
  • Dados RX de 16 bits FIFO
  • Desvio de frequência TX programável (de 15 a 240 kHz)
  • Largura de banda do receptor programável (de 67 a 400 kHz)
  • Indicador de intensidade de sinal analógico e digital
  • Saída de sinal de relógio e redefinição para uso externo do MCU

A interface de comunicação SPI deve ser razoavelmente configurada com o Arduino.

Atualmente, o modelo RFM12B-S2 é vendido por menos de US $ 7.

CAPTCHA
fonte