Skip to content

W6100 khoih-prog / WebServer_ESP32_W6100

This WebServer_ESP32_W6100 library is a simple yet complete WebServer wrapper library for ESP32-based boards using LwIP W6100 Ethernet.

eric_g

Published February 01, 2023

Original author: khoih prog · CanadaOriginal source (new tab)

W6100 khoih-prog / WebServer_ESP32_W6100

Components

Hardware components

Project description

 

Usage

Class Constructor

WebServer server(80);

Creates the WebServer_ESP32_W6100 class object.

Parameters:

host port number: int port (default is the standard HTTP port 80)

Basic Operations

Starting the server

void begin();

Handling incoming client requests

void handleClient();

Disabling the server

void close();
void stop();

Both methods function the same

Client request handlers

void on();
void addHandler();
void onNotFound();
void onFileUpload();	

Example:

server.on("/", handlerFunction);
server.onNotFound(handlerFunction);   // called when handler is not assigned
server.onFileUpload(handlerFunction); // handle file uploads

Sending responses to the client

void send();
void send_P();

Parameters:

code - HTTP response code, can be 200 or 404, etc.

content_type - HTTP content type, like "text/plain" or "image/png", etc.

content - actual content body

Advanced Options

Getting information about request arguments

const String & arg();
const String & argName();
int args();
bool hasArg();

Function usage:

arg - get request argument value, use arg("plain") to get POST body

argName - get request argument name

args - get arguments count

hasArg - check if argument exist

Getting information about request headers

const String & header();
const String & headerName();
const String & hostHeader();
int headers();
bool hasHeader();

Function usage:

header - get request header value

headerName - get request header name

hostHeader - get request host header if available, else empty string

headers - get header count

hasHeader - check if header exist

Authentication

bool authenticate();
void requestAuthentication();

Function usage:

authenticate - server authentication, returns true if client is authenticated else false

requestAuthentication - sends authentication failure response to the client

Example Usage:

if(!server.authenticate(username, password))
{
  server.requestAuthentication();
}

Other Function Calls

const String & uri();     // get the current uri
HTTPMethod  method();     // get the current method 
WiFiClient client();      // get the current client
HTTPUpload & upload();    // get the current upload
void setContentLength();  // set content length
void sendHeader();        // send HTTP header
void sendContent();       // send content
void sendContent_P(); 
void collectHeaders();    // set the request headers to collect
void serveStatic();
size_t streamFile();


How to connect W6100 to ESP32

You can change the INT pin to another one. Default is GPIO4

// Must connect INT to GPIOxx or not working
#define INT_GPIO            4

W6100

FULL_DUPLEX, 100Mbps

W6100 khoih-prog / WebServer_ESP32_W6100, W6100

Documents

Comments

Similar projects you might like

Comments