Skip to content

Código de requisição HTTP do tipo GET usando Esp32 e C++!

Notifications You must be signed in to change notification settings

Victor-Lis/HTTP-GET-Request-with-Esp32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

HTTP GET Request with Esp32

Esse é um projeto bem simples utilizando o Esp32 para fazer requisições HTTP, no caso do tipo GET. Embora simples, é um projeto que para mim abre um mundo para meus projetos usando Sistemas Embarcados.

Construi esse código através do vídeo "ESP32 GET JSON from API - ESP32 GET request from API receive JSON" do Asali falando sobre justamente como fazer requisições HTTP com o Esp32.

Desafios

  • Conectar o Esp32 ao Wifi;
  • Fazer requisições HTTP;
  • Trabalhar com JSON usando C++.

Techs

Arduino

Aprendizados

Conectando no Wifi

// Importanto biblioteca
#include <WiFi.h>
...

// Passando as credenciais da rede Wifi
const char* ssid = "network-name";
const char* password = "network-password";

void setup() {
  WiFi.begin(ssid, password);

  // Enquanto não conectar vai ficar exibindo "." no monitor serial
  while (WiFi.status() != WL_CONNECTED) { 
    Serial.print(".");
    delay(500);
  }

  // Após conectar...
  Serial.println("Conectado");
  Serial.println(WiFi.localIP());
  Serial.println("");
}

void loop() {
  if((WiFi.status() == WL_CONNECTED)){
  // Se estiver conectado:
    Serial.println("+");
  }else{
  // Se não estiver conectado:
    Serial.println("-");
  }
  delay(500);
}

Requisição HTTP em si

Basta adicionar alguns detalhes no código acima: 1- Importar mais 1 biblioteca;

#include <HTTPClient.h>;

2- setup() continua igual; 3- loop() ficará assim no final:

void loop() {
  if((WiFi.status() == WL_CONNECTED)){
    Serial.println("+");
    
    long rnd = random(1, 10); // Apenas para gerar um id randômico, poderia ser um ID estático.
    HTTPClient client; // Declarando HTTPclient a partir da utilização da lib "HTTPClient".

    client.begin("https://jsonplaceholder.typicode.com/comments?id=" + String(rnd)); // Iniciando cliente com a url da API
    int httpCode = client.GET(); // Utilizando método GET na API declarada anteriormente
    
    if(httpCode > 0){
      // Se tiver sido bem sucedido 
      String payload = client.getString();
      Serial.println("\nStatuscode: " + String(httpCode));
      Serial.println(payload);
    }else{
      // Se não tiver sido bem sucedido
      Serial.println("Error on HTTP Request");
    }

    delay(60000);
  }else{
    Serial.println("-");
    delay(500);
  }
}

Autores

About

Código de requisição HTTP do tipo GET usando Esp32 e C++!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages