Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/victor-lis/http-get-request-with-esp32
Código de requisição HTTP do tipo GET usando Esp32 e C++!
https://github.com/victor-lis/http-get-request-with-esp32
api-get esp32 http-request robotics
Last synced: about 1 month ago
JSON representation
Código de requisição HTTP do tipo GET usando Esp32 e C++!
- Host: GitHub
- URL: https://github.com/victor-lis/http-get-request-with-esp32
- Owner: Victor-Lis
- Created: 2024-01-24T18:25:13.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-02-27T00:15:06.000Z (9 months ago)
- Last Synced: 2024-04-23T09:36:38.448Z (7 months ago)
- Topics: api-get, esp32, http-request, robotics
- Language: C++
- Homepage:
- Size: 10.7 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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"](https://www.youtube.com/watch?v=cgoCmYLeaSI&list=PL7818dFy-SV84QoQNdNdv2WzIrbhkN1do&index=2) do [Asali](https://www.youtube.com/@asali-channel) 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
## Aprendizados
### Conectando no Wifi
```c++
// Importanto biblioteca
#include
...// 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;
```c++
#include ;
```
2- setup() continua igual;
3- loop() ficará assim no final:
```c++
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
- [@Victor-Lis](https://www.github.com/Victor-Lis)