Índice:

Serial sem fio (UART) para Arduino / STM32 / etc .: 3 etapas (com imagens)
Serial sem fio (UART) para Arduino / STM32 / etc .: 3 etapas (com imagens)

Vídeo: Serial sem fio (UART) para Arduino / STM32 / etc .: 3 etapas (com imagens)

Vídeo: Serial sem fio (UART) para Arduino / STM32 / etc .: 3 etapas (com imagens)
Vídeo: REDE RS-232 PARA COMUNICAÇÃO A DISTÂNCIA | Vídeo Aula #422 2024, Novembro
Anonim
Serial sem fio (UART) para Arduino / STM32 / etc
Serial sem fio (UART) para Arduino / STM32 / etc
Serial sem fio (UART) para Arduino / STM32 / etc
Serial sem fio (UART) para Arduino / STM32 / etc

Espero que todos concordem comigo que o Arduino Serial é uma ótima ferramenta para depurar seus projetos. Bem, é basicamente a única opção para depurar um Arduino. Mas, às vezes, não é possível ou prático instalar um cabo USB do Arduino ou de qualquer outro microcontrolador em seu computador.

Então eu fiz esta placa UART-WiFi, baseada no ESP8266-01, que é muito barata hoje em dia. As placas são pequenas, você pode plugá-la em uma placa de ensaio, conectar a alimentação, RX, TX e aterramento e ela transmitirá tudo o que receber do UART para o seu computador via WiFi e vice-versa.

Recursos:

  • taxas de transmissão de até 115200 (teoricamente até 921600, mas isso não foi testado)
  • recebe / envia dados do UART e envia / recebe dados via WiFi diretamente para o seu computador usando a porta 23 (Telnet)
  • 18 componentes, peças custam cerca de US $ 3,50
  • PCB de dupla face 20 x 45 mm, compatível com placa de ensaio
  • Pino RX tolerante a 5 V
  • entrada de tensão de 12 V a 3,3 V, consumo de corrente cerca de 80 mA em média

Uso essas placas há cerca de meio ano e as considero extremamente úteis. Eu até prefiro as pontes USB-UART, porque com a minha placa, eu apenas conecto uma delas em uma placa de ensaio e não preciso me preocupar em passar cabos por toda a minha mesa. Você também não precisa de nenhum outro hardware, nenhuma porta USB livre e essas placas fornecem isolamento galvânico total de seu computador, o que é uma boa precaução de segurança e você não precisa se preocupar com diferentes potenciais de aterramento.

Etapa 1: como funciona

Como funciona
Como funciona
Como funciona
Como funciona

Uma vez que a energia é aplicada ao módulo, ele começa a tentar se conectar ao WiFi predefinido. Durante essa fase, o LED amarelo fica piscando. Depois de conectar, o LED amarelo permanece aceso. Depois disso, o módulo está aguardando uma conexão de um cliente Telnet (consulte a próxima etapa) e o LED verde fica piscando. Depois que a conexão for estabelecida com êxito, o terminal Telnet mostra um prompt perguntando sobre a taxa de transmissão desejada. Você insere a taxa de transmissão no terminal e pronto! Agora, qualquer coisa que você digitar no terminal será enviada por WiFi e, em seguida, será enviada pelo pino TX do ESP8266. Da mesma forma, qualquer coisa que apareça no pino RX é enviada para o terminal. Basicamente, você não pode dizer a diferença entre um console serial e telnet.

LEDs:

  • amarelo (mais à esquerda) - status do Wifi, piscando - tentando conectar, aceso - conectado
  • verde (segundo da esquerda) - status do Telnet. piscando - aguardando conexão, verde - conectado
  • azul (dois mais à direita) - RX e TX

Etapa 2: como configurá-lo

Como configurar
Como configurar
Como configurar
Como configurar
Como configurar
Como configurar
Como configurar
Como configurar

Conexão

A única ligeira complicação é que você precisa de algum tipo de identificador para cada dispositivo Telnet (semelhante a cada porta serial que tem um número). No meu projeto usei IP estático. Normalmente, quando um dispositivo se conecta ao WiFi, ele recebe automaticamente um endereço IP do servidor DHCP. Isso é chamado de endereçamento IP dinâmico, mas o problema aqui é que o endereço IP pode mudar. Então programei a placa de forma que ela sempre receba um endereço IP pré-definido, no meu caso 192.168.2.20x, onde x é o número da placa. Isso é chamado de endereçamento IP estático. Em seguida, basta conectar um console Telnet a 192.168.2.20x: 23 e você está pronto para começar.

Como console, você pode usar uma variedade de aplicativos, os dois mais conhecidos são provavelmente PuTTY ou YAT (Yet Another Terminal). Eu uso o último e na seção de imagem você pode ver como configurá-lo - você só precisa saber o endereço IP estático mencionado anteriormente.

Firmware

O firmware é escrito em Arduino IDE e você pode encontrá-lo no meu GitHub. Se você deseja programar seu ESP8266, você precisa olhar para o cabeçalho e modificar algumas variáveis lá, a saber:

  • ssid - o nome do WiFi que você deseja que a placa se conecte
  • pass - senha para esse WiFi
  • ip - o IP estático que você deseja que a placa tenha; escolha algo fora do pool DHCP (ou apenas escolha algo entre 200 - 250, que geralmente é gratuito)
  • gateway - o IP do seu roteador
  • sub-rede

Você pode obter as duas últimas informações na linha de comando, pressionando Win + R, digitando "cmd" e, em seguida, digitando "ipconfig". Veja fotos.

Claro que você precisa do IDE do Arduino, do conjunto de ferramentas esp8266 etc., mas existem muitos outros tutoriais sobre isso.

Borda

Você também precisa fabricar o PCB. Embora não seja complicado e você possa teoricamente fazer em casa, eu recomendo que você use algum fabricante chinês de PCB. É barato e funciona bem. Usei o ALLPCB e fiquei satisfeito.

Poder

Você precisa fornecer energia para a placa. Você pode alimentá-lo diretamente com 3,3 V (jumper JP1 na posição 3,3 V) ou alimentar a tensão através de um regulador de 3,3 V (jumper na outra posição). O regulador pode aceitar tensões de até 12 V. Todos os capacitores já estão integrados a bordo.

Etapa 3: Conclusão

Conclusão
Conclusão

Como eu disse antes, achei essas placas muito úteis para prototipagem, não apenas com um Arduino, mas com qualquer MCU em geral. E já os tenho usado há cerca de meio ano e não tive problemas com eles.

O código-fonte, os arquivos Eagle e algumas fotos podem ser encontrados no meu GitHub ou no arquivo zip abaixo. Mas eu recomendo o GitHub, já que pode haver uma versão mais recente.

Se você tiver alguma dúvida, comentário ou sugestão, fique à vontade para deixá-los abaixo.

Recomendado: