ESP32 - Serial Monitor

Este tutorial ensina você a usar o Serial Monitor na Arduino IDE com o ESP32

Sobre o Serial Monitor

Quando você programa o ESP32, precisa de algo para saber como o código do ESP32 está rodando ⇒ use a ferramenta Serial Monitor da Arduino IDE. Ela foi criada para dois propósitos:

  • ESP32 → PC: O seu código no ESP32 envia dados pela Serial. O Serial Monitor no PC recebe os dados e os exibe. Isso é muito útil para depuração e monitoramento
  • PC → ESP32: Você digita alguns dados e os envia do PC para o ESP32. Isso é útil para enviar comandos do seu PC para o ESP32

Você precisa de um cabo USB Type-C entre o PC e o ESP32. Esse cabo também é usado para carregar o código no ESP32.

Como Usar o Serial Monitor

Abrir o Serial Monitor

Você só precisa clicar em um ícone na Arduino IDE, como na imagem abaixo:

Como abrir o Serial Monitor na Arduino IDE

Componentes do Serial Monitor

O Serial Monitor é composto por 8 componentes

  1. Console de saída: este componente exibe os dados recebidos do ESP32.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. Caixa de seleção Autoscroll: este componente oferece opções para ativar/desativar a rolagem automática no console de saída.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. Caixa de seleção Show timestamp: este componente oferece opções para adicionar um carimbo de data/hora antes dos dados.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. Botão Clear output: quando este botão é clicado, o texto no console de saída é apagado.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. Seleção de baud rate: este componente oferece opções para selecionar a velocidade de comunicação (baud rate) entre o PC e o ESP32. Esse valor DEVE ser igual ao valor usado no código do ESP32 (na função Serial.begin()).
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. Caixa de texto: este componente permite que você digite caracteres que serão enviados para a placa ESP32 quando você clicar no botão Send
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. Seleção de final de linha: este componente oferece opções para selecionar os caracteres de final adicionados aos dados enviados ao ESP32. As opções disponíveis incluem:
    • No line ending: não adiciona nada
    • Newline: adiciona o caractere de nova linha (LF, ou '\n')
    • Carriage return: adiciona o caractere de retorno de carro (CR, ou '\r')
    • Both NL and CR: adiciona os caracteres de nova linha e de retorno de carro
    ∞
    Newbiely | Arduino IDE 2.3.8
    ──
    ☐
    ✕
    File
    Edit
    Sketch
    Tools
    Help
    ESP32 Dev Module
    Newbiely.ino
    ···
    8 Serial.println("Hello World!");
    Output
    Serial Monitor
    Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
    New Line
    9600 baud
    Ln 11, Col 1
    ESP32 Dev Module on COM15
    2
    1. Botão Send: quando este botão é clicado, o Serial Monitor envia os dados da Caixa de texto mais os caracteres de final para o ESP32
    ∞
    Newbiely | Arduino IDE 2.3.8
    ──
    ☐
    ✕
    File
    Edit
    Sketch
    Tools
    Help
    ESP32 Dev Module
    Newbiely.ino
    ···
    8 Serial.println("Hello World!");
    Output
    Serial Monitor
    Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
    New Line
    9600 baud
    Ln 11, Col 1
    ESP32 Dev Module on COM15
    2

ESP32 Para PC

Como enviar dados da placa ESP32 para o PC:

  • Defina o baud rate e inicialize a porta Serial usando a função Serial.begin()
Serial.begin(baudrate);
  • Envie dados para o Serial Monitor usando uma das funções abaixo:
  • Por exemplo, envie “Hello World!” para o Serial Monitor

    Serial.println("Hello World!");

    Exemplo de Uso

    O código de exemplo abaixo envia “newbiely.com” do ESP32 para o Serial Monitor a cada segundo

    /* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-serial-monitor */ void setup() { Serial.begin(9600); } void loop() { Serial.println("newbiely.com"); delay(1000); }

    Passos Rápidos

    • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 na Arduino IDE.
    • Copie o código acima e cole-o na Arduino IDE.
    • Compile e carregue o código na placa ESP32 clicando no botão Upload da Arduino IDE
    • Abra o Serial Monitor na Arduino IDE
    • Selecione o baud rate 9600
    • Veja a saída no Serial Monitor
    ∞
    Newbiely | Arduino IDE 2.3.8
    ──
    ☐
    ✕
    File
    Edit
    Sketch
    Tools
    Help
    ESP32 Dev Module
    Newbiely.ino
    ···
    8 Serial.println("Hello World!");
    Output
    Serial Monitor
    Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
    New Line
    9600 baud
    newbiely.com newbiely.com newbiely.com newbiely.com
    Ln 11, Col 1
    ESP32 Dev Module on COM15
    2
    • Experimente trocar a função Serial.println() pela função Serial.print()

