fbpx

Request HTTP na ESP8266

Opublikowane przez Jerzy Wickowski w dniu

W poprzednim poście opisałem jak ustalić połączenie WiFi używając modułu ESP8266. Jednak samo połączenie z internetem jest bezwartościowe, dopóki nie zostanie skonsumowane. Zatem w dzisiejszym blogpoście przedstawię jak tę łączność wykorzystać i zademonstruję kod, który wykonuje proste zapytanie HTTP.

ESP8266HTTPClient

W celu wysłania requestu postanowiłem użyć modułu ESP8266HTTPClient. Potrafi on sam użyć zainicjalizowanego wcześniej połączenia WiFi. Jego obsługa jest dziecinnie prosta, a składa się z następujących kroków:

  1. Upewnij, że połączenie z WiFi jest ustalone.
  2. Wywołaj metodę begin, aby ustalić kontekst wywołania. Jeżeli zwróci false to znaczy, że url został źle podany.
  3. Uruchom metodę GET/POST/PUT, w zależności od potrzeb. Zwróci ona w odpowiedzi status code.
  4. Jeżeli spodziewasz się odpowiedzi to wywołaj metodę getString, która zwróci odpowiedź otrzymaną z serwera.
  5. Pamiętaj o wywołaniu metody end w celu zakończenia połączenia i zwolnienia zasobów.

Implementacja

Poniżej przedstawiam klasę HttpRequester, która opakowuje opisane wyżej kroki.

HttpRequester.h

#include 
#include 

class HttpRequester {
public:
    String Get(char* url);
};

HttpRequester.h


#include 
#include "HttpRequester.h"

String HttpRequester::Get(char* url){
    String payload = "";
    HTTPClient http;
    http.begin(url);
    int httpCode = http.GET();
    if(httpCode > 0) {
        if(httpCode == HTTP_CODE_OK) {
            payload = http.getString();
        }
    }

    http.end();
    return payload;
}

Jaki następny krok

Skoro już umiemy połączyć się z siecią WiFi oraz mamy napisany kod do wywoływania serwisów internetowych. Naturalnym następnym krokiem będzie połączenie tych dwóch rzeczy razem. Jednak o tym już mówi kolejny post :).



Czy to był wartościowy artykuł? Zapisz się, a wyślę Ci dwa ebooki o czystym kodzie oraz będę informował Cię o nowych postach

0 Komentarzy

Dodaj komentarz

Twój adres email nie zostanie opublikowany.

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

[contact-form-7 404 "Nie znaleziono"]

Zapisz się

Wyślę Ci dwa dokumenty mówiące o jakości kodu. Dodatkowo będę Cię informował o nowych postach i nowościach.