Menu Navegação



Logar
Usuario:
Senha:

sexta-feira, 8 de setembro de 2017

Arduino UNO + ESP8266 através do servidor da nuvem

Conectando-se através de um servidor em nuvem, o RemoteXY permite administrar o dispositivo em qualquer lugar do mundo, onde existe Internet.
O módulo ESP8266 será configurado como um cliente para se conectar a um ponto de acesso Wi-Fi. O ponto de acesso deve ter uma conexão com a Internet. A biblioteca RemoteXY garantirá o registro do dispositivo no servidor da nuvem.
O aplicativo móvel se conectará ao servidor da nuvem e não ao dispositivo diretamente. Assim, o dispositivo estará disponível em qualquer lugar da Internet.
Aviso prévio. Neste tomo, a conexão através do servidor da nuvem passa a fase de teste. Isso pode resultar em interrupções do servidor.

Passo 1. Criar um projeto de interface gráfica de usuário

Digite o editor RemoteXY. Defina um botão no campo do smartphone. Destaque este botão e, em seguida, selecione a propriedade "Ajustar para pino" para o valor 13 (LED) no painel direito da guia "Elemento".

Etapa 2. Configure o projeto

No painel direito, selecione as seguintes configurações na guia "Configuração".

No painel direito, defina as seguintes configurações na guia "Interface do módulo".

As configurações indicam que o ESP8266 se conecta ao Arduino através do hardware Serial (contatos 0 e 1) a uma velocidade de 115200.
Nas configurações, também especifique o nome e a senha do seu ponto de acesso, para o qual o módulo deve ser conectado. O ponto de acesso deve ter uma conexão com a Internet.

Etapa 3. Criar um token de dispositivo

Pressione o botão "Meus tokens". Para registrar o token do dispositivo, é necessário registrar no site.

Aviso prévio. Cada dispositivo que está registrado no servidor de nuvem RemoteXY, deve ter um token registrado exclusivo. Para se conectar ao dispositivo a partir de um aplicativo móvel, você também deve especificar esse token. Os tokens são criados no gabinete pessoal do site RemoteXY.
Na lista dos tokens, pressione o botão "Criar novo token". Na janela que se abre, especifique o nome do dispositivo para o qual o token é criado e selecione um dos servidores de nuvem disponíveis. Em seguida, pressione o botão "Criar".
Um novo token deve aparecer na lista de tokens.

Aviso prévio. Na lista de tokens do dispositivo na sua conta, você pode monitorar o status do seu dispositivo na coluna "Status do dispositivo". O status pode ser um dos três seguintes:
  • Desconectado - o que significa que o dispositivo não está conectado ao servidor da nuvem;
  • Conectado - o que significa que o dispositivo foi registrado no servidor da nuvem e está pronto para se conectar a partir do aplicativo móvel;
  • Usado - o que significa o fato de que o dispositivo é usado pelo aplicativo móvel;
  • - o que significa que o servidor da nuvem não está disponível.
Retorne ao editor e selecione o token recentemente gerado no campo "Token".

Passo 4. Obter o esboço para o Arduino

Pressione o botão "Obter código fonte".
Na página aberta com o código-fonte do esboço, baixe-o para o seu computador (o link "Download do código") e abra-o no Arduino IDE.
Além disso, baixe a biblioteca RemoteXY (link "Download Library") desta página. A biblioteca sendo instalada corretamente, o código-fonte para o esboço deve ser compilado sem erros.

Etapa 5. Configure o ESP8266

O módulo ESP8266 precisa ser configurado. Seu módulo pode já ter as configurações padrão necessárias, mas é recomendável verificar.
Você precisa verificar o seguinte:
  • O módulo possui um firmware que suporta a versão de comandos AT não inferior a v0.40;
  • O módulo está configurado para uma velocidade de 115200.

Passo 6. Conecte o ESP8266 ao Arduino Uno

