- Descrição: O Módulo Bluetooth possibilita transmitir e receber dados através…
Blynk – Problema na conexão USB com Arduino (Connecting / Redirecting)
O uso do Blynk com o Arduino através da conexão USB Serial é algo bem simples de ser implementado e funciona perfeitamente. Contudo, algumas pessoas enfrentam o problema de não conseguir conexão entre o app instalado no dispositivo móvel e o Arduino. Nesta postagem vou mostrar a causa desse problema e mostrar a solução.
Caso ainda não conheça o Blynk, recomendo que leia a postagem Conhecendo o Blynk, pois nela apresentei a ferramenta, mostrei as opções de configurações, mostrei as funções básicas e ensinei a instalar o pacote de bibliotecas na IDE do Arduino. Recomendo também que leia a postagem Blynk – Executando os Primeiros Projetos com Arduino para que possa executar algumas práticas simples e se familiarizar com a ferramenta.
Na postagem “Blynk – Controle do Arduino pela Internet usando a conexão USB” foi ensinado a conectar o Arduino a internet utilizando um cabo USB com a finalidade de comunicar a placa com o Blynk e fazer o controle de um LED através do smartphone ou tablet.
Para conectar o Arduino ao Blynk através do cabo USB, é necessário um computador que tenha acesso à internet e este computador deverá ter a IDE do Arduino instalado e a biblioteca Blynk instalada na IDE. Neste tipo de implementação, a serial do Arduino vai se manter ocupada 100% do tempo enquanto o terminal de comunicação com o Blynk estiver sendo executado.
Mesmo a serial do Arduino se mantendo ocupada, é possível ver o que está sendo impresso nela, contudo, é necessário o uso de uma biblioteca (SoftwareSerial) para emular uma segunda conexão serial através dos pinos do Arduino. Além disso, é necessário também o uso de um adaptador usb serial para ser conectado ao Arduino e ao computador.
O interessante de ver o que está sendo impresso na serial é que em caso de algum problema de conexão com o Blynk, vai ficar mais fácil de você identificar a causa e buscar uma solução.
OBS: mesmo que você não tenha um adaptador usb serial e também não conseguiu comunicar o Arduino com o Blynk através da conexão USB, recomendo que leia a postagem até o final, pois a solução que apresentei pode resolver o seu problema.
Nos testes que eu vinha fazendo entre o Arduino e o Blynk se comunicando através da conexão USB Serial, tive muito problema para estabelecer a conexão entre a placa e o app no meu smartphone. Fiz bastantes pesquisas, inclusive na Comunidade do Blynk e encontrei pessoas com o mesmo problema, porém, não achei uma solução.
No app Blynk em meu smartphone a conexão só ficava offline:
Depois de não conseguir nenhum progresso, resolvi conectar um adaptador usb serial ao Arduino e verificar através quais informações estavam sendo impressas na comunicação da placa com o servidor Blynk.
Para verificar as informações impressas na serial, você vai precisar do Arduino Uno R3 com Cabo USB e:
01 – Adaptador Conversor USB Serial TTL PL2303HX
02 – Cabos Jumper macho-fêmea
Monte o esquema de ligação conforme a imagem abaixo:
Você pode utilizar outro modelo de adaptador usb serial caso não tenha o PL2303HX.
OBS: os terminais 3V3 / GND / 5V do adaptador usb serial não devem ser conectados ao Arduino.
Conecte uma ponta do cabo usb ao Arduino e a outra ponta conecte ao computador. Conecte o adaptador usb serial ao computador.
Em seguida acesse o “Painel de Controle” do Windows, “Gerenciador de Dispositivos”, e na janela que abrir vá até “Portas (COM e LPT)”. Você poderá ver os dispositivos conectados e o número da porta COM em que cada um deles foi alocado:
Se estiver utilizando o PL2303HX e o mesmo não estiver sendo reconhecido pelo o Windows, acesse a postagem Conversor USB Serial TTL PL2303HX – Instalação no Windows 10, veja como resolver e em seguida retorne para continuar.
A partir daqui é ideal que o seu Arduino já esteja com o código “Arduino_Serial_USB” e a IDE esteja com a opção “Blynk: Run USB script” habilitada. Se nenhuma das duas condições estiverem satisfeitas, clique “AQUI”, leia a postagem e em seguida retorne para continuar.
Para ver as informações impressas na serial, vamos utilizar o Termite. Faça o download do programa no link abaixo:
Feito o download, faça a descompactação do arquivo e a pasta Termite vai ser gerada. Abra a pasta e execute o termite.exe. Com o programa aberto, clique na opção “Settings” e na janela de configurações selecione as opções conforme a imagem abaixo e clique em OK:
OBS: na opção ‘Port’, você deverá selecionar a porta COM em que seu adaptador usb serial está conectado.
Caso as configurações do Termite estejam corretas e a comunicação serial esteja funcionando, você vai ver sendo impresso no terminal as informações conforme a imagem abaixo:
Abra a IDE do Arduino, acesse o menu “Ferramentas” e selecione a opção “Blynk: Run USB script”:
Em seguida será aberto um terminal similar ao da imagem abaixo:
Retorne ao Termite e veja que as informações apresentadas serão similares a da imagem abaixo:
Veja que na serial é impresso constantemente as informações:
Connecting…
Redirecting to 45.55.96.146:80
Connecting…
Redirecting to 45.55.96.146:80
OBS: pode ser que na serial mostre um IP diferente do 45.55.96.146.
Por algum motivo o redirecionamento não é executado e a tentativa de conexão entra em um loop.
Feche a janela do terminal e mantenha o Termite aberto.
Em seu computador, vá até a pasta em que está instalado as bibliotecas do Blynk. As bibliotecas Blynk poderão estar instaladas no caminho “C:\Program Files (x86)\Arduino\libraries” ou no caminho “C:\Users\SEU NOME OU MEUS DOCUMENTOS\Documents\Arduino\libraries”.
Acesse o caminho “Blynk” e “scripts”. Dentro desta pasta há o arquivo “blynk-ser.bat”.
O “blynk-ser.bat” é o executável que é carregado quando clicamos no “Blynk: Run USB script” lá na IDE do Arduino.
Para abrir e editar este tipo de arquivo podemos usar o bloco de notas padrão do Windows, contudo, recomendo que você baixe e instale o Notepad++:
Em seguida, clique com o botão direito do mouse sobre o “blynk-ser.bat” e selecione a opção “Edit with Notepad++”:
O “blynk-ser.bat” vai ser aberto no editor.
Veja que há as seguintes linhas:
6 set COMM_PORT=COM1
7 set COMM_BAUD=9600
8 set SERV_ADDR=blynk-cloud.com
9 set SERV_PORT=80
A linha “set COMM_PORT=COM1” informa qual a porta COM o Arduino está conectado. Veja que está definida como COM1, contudo, quando executamos o “Blynk: Run USB script”, de forma automática esta porta COM1 é substituída pela porta COM em que a placa está conectada. A linha “set COMM_BAUD=9600” define a taxa de comunicação da serial, que neste caso é de 9600 bauds. A linha “set SERV_ADDR=blynk-cloud.com” define qual o endereço do domínio Blynk em que a conexão será realizada. Por fim, a linha “set SERV_PORT=80” define qual o número da porta de conexão que será utilizada.
O importante para nós aqui é a linha “set SERV_ADDR=blynk-cloud.com”. Veja que o endereço definido nela é blynk-cloud.com . Se abrirmos o “cmd.exe” e enviar um ping a este endereço, vamos obter o seguinte IP:
Ou seja: por padrão, o “blynk-ser.bat” nos direciona para ser conectado ao IP 139.59.206.133, contudo, lá no Termite nós observamos que primeiro o Arduino tenta se conectar a este endereço IP e imediatamente a conexão é redirecionada para o IP 45.55.96.146, contudo, a conexão nunca é estabelecida. No terminal que é aberto pelo “Blynk: Run USB script” você pode ver que ele mostra justamente o endereço blynk-cloud.com:
Para solucionar este problema, o que temos que fazer é mudar o endereço blynk-cloud.com para o endereço 45.55.96.146 (ou para o endereço que é mostrado na serial do seu Termite). Portanto, vamos substituir o blynk-cloud.com na linha 8 e na linha 73 do “blynk-ser.bat”:
Feitos as alterações, salve o arquivo e feche o Notepad++. Retorne a IDE do Arduino, acesse o menu “Ferramentas” e selecione a opção “Blynk: Run USB script” para executar o terminal.
Retorne ao Termite, role a barra de rolagem até o final e veja que agora a conexão foi estabelecida:
No terminal você pode ver que as informações também estão atualizadas:
Abra o projeto no app Blynk em seu smartphone, clique no botão de “Play” para iniciar a conexão e em seguida confira se o projeto está online.
Gostou desta postagem? Então deixa seu comentário, dúvida ou sugestão aí embaixo!
Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop
Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.
Obrigado e até a próxima!
Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.
Postagem anterior: Blynk – Controle do Arduino pela Internet usando a conexão USB
Próxima postagem: Como usar com Arduino – Módulo Relé 5V 1 Canal