Como comunicar arduino com computador sem fio?


#1

Olá pessoa, queria saber de forma prática se é possível comunicar o arduino com o computador através de alguma interface sem fio, se tiverem alguma dica ou souber algum módulo que funcione, fico grato. Atualmente estou usando um arduino nano mas tambem possuo o arduino uno, se souberem algum modulo que se comunique fácil, fico grato.

Pretendo colocar um sistema mais simples possível de “reconhecimento de presença” digamos assim. Quando o controlador verificar que existe presença no ambiente, enviar um sinal para o computador através da interface sem fio.


#2

A comunicação mais simples entre dois arduinos sem fio é o shield wifi Nrf24l01, ele é melhor porque é transceptor, funciona tanto como transmissor como receptor (é preciso no mínimo 2 deles).
Mas se você quer conversar o arduino com o computador, é diferente. Quando é ligado um arduino pelo cabo USB, na verdade a comunicação entre ele e o computador é feita na porta serial, por isso a utilização do serial monitor, para exibir o terminal da serial que o arduino está conectado na tela. Inclusive através de um cliente SSH como o Putty, você pode se comunicar com o arduino ligado através da porta USB/Serial.
O modo mais fácil de falar com o computador é fazer com que ele seja reconhecido na rede e através de protocolos HTTP(web, qualquer navegador interpreta), para isso é preciso do ethernet shield, eu comprei um ethernet shield W5100 (os muito baratos são imitações do original), mas não consegui fazer com que ele seja reconhecido na rede, acredito que a peça que comprei esteja com defeito. Esse shield atribui um endereço IP para o arduino na rede local, e também possui funções para hospedar um servidor web, e agir como um cliente web.
No seu caso esse ethernet shield resolveria porque você pode se comunicar com a API do twitter, e enviar notificações direto para uma conta do twitter. Eu não testei se funciona isso, porque como eu disse o shield ethernet está com defeito, mas verifica as informações deste link para ter uma idéia do que você pode fazer: http://www.mmaciel.com.br/tutorial/tutorial-usando-twitter-library-arduino-oauth/

Att,
Diego A. R.


#3

Olá Diego, primeiramente obrigado por responder. quando você fala em "A comunicação mais simples entre dois arduinos sem fio é o shield wifi Nrf24l01, ele é melhor porque é transceptor, funciona tanto como transmissor como receptor (é preciso no mínimo 2 deles). "

Nesse trecho eu entendi que ele consegue se “comunicar” enviando dados através da rede sem fio, entre arduino e computador. Mas, você posteriormente escreveu “se você quer conversar o arduino com o computador, é diferente. Quando é ligado um arduino pelo cabo USB, na verdade a comunicação entre ele e o computador é feita na porta serial…”

Me tira uma dúvida, já vi vários projetos onde o arduino envia informações para um computador sem necessariamente estar na rede ethernet (com o shield que você havia citado) e consegue enviar e receber informações.

Minha principal vontade é colocar um arduino nano em uma patola que vai ficar “escutando” se vai haver presença, através de um sensor e com isso, disparar alguma informação para o computador. Repetindo, vou analisar esse shield/modulo do ethernet e ver se dá para fazer algo.


#4

Este shield Nrf24l01 não se comunica com o computador direto e nem com roteador, ele não tem o procolo de redes (802.11 A/B/G). Ele se comunica somente através de radiofrequência (RF), igual a um teclado sem fio.
Para poder usar tem que ter um arduino ligado com o Nrf24l01, e este arduino conectado com o computador, ai ele pode se comunicar com outro arduino longe dele que também tenha o shield Nrf24l01.
Pode se colocar um arduino + sensor + Nrf24l01, para detetectar a presença e enviar os sinais, e outro arduino+sensor+Nrf24l01, para receber os sinais enviados para o sensor e mostrar na tela. Mas só funciona a saída no serial monitor do compilador do arduino. Não é um projeto final, é apenas para experiência, porque primeiro o alcance do Nrf24l01 não é muito longe, e segundo o computador tem de ficar ligado.


#5