PC Para ESP32

Como enviar dados do PC para o ESP32

  • No PC:
    • Digite o texto no Serial Monitor
    • Clique no botão Send.

    Depois, você escreve o código do ESP32 para ler os dados e processá-los:

    • Defina o baud rate e inicie a porta Serial
    Serial.begin(baudrate);
    • Verifique se há dados recebidos disponíveis
    if(Serial.available()) { // TODO }
    • Leia os dados da porta Serial usando uma das funções abaixo:
    • Por exemplo:

      String data = Serial.readStringUntil("\r\n");

      Exemplo de Uso

      O código de exemplo do ESP32 abaixo lê comandos da Serial para ligar/desligar o LED embutido.

      • Se o texto (comando) recebido for “ON”, ligue o LED
      • Se o texto (comando) recebido for “OFF”: desligue o LED
      Como o ESP32 pode reconhecer um comando? Por exemplo, quando enviamos os caracteres “OFF”, como o ESP32 consegue distinguir se o comando é “O”, “OF” ou “OFF”?

      ⇒ Precisamos enviar um terminador junto com o comando ⇒ podemos adicionar um caractere de nova linha ('\n'). Para adicionar o caractere de nova linha, selecione a opção “newline” no Serial Monitor antes de enviar os dados. O ESP32 vai ler os dados até encontrar o caractere de nova linha. Neste caso, o caractere de nova linha é chamado de terminador ou delimitador.

      /* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-serial-monitor */ void setup() { Serial.begin(9600); pinMode(LED_BUILTIN, OUTPUT); // set the digital pin as output: } void loop() { if (Serial.available()) { // if there is data comming String command = Serial.readStringUntil('\n'); // read string until newline character if (command == "ON") { digitalWrite(LED_BUILTIN, HIGH); // turn on LED Serial.println("Turn LED ON"); } else if (command == "OFF") { digitalWrite(LED_BUILTIN, LOW); // turn off LED Serial.println("Turn LED OFF"); } } }

      Passos Rápidos

      • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 na Arduino IDE.
      • Copie o código acima e cole-o na Arduino IDE.
      • Compile e carregue o código na placa ESP32 clicando no botão Upload da Arduino IDE
      • Abra o Serial Monitor na Arduino IDE
      • Selecione o baud rate 9600 e a opção newline
      • Digite “ON” ou “OFF” e clique no botão Send
      ∞
      Newbiely | Arduino IDE 2.3.8
      ──
      ☐
      ✕
      File
      Edit
      Sketch
      Tools
      Help
      ESP32 Dev Module
      Newbiely.ino
      ···
      8 Serial.println("Hello World!");
      Output
      Serial Monitor
      Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
      New Line
      9600 baud
      Ln 11, Col 1
      ESP32 Dev Module on COM15
      2
      • Veja o estado do LED embutido na placa ESP32. Veremos o estado do LED como ON ou OFF, respectivamente.
      • Também vemos o estado do LED no Serial Monitor
      ∞
      Newbiely | Arduino IDE 2.3.8
      ──
      ☐
      ✕
      File
      Edit
      Sketch
      Tools
      Help
      ESP32 Dev Module
      Newbiely.ino
      ···
      8 Serial.println("Hello World!");
      Output
      Serial Monitor
      Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
      New Line
      9600 baud
      Turn LED ON
      Ln 11, Col 1
      ESP32 Dev Module on COM15
      2
      • Digite o comando “ON” ou “OFF” várias vezes.

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!