I asked about a minimum working code example of the ArduinoHttpClient library for the ESP32 (see also: minimal example for ESP32 · Issue #111 · arduino-libraries/ArduinoHttpClient · GitHub).
In the meantime I tried this ...
#include <Arduino.h>
#include <ArduinoHttpClient.h>
#include <WiFi.h>
#include <WiFiMulti.h>
WiFiMulti wifiMulti;
WiFiClient wifi;
HttpClient http(wifi,"arduino.cc",80);
void setup() {
Serial.begin(115200);
wifiMulti.addAP("your-ssid","your-pw");
// attempt to connect to WiFi
Serial.print("Connecting to Wifi ... ");
while (wifiMulti.run() != WL_CONNECTED) {
// unsuccessful, retry in 4 seconds
Serial.print("failed ... ");
delay(4000);
Serial.print("retrying ... ");
}
Serial.println("WiFi connected");
}
void loop() {
Serial.println("making GET request");
http.get("/");
// read the status code and body of the response
int statusCode = http.responseStatusCode();
String response = http.responseBody();
Serial.print("Status code: ");
Serial.println(statusCode);
Serial.print("Response: ");
Serial.println(response);
Serial.println("Wait five seconds");
delay(5000);
}
but it stalls after
Connecting to Wifi ... WiFi connected
making GET request
Status code: -3
Response:
Wait five seconds
Is the WiFi - Arduino Reference used in the ArduinoHttpClient lib not compatible with the ESP32 implementaton (e.g. used in arduino-esp32/WiFiClient.ino at master · espressif/arduino-esp32 · GitHub)?
WiFiClient client;
is called in loop()
in the ESP32 / espressif example while WiFiClient wifi;
is called already before setup in ArduinoHttpClient/SimpleGet.ino at master · arduino-libraries/ArduinoHttpClient · GitHub ?? Is it perhaps the same syntax but different functions?
How can I get working the ArduinoHttpClient library with an ESP32? Any chance?