Arduino UNO R4 - WebSocket
Este guia explica o que é o WebSocket, por que ele é útil para usar o Arduino UNO R4 e como usar o WebSocket com o Arduino UNO R4. Vamos mostrar como criar um aplicativo de chat que permite a um navegador web se comunicar com o Arduino UNO R4, permitindo que você:
- Envie mensagens da janela de chat do seu navegador web para controlar o Arduino UNO R4.
- Receba mensagens instantâneas do Arduino UNO R4. Você pode alterar essa configuração para acompanhar o Arduino UNO R4 ao vivo.

Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables STEM V4B IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
O que é o Websocket do Arduino UNO R4?
Você pode perguntar: "O que é WebSocket?" É simples: o WebSocket é uma tecnologia que permite a um navegador web conversar diretamente e de forma instantânea com um servidor web.
- Sem o WebSocket, você precisa recarregar a página web para ver novas atualizações. Isso não é muito conveniente.
- Com o WebSocket, a página web fica constantemente conectada ao servidor. Isso significa que eles podem trocar informações imediatamente, sem recarregar a página.
Você costuma usar a tecnologia WebSocket em aplicações web do dia a dia, como jogos online, mensagens instantâneas e atualizações do mercado de ações.
Por que precisamos do WebSocket para controlar o Arduino UNO R4 sem travar?
Imagine que você quer controlar um carro de controle remoto usando o navegador web do seu celular ou computador. Se você não usar o WebSocket, teria que atualizar a página web toda vez que quisesse mudar a direção ou a velocidade do carro. É como apertar um botão de "recarregar" toda vez que você dá um comando ao carro.
O WebSocket permite uma conexão constante e direta entre o seu navegador web e o carro. Você pode controlar a direção e a velocidade do carro sem precisar atualizar a página. É como se o carro respondesse instantaneamente aos seus comandos em tempo real, sem atrasos por recarregar a página.
O WebSocket facilita:
- Enviar dados do navegador web para o Arduino UNO R4 sem precisar recarregar a página web.
- Enviar dados de volta ao navegador web a partir do Arduino UNO R4 sem precisar atualizar a página.
Isso permite uma conversa de ida e volta fácil, em tempo real.
Benefícios do WebSocket com o Arduino UNO R4:
- Controle em Tempo Real: O WebSocket permite interação imediata com o Arduino UNO R4, possibilitando respostas rápidas aos seus comandos para uma experiência fluida.
- Conexão Persistente: Mantenha uma conexão constante sem precisar atualizar a página de controle, garantindo uma linha de comunicação sempre pronta para instruções diretas.
- Eficiência: Aproveite respostas rápidas e uma experiência melhor sem precisar recarregar a página repetidamente, tornando tudo mais eficiente e agradável.
Chat Web com o Arduino UNO R4 via WebSocket
O conteúdo da página web, como HTML, CSS e JavaScript, fica em um arquivo separado chamado index.h. Assim, no Arduino IDE, vamos usar dois arquivos de código.
- Um arquivo .ino é o código do Arduino UNO R4. Ele configura um servidor web e um servidor WebSocket.
- Um arquivo .h contém o conteúdo da página web.
Passos Rápidos
Siga estas instruções passo a passo:
- Se esta é a primeira vez que você usa o Arduino Uno R4 WiFi/Minima, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/Minima no Arduino IDE.
- Conecte a placa Arduino Uno R4 ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Selecione a placa Arduino Uno R4 apropriada (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
- Abra o Library Manager clicando no ícone Library Manager no lado esquerdo do Arduino IDE.
- Pesquise por Web Server for Arduino Uno R4 WiFi e localize a biblioteca Web Server criada pela DIYables.
- Clique no botão Install para adicionar a biblioteca Web Server.

- No Arduino IDE, crie um novo sketch e dê um nome a ele, por exemplo, newbiely.com.ino
- Copie o código a seguir e abra-o no Arduino IDE
- Altere os dados do WiFi (SSID e senha) no código para os seus.
- Para criar o arquivo index.h no Arduino IDE:
- Clique no botão abaixo do ícone do serial monitor e selecione New Tab, ou pressione as teclas Ctrl+Shift+N.
- Dê ao arquivo o nome index.h e pressione o botão OK.
- Copie o código a seguir e cole-o no arquivo index.h.
- Agora você tem o código em dois arquivos: newbiely.com.ino e index.h.
- Clique no botão Upload no Arduino IDE para fazer o upload do código para o Arduino UNO R4.
- Abra o Serial Monitor.
- Veja os resultados no Serial Monitor.
- Anote o endereço IP mostrado e digite-o na barra de endereços do navegador web no seu smartphone ou computador.
- A página web vai aparecer como descrito abaixo:
- Pressione o botão CONNECT para ligar a página web ao Arduino UNO R4 usando WebSocket.
- Digite algum texto e envie-o ao Arduino UNO R4.
- Observe a resposta do Arduino UNO R4.
- Se você alterar apenas o HTML no arquivo chamado index.h e não modificar o arquivo chamado newbiely.com.ino, o Arduino IDE não vai atualizar o HTML quando você compilar e fizer o upload do código para o Arduino UNO R4.
- Para atualizar o conteúdo HTML pelo Arduino IDE, faça uma pequena alteração no arquivo newbiely.com.ino, como adicionar uma linha vazia ou um comentário.




※ Nota:
Explicação do Código Linha por Linha
Leia os comentários no código para ver uma explicação linha por linha do código acima do Arduino UNo R4.
Como o Sistema Funciona
O código do Arduino UNO R4 configura um servidor web e um servidor WebSocket. Veja como ele funciona:
- Digite o endereço IP do Arduino UNO R4 em um navegador web.
- O servidor web do Arduino UNO R4 envia a página web (feita de HTML, CSS, JavaScript) para o seu navegador.
- O seu navegador mostra a página web.
- Clique no botão CONNECT na página web. Essa ação inicia uma conexão WebSocket com o servidor no Arduino UNO R4.
- Se você digitar um texto e clicar no botão SEND, o JavaScript envia o seu texto ao Arduino UNO R4 por meio do WebSocket.
- O servidor WebSocket no Arduino UNO R4 recebe o seu texto e envia uma resposta de volta para a sua página web.
Aqui estão outros exemplos de WebSocket com o Arduino UNO R4 que você pode estudar:
Solução de Problemas para o Arduino Uno R4
Se o código acima não funcionar, atualize o módulo WiFi do Arduino UNO R4 para a versão mais recente
- Conecte o seu Arduino Uno R4 WiFi ao PC
- Abra o Arduino IDE 2
- Vá em Tools Firmware Updater

- Selecione a placa e a porta do Arduino Uno R4 WiFi
- Clique no botão CHECK UPDATES
- Uma lista de versões de firmware disponíveis vai aparecer
- Selecione a versão mais recente do firmware
- Clique no botão INSTALL
- Espere até terminar
- Reinicie o seu Arduino Uno R4 WiFi
- Compile novamente e faça o upload do seu código para o Arduino Uno R4 WiFi
- Confira o resultado