Added CI for H2

This commit is contained in:
Mathieu Carbou
2024-08-16 00:56:47 +02:00
parent f9d70ce9c7
commit 02e233f9a1
5 changed files with 36 additions and 2 deletions

View File

@@ -29,7 +29,9 @@ class CaptiveRequestHandler : public AsyncWebHandler {
response->print("<!DOCTYPE html><html><head><title>Captive Portal</title></head><body>"); response->print("<!DOCTYPE html><html><head><title>Captive Portal</title></head><body>");
response->print("<p>This is out captive portal front page.</p>"); response->print("<p>This is out captive portal front page.</p>");
response->printf("<p>You were trying to reach: http://%s%s</p>", request->host().c_str(), request->url().c_str()); response->printf("<p>You were trying to reach: http://%s%s</p>", request->host().c_str(), request->url().c_str());
#ifndef CONFIG_IDF_TARGET_ESP32H2
response->printf("<p>Try opening <a href='http://%s'>this link</a> instead</p>", WiFi.softAPIP().toString().c_str()); response->printf("<p>Try opening <a href='http://%s'>this link</a> instead</p>", WiFi.softAPIP().toString().c_str());
#endif
response->print("</body></html>"); response->print("</body></html>");
request->send(response); request->send(response);
} }
@@ -40,6 +42,7 @@ void setup() {
Serial.println(); Serial.println();
Serial.println("Configuring access point..."); Serial.println("Configuring access point...");
#ifndef CONFIG_IDF_TARGET_ESP32H2
if (!WiFi.softAP("esp-captive")) { if (!WiFi.softAP("esp-captive")) {
Serial.println("Soft AP creation failed."); Serial.println("Soft AP creation failed.");
while (1) while (1)
@@ -47,6 +50,8 @@ void setup() {
} }
dnsServer.start(53, "*", WiFi.softAPIP()); dnsServer.start(53, "*", WiFi.softAPIP());
#endif
server.addHandler(new CaptiveRequestHandler()).setFilter(ON_AP_FILTER); // only when requested from AP server.addHandler(new CaptiveRequestHandler()).setFilter(ON_AP_FILTER); // only when requested from AP
// more handlers... // more handlers...
server.begin(); server.begin();

View File

@@ -31,7 +31,9 @@ class CaptiveRequestHandler : public AsyncWebHandler {
response->print("<!DOCTYPE html><html><head><title>Captive Portal</title></head><body>"); response->print("<!DOCTYPE html><html><head><title>Captive Portal</title></head><body>");
response->print("<p>This is out captive portal front page.</p>"); response->print("<p>This is out captive portal front page.</p>");
response->printf("<p>You were trying to reach: http://%s%s</p>", request->host().c_str(), request->url().c_str()); response->printf("<p>You were trying to reach: http://%s%s</p>", request->host().c_str(), request->url().c_str());
#ifndef CONFIG_IDF_TARGET_ESP32H2
response->printf("<p>Try opening <a href='http://%s'>this link</a> instead</p>", WiFi.softAPIP().toString().c_str()); response->printf("<p>Try opening <a href='http://%s'>this link</a> instead</p>", WiFi.softAPIP().toString().c_str());
#endif
response->print("</body></html>"); response->print("</body></html>");
request->send(response); request->send(response);
} }
@@ -46,15 +48,21 @@ void setup() {
server server
.on("/", HTTP_GET, [](AsyncWebServerRequest* request) { .on("/", HTTP_GET, [](AsyncWebServerRequest* request) {
Serial.println("Captive portal request..."); Serial.println("Captive portal request...");
#ifndef CONFIG_IDF_TARGET_ESP32H2
Serial.println("WiFi.localIP(): " + WiFi.localIP().toString()); Serial.println("WiFi.localIP(): " + WiFi.localIP().toString());
#endif
Serial.println("request->client()->localIP(): " + request->client()->localIP().toString()); Serial.println("request->client()->localIP(): " + request->client()->localIP().toString());
#if ESP_IDF_VERSION_MAJOR >= 5 #if ESP_IDF_VERSION_MAJOR >= 5
#ifndef CONFIG_IDF_TARGET_ESP32H2
Serial.println("WiFi.type(): " + String((int)WiFi.localIP().type())); Serial.println("WiFi.type(): " + String((int)WiFi.localIP().type()));
#endif
Serial.println("request->client()->type(): " + String((int)request->client()->localIP().type())); Serial.println("request->client()->type(): " + String((int)request->client()->localIP().type()));
#endif #endif
#ifndef CONFIG_IDF_TARGET_ESP32H2
Serial.println(WiFi.localIP() == request->client()->localIP() ? "should be: ON_STA_FILTER" : "should be: ON_AP_FILTER"); Serial.println(WiFi.localIP() == request->client()->localIP() ? "should be: ON_STA_FILTER" : "should be: ON_AP_FILTER");
Serial.println(WiFi.localIP() == request->client()->localIP()); Serial.println(WiFi.localIP() == request->client()->localIP());
Serial.println(WiFi.localIP().toString() == request->client()->localIP().toString()); Serial.println(WiFi.localIP().toString() == request->client()->localIP().toString());
#endif
request->send(200, "text/plain", "This is the captive portal"); request->send(200, "text/plain", "This is the captive portal");
hit1 = true; hit1 = true;
}) })
@@ -63,15 +71,21 @@ void setup() {
server server
.on("/", HTTP_GET, [](AsyncWebServerRequest* request) { .on("/", HTTP_GET, [](AsyncWebServerRequest* request) {
Serial.println("Website request..."); Serial.println("Website request...");
#ifndef CONFIG_IDF_TARGET_ESP32H2
Serial.println("WiFi.localIP(): " + WiFi.localIP().toString()); Serial.println("WiFi.localIP(): " + WiFi.localIP().toString());
#endif
Serial.println("request->client()->localIP(): " + request->client()->localIP().toString()); Serial.println("request->client()->localIP(): " + request->client()->localIP().toString());
#if ESP_IDF_VERSION_MAJOR >= 5 #if ESP_IDF_VERSION_MAJOR >= 5
#ifndef CONFIG_IDF_TARGET_ESP32H2
Serial.println("WiFi.type(): " + String((int)WiFi.localIP().type())); Serial.println("WiFi.type(): " + String((int)WiFi.localIP().type()));
#endif
Serial.println("request->client()->type(): " + String((int)request->client()->localIP().type())); Serial.println("request->client()->type(): " + String((int)request->client()->localIP().type()));
#endif #endif
#ifndef CONFIG_IDF_TARGET_ESP32H2
Serial.println(WiFi.localIP() == request->client()->localIP() ? "should be: ON_STA_FILTER" : "should be: ON_AP_FILTER"); Serial.println(WiFi.localIP() == request->client()->localIP() ? "should be: ON_STA_FILTER" : "should be: ON_AP_FILTER");
Serial.println(WiFi.localIP() == request->client()->localIP()); Serial.println(WiFi.localIP() == request->client()->localIP());
Serial.println(WiFi.localIP().toString() == request->client()->localIP().toString()); Serial.println(WiFi.localIP().toString() == request->client()->localIP().toString());
#endif
request->send(200, "text/plain", "This is the website"); request->send(200, "text/plain", "This is the website");
hit2 = true; hit2 = true;
}) })
@@ -92,12 +106,15 @@ void setup() {
// dnsServer.stop(); // dnsServer.stop();
// WiFi.softAPdisconnect(); // WiFi.softAPdisconnect();
#ifndef CONFIG_IDF_TARGET_ESP32H2
WiFi.persistent(false); WiFi.persistent(false);
WiFi.begin("IoT"); WiFi.begin("IoT");
while (WiFi.status() != WL_CONNECTED) { while (WiFi.status() != WL_CONNECTED) {
delay(500); delay(500);
} }
Serial.println("Connected to WiFi with IP address: " + WiFi.localIP().toString()); Serial.println("Connected to WiFi with IP address: " + WiFi.localIP().toString());
#endif
server.begin(); server.begin();
// while (!hit2) { // while (!hit2) {

View File

@@ -38,6 +38,7 @@ void setup() {
Serial.begin(115200); Serial.begin(115200);
#ifndef CONFIG_IDF_TARGET_ESP32H2
// WiFi.mode(WIFI_STA); // WiFi.mode(WIFI_STA);
// WiFi.begin("YOUR_SSID", "YOUR_PASSWORD"); // WiFi.begin("YOUR_SSID", "YOUR_PASSWORD");
// if (WiFi.waitForConnectResult() != WL_CONNECTED) { // if (WiFi.waitForConnectResult() != WL_CONNECTED) {
@@ -49,6 +50,7 @@ void setup() {
WiFi.mode(WIFI_AP); WiFi.mode(WIFI_AP);
WiFi.softAP("esp-captive"); WiFi.softAP("esp-captive");
#endif
server.on("/", HTTP_GET, [](AsyncWebServerRequest* request) { server.on("/", HTTP_GET, [](AsyncWebServerRequest* request) {
request->send(200, "text/plain", "Hello, world"); request->send(200, "text/plain", "Hello, world");

View File

@@ -23,9 +23,12 @@ void setup() {
LittleFS.begin(); LittleFS.begin();
#ifndef CONFIG_IDF_TARGET_ESP32H2
WiFi.mode(WIFI_AP); WiFi.mode(WIFI_AP);
WiFi.softAP("esp-captive"); WiFi.softAP("esp-captive");
dnsServer.start(53, "*", WiFi.softAPIP()); dnsServer.start(53, "*", WiFi.softAPIP());
#endif
File file1 = LittleFS.open("/header.html", "w"); File file1 = LittleFS.open("/header.html", "w");
file1.print("<html><head><title>ESP Captive Portal</title><meta http-equiv=\"refresh\" content=\"1\"></head><body>"); file1.print("<html><head><title>ESP Captive Portal</title><meta http-equiv=\"refresh\" content=\"1\"></head><body>");

View File

@@ -15,8 +15,8 @@ monitor_filters = esp32_exception_decoder, log2file
[platformio] [platformio]
lib_dir = . lib_dir = .
; src_dir = examples/CaptivePortal src_dir = examples/CaptivePortal
src_dir = examples/SimpleServer ; src_dir = examples/SimpleServer
; src_dir = examples/StreamFiles ; src_dir = examples/StreamFiles
; src_dir = examples/Filters ; src_dir = examples/Filters
; src_dir = examples/Draft ; src_dir = examples/Draft
@@ -78,3 +78,10 @@ board = esp32-c6-devkitc-1
lib_deps = lib_deps =
bblanchon/ArduinoJson @ 7.1.0 bblanchon/ArduinoJson @ 7.1.0
mathieucarbou/AsyncTCP @ 3.2.4 mathieucarbou/AsyncTCP @ 3.2.4
[env:pioarduino-h2]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.04/platform-espressif32.zip
board = esp32-h2-devkitm-1
lib_deps =
bblanchon/ArduinoJson @ 7.1.0
mathieucarbou/AsyncTCP @ 3.2.4