Filhow, já pensou em deixar um Arduino+Nrf24l01 (o que fica escutando) ligado no computador ?
Assim o Nano+Nrf24l01 (o que fica mandando) pode transmitir um sinal para o outro Arduino, esse por sua vez manda pro PC via USB (serial).

Se tiver dúvida quanto ao funcionamento do módulo, dá uma olhada nesse artigo:
http://buildbot.com.br/blog/comunicacao-wireless-com-o-modulo-nrf24l01/


#6

Se precisar ser barato tem as opções do bluetooth JY-MCU(hc-05) ou WIFI ESP8266. Abraço.


#7

Utilize os shields bluetooth HC-05 ou HC-06.
Sendo que o HC-05 reconhece um maior número de clientes (modelos e fabricantes).

Abraços


#8

Pessoal estou com um problema e muitas dúvidas.Tenho um projeto de automação residencial no qual tenho a seguinte estrutura:
1 Arduino MEGA 2560 como central de controle. Conectada a ele um Shield de ethernet + LCD + nRF24L01.
1 ou mais (n) Garaginos que comprei para cada ponto que quero controlar remotamente. Conectado a ele 1 módulo nRF24L01 + 1 ou mais sensores/reles, para controlar o que for necessário.
O meu problema: no arduino MEGA onde tem o shield ethernet pelo que pesquisei, já muda a maneira como os pinos devem ser ligados tanto para o nRF24L01 quanto para o LCD pois o shield ethernet causava interferência no LCD e no caso do modulo RF ele utiliza a porta SPI nativa do arduino, impedindo a utilização dessa porta por outros modulos.
Está difícil de encontrar alternativas na internet para fazer todas essas conexões. Algumas alternativas que minhas pesquisas indicaram: conectar o LCD utilizando um módulo Serial que reduziria a utilização de pinos. E também utilizar um módulo serial específico para o nRF24L01. Também achei um material que fala sobre conexão desse modulo RF utilizando SPI por software.
Mas juntar todas essas informações e fazer funcionar é outra história… rs
Estou com dúvidas de qual biblioteca utilizar, como fazer o ajuste dos pinos que terei que mudar, como dizer isso a biblioteca… em fim.
Alguém teria a bondade de me dar uma orientação? Se puder pode até ser pelo skype. Pois assim fica mais fácil explicar e mostrar o projeto no detalhe.

Desde já agradeço a ajuda.
Abs!


#9

Você já sabe o seu problema: Basta mudar os pinos de cada módulo.
para o nRF24L01 e o LCD: praticamente qualquer biblioteca você pode configurar os pinos.
O ethernet acho difícil você mudar, mas alterando os outros dois…


#10

Obrigado a todos pelas respostas. Vou replicar algumas sugestões, detalhes do projeto e dicas que achei na internet:
1 - Módulo Bluetooth estou descartando pois com certeza o alcance será menor ainda que o nRF24L01.
2 - Não pretendo usar o ESP8266 para conectar por WiFi pois também qnão quero ficar refém de WiFi. Quero uma conexão entre arduinos isolada e independente de tudo.
3 - O problema do LCD ja resolvi, comprei um modulo serial IC2 para o LCD e agora ele utiliza apenas 2 pinos =D
4 - O grande problema continua sendo utilizar o nRF24L01. Encontrei um site que tem uma biblioteca que é centrada nesse modulo para o propósito que desejo, masss ainda assim não sei qual o pino certo de colocar pois não tem nenhum exemplo conectando no arduino MEGA2560. Segue: http://www.mysensors.org/about/components (vale a pena conhecer)
5 - Comprei no Aliexpress um suposto conversor de conexão SPI para IC2 especialmente desenvolvido para o nRF24L01, aqui: (http://pt.aliexpress.com/item/OneWorld-ATMEGA48-With-NRF24L01-Chip-Wireless-Shield-Module-SPI-To-IIC-I2C-TWI-Interface/32284040030.html)

6 - Apenas uma observação: com o nRF24L01 o computador não precisa ficar ligado não. Se comunicam sozinhos.

Espero que quando chegar consiga fazer funcionar…
Abraço a todos

Obrigado.
Att
Raphael Trajano


#11

Você pode usar uma rede wifi própria direito do ESP8266.