Enviando uma requisição HTTP

Arduino:
Enviando uma requisição HTTP

Como Fazer:

Para enviar um pedido HTTP, vamos usar uma biblioteca Ethernet para um Arduino com shield Ethernet ou uma biblioteca WiFi para um Arduino com capacidades WiFi.

#include <SPI.h>
#include <Ethernet.h>

// substitua por seus dados de rede
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress server(192, 168, 1, 1); // endereco IP do servidor

EthernetClient client;

void setup() {
  Ethernet.begin(mac);
  Serial.begin(9600);
  
  delay(1000);
  
  if (client.connect(server, 80)) {
    client.println("GET / HTTP/1.1");
    client.println("Host: 192.168.1.1");
    client.println("Connection: close");
    client.println();
  }
}

void loop() {
  if (client.available()) {
    char c = client.read();
    Serial.write(c);
  }
  
  if (!client.connected()) {
    client.stop();
  }
}

Espera-se um monte de HTML ou o que o servidor enviar como resposta.

Aprofundando o Assunto

Enviar pedidos HTTP não é novidade e é fundamental para a web. Antigamente, só computadores faziam isso, mas hoje até um Arduino pequenino consegue. Alternativas incluem MQTT para IoT ou pedidos HTTPS para segurança adicional. Na implementação, cuidado com o tamanho dos dados, tempo de resposta do servidor e possíveis erros de conexão.

Veja Também: