Blynk – Problema na conexão USB com Arduino (Connecting / Redirecting)

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:

img00_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

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:

img01_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

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:

img02_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

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:

Download Termite

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.

img03_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

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:

img04_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

Abra a IDE do Arduino, acesse o menu “Ferramentas” e selecione a opção “Blynk: Run USB script”:

img05_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

Em seguida será aberto um terminal similar ao da imagem abaixo:

img06_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

Retorne ao Termite e veja que as informações apresentadas serão similares a da imagem abaixo:

img07_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

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”.

img08_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

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++:

Download Notepad++

Em seguida, clique com o botão direito do mouse sobre o “blynk-ser.bat” e selecione a opção “Edit with Notepad++”:

img09_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

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:

img10_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

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:

img11_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

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”:

img12_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

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:

img13_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

No terminal você pode ver que as informações também estão atualizadas:

img14_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

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.

img15_blynk_problema_na_conexao_usb_com_arduino_connecting_redirecting_wifi_smartphone_tablet_automacao_residencial_iot

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:
Próxima postagem:
Postagem feita por

Formado em Engenharia da Computação, Técnico em Eletroeletrônica, Fundador e Diretor da MasterWalker Electronic Shop. Se preocupa com o aprendizado dos seus clientes e daqueles interessados em aprender sobre Arduino e plataformas embarcadas em geral.