Conecte o ESP8266 ao Arduino Uno de acordo com o diagrama abaixo. Observe que os contatos RX-TX estão conectados por um fio cruzado.
Uma vez que os níveis de sinal do módulo ESP8266 são 3.3V e no Arduino são 5V, é necessário usar um divisor de tensão resistivo para converter o nível do sinal.

Passo 7. Faça o download do esboço no Arduino

O esboço é carregado no Arduino da maneira normal. No entanto, a programação não é possível porque o módulo ESP8266 está conectado aos terminais 0 e 1. O compilador mostrará um erro.
Antes da programação, desconecte os fios indo para o ESP8266 dos pinos 0 e 1. Cumpre a programação. Em seguida, coloque os contatos de volta. Pressione o botão reiniciar Arduino.
Aviso prévio. O cintilar do LED azul no módulo ESP8266 imediatamente após a reinicialização é considerado o primeiro sinal confirmando o fato de que a programação foi bem sucedida. O piscar do LED azul significa a troca de dados entre o Arduino e o ESP8266. Nesses segundos, o Arduino configura o ESP8266 para se conectar ao ponto de acesso. Depois de um tempo, o LED pisca novamente, o que significa que está tentando ser registrado no servidor RemoteXY baseado na nuvem.

Passo 8. Conecte-se a partir do aplicativo móvel

Instale o aplicativo móvel RemoteXY em seu smartphone / tablet.
No aplicativo, pressione o novo botão de conexão, selecione a conexão "Servidor de nuvem". Na janela que se abre, insira o token do dispositivo que foi registrado na etapa anterior. Além disso, verifique se o URL do servidor em nuvem e a porta de conexão estão corretos.
Clique no botão "Conectar".

Se não houver conexão ...

Verifique a conexão do seu dispositivo com o servidor da nuvem

Vá para a lista de tokens no gabinete pessoal do site RemoteXY. Na lista de tokens, encontre o valor na coluna "Status do dispositivo". Se o dispositivo estiver conectado ao servidor da nuvem, o valor deve ser "Conectado". Tente atualizar a página.
Pode levar até um minuto para se conectar a um servidor em nuvem após iniciar o dispositivo.
Se o dispositivo estiver conectado a um servidor em nuvem, mas o aplicativo móvel não se conecta, verifique se o token no aplicativo móvel está correto.
Se o dispositivo não se conectar ao servidor em nuvem, o erro deve ser pesquisado no próprio dispositivo ou suas configurações.
Aviso prévio. Se o aplicativo móvel não conseguir se conectar ao servidor em nuvem, uma caixa de diálogo com uma descrição do erro será exibida. Os principais erros são os seguintes:
  • O token não está registrado no servidor - o que provavelmente significa que você especificou o token incorretamente.
  • O dispositivo não está conectado ao servidor - por algum motivo o dispositivo não se conecta, pode haver um erro nas configurações de dispositivo.

Verifique a disponibilidade de um programa devidamente carregado

Abra o Monitor Serial e ajuste a velocidade para 115200. Pressione o botão de reinicialização na placa Arduino.
Se não houver mensagens após a reinicialização Arduino no Monitor Serial, isso provavelmente significa que o Arduino não executará seu programa. Possivelmente:
  • O esboço necessário não foi baixado;
  • Seu Arduino não está ligado;
  • O Serial Monitor não está conectado ao Arduino;
  • Há algo de errado com seu Arduino.

Verifique a conexão entre o Arduino eo ESP8266

Se, após a reinicialização Arduino no Monitor Serial, você ver a seguinte seqüência de comandos, isto significa que a inicialização ESP8266 é bem-sucedida e existe uma conexão entre o Arduino e o ESP8266, o dispositivo foi registrado no servidor.

AT 
AT+RST 
ATE0 
AT+CWMODE=1 
AT+CWQAP 
AT+CWDHCP=1,1 
AT+CWJAP="MySSID","MyPassword" 
AT+CIPMODE=0 
AT+CIPMUX=1 
AT+CIPSTART=0,"TCP","cloud.remotexy.com",6376 
AT+CIPSEND=0,44 
UxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAT+CIPSEND=0,6 
Uxxxxxx  
Se você ver apenas comandos repetidos de "AT", isso significa que não há conexão entre o Arduino e o ESP8266.

AT  
AT  
AT  
AT  
Pode haver vários motivos para o erro de conexão. Os principais são listados abaixo:
  • Os contatos RX e TX não estão conectados corretamente, os contatos são invertidos ou não estão conectados aos contatos diretos ou não estão conectados;
  • Não há fonte de alimentação para o ESP8266, quando a alimentação é fornecida ao ESP8266, o LED vermelho deve estar aceso;
  • Não há suficiente alimentação de 3.3 V para o ESP8266;
  • O módulo ESP8266 está com defeito.

Verifique se o ESP8266 está conectado ao ponto de acesso

Se, após a reinicialização do Arduino no Monitor Serial, você ver uma seqüência de comandos, mas o último comando é AT + CWJAP e, em seguida, nada acontece, significa que o módulo não pode ser registrado em sua rede Wi-Fi com o SSID e a senha especificados:

AT 
AT+RST 
ATE0 
AT+CWMODE=1 
AT+CWQAP 
AT+CWDHCP=1,1AT+CWJAP="MySSID","MyPassword" 

Verifique se o ESP8266 está conectado ao servidor da nuvem

Se, após a reinicialização Arduino no Monitor Serial, você ver uma seqüência de comandos, mas o último comando que você vê é AT + CIPSTART e, em seguida, repete periodicamente cerca de uma vez por minuto, significa que o servidor da nuvem não está disponível. O URL do servidor ou da porta pode estar incorreto. Possivelmente, seu ponto de acesso Wi-Fi não está conectado à Internet.

AT 
AT+RST 
ATE0 
AT+CWMODE=1 
AT+CWQAP 
AT+CWDHCP=1,1 
AT+CWJAP="MySSID","MyPassword" 
AT+CIPMODE=0 
AT+CIPMUX=1 
AT+CIPSTART=0,"TCP","cloud.remotexy.com",6376 
AT+CIPSTART=0,"TCP","cloud.remotexy.com",6376 
AT+CIPSTART=0,"TCP","cloud.remotexy.com",6376 
Se dois comandos AT + CIPSTART e AT + CIPSEND forem repetidos pelo menos uma vez por minuto, isso significa que o servidor está disponível, mas o token foi rejeitado pelo servidor como um não registrado.

... 
AT+CIPSTART=0,"TCP","cloud.remotexy.com",6376 
AT+CIPSEND=0,44  
AT+CIPSTART=0,"TCP","cloud.remotexy.com",6376 
AT+CIPSEND=0,44  
AT+CIPSTART=0,"TCP","cloud.remotexy.com",6376 
AT+CIPSEND=0,44  

Verifique o firmware ESP8266

Se, depois de reiniciar o Arduino no Monitor Serial, você vir apenas o início da seqüência de comando, também pode significar que o módulo ESP8266 possui um firmware obsoleto. A atualização do firmware é necessária.

Verifique a fonte de alimentação para o ESP8266

É possível que o seu ESP8266 não tenha alimentação suficiente. Alguns cartões Arduino têm um regulador de tensão fraco de 3.3V, que não é capaz de fornecer 200-300mA nos modos de pico. Neste caso, você também verá uma interrupção na sequência de comandos no Serial Monitor. É possível que os cabos de conexão de energia sejam muito longos ou muito finos.

1 Comentários:

Às 2 de maio de 2020 às 07:15 , Blogger Unknown disse...

Muito bom o artigo! Ajudou bastante
Quais são as funções do UNO q usa? Pode ser o mais básico deles desde que aceite o módulo em questão?

 

Postar um comentário

Assinar Postar comentários [Atom]

<< Página inicial

Criação: Html Apache com PHP e Linguagem MySQL - © Copyright 2000 - 2010, Carlos Alberto dos S. Filho