

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rdf:RDF[
	<!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
	<!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
	<!ENTITY owl 'http://www.w3.org/2002/07/owl#'>
	<!ENTITY swivt 'http://semantic-mediawiki.org/swivt/1.0#'>
	<!ENTITY wiki 'http://https://wikifab.org/wiki/Special:URIResolver/'>
	<!ENTITY category 'http://https://wikifab.org/wiki/Special:URIResolver/Category-3A'>
	<!ENTITY property 'http://https://wikifab.org/wiki/Special:URIResolver/Property-3A'>
	<!ENTITY wikiurl 'https://wikifab.org/wiki/'>
]>

<rdf:RDF
	xmlns:rdf="&rdf;"
	xmlns:rdfs="&rdfs;"
	xmlns:owl ="&owl;"
	xmlns:swivt="&swivt;"
	xmlns:wiki="&wiki;"
	xmlns:category="&category;"
	xmlns:property="&property;">

	<owl:Ontology rdf:about="https://wikifab.org/wiki/Special:ExportRDF/Implementing_Web_Server_on_ESP32">
		<swivt:creationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-04-30T01:06:37+02:00</swivt:creationDate>
		<owl:imports rdf:resource="http://semantic-mediawiki.org/swivt/1.0"/>
	</owl:Ontology>
	<swivt:Subject rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Implementing_Web_Server_on_ESP32">
		<rdf:type rdf:resource="http://https://wikifab.org/wiki/Special:URIResolver/Category-3ATutorials"/>
		<rdf:type rdf:resource="http://https://wikifab.org/wiki/Special:URIResolver/Category-3APages_avec_des_erreurs_de_coloration_syntaxique"/>
		<rdfs:label>Implementing Web Server on ESP32</rdfs:label>
		<rdfs:isDefinedBy rdf:resource="https://wikifab.org/wiki/Special:ExportRDF/Implementing_Web_Server_on_ESP32"/>
		<swivt:page rdf:resource="https://wikifab.org/wiki/Implementing_Web_Server_on_ESP32"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">0</swivt:wikiNamespace>
		<swivt:wikiPageContentLanguage rdf:datatype="http://www.w3.org/2001/XMLSchema#string">en</swivt:wikiPageContentLanguage>
		<property:Area rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Electronics</property:Area>
		<property:Complete rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Published</property:Complete>
		<property:Cost rdf:datatype="http://www.w3.org/2001/XMLSchema#double">5</property:Cost>
		<property:Currency rdf:datatype="http://www.w3.org/2001/XMLSchema#string">USD ($)</property:Currency>
		<property:Description rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Will guide you to implementing a web server on ESP32 Board.</property:Description>
		<property:Difficulty rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Easy</property:Difficulty>
		<property:Duration rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</property:Duration>
		<property:Duration-2Dtype rdf:datatype="http://www.w3.org/2001/XMLSchema#string">hour(s)</property:Duration-2Dtype>
		<property:Introduction rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The ESP32, a low-cost microcontroller with integrated Wi-Fi and Bluetooth capabilities, has become a popular choice for IoT applications due to its power and affordability. One intriguing application is the creation of a web server. This blog post will provide a step-by-step guide on how to implement a web server on the ESP32.</property:Introduction>
		<property:IsTranslation rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</property:IsTranslation>
		<property:Language rdf:datatype="http://www.w3.org/2001/XMLSchema#string">en</property:Language>
		<property:Licences rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Attribution (CC BY)</property:Licences>
		<property:Main_Picture rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Implementing_Web_Server_on_ESP32_1.JPG</property:Main_Picture>
		<property:SourceLanguage rdf:datatype="http://www.w3.org/2001/XMLSchema#string">none</property:SourceLanguage>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">=== What is a Web Server? ===
A web server is a software application that serves web pages to users. When a user requests a web page, the web server processes the request and sends the requested page back to the user’s browser. This forms the backbone of data communication on the World Wide Web.

=== What is ESP32? ===
The ESP32 is a series of low-cost, low-power systems on a chip microcontroller with integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series employs a Tensilica Xtensa LX6 microprocessor and includes built-in antenna switches, an RF balun, a power amplifier, a low-noise receiver amplifier, filters, and power management modules. It is suitable for a wide variety of applications, from low-power sensor networks to more demanding tasks such as music streaming.</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">You must check out [https://www.pcbway.com/ PCBWAY] for ordering PCBs online for cheap!

You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY] to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop. Also, check out this useful blog on PCBWay Plugin for KiCad from [https://www.pcbway.com/blog/News/PCBWay_Plug_In_for_KiCad_3ea6219c.html here.] Using this plugin, you can directly order PCBs in just one click after completing your design in KiCad.</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">&lt;nowiki&gt;=== Step 1: Setting Up the Environment ===&lt;br /&gt;Before we delve into the implementation, we need to set up the ESP32 development environment. This involves installing the ESP32 board definitions in the Arduino IDE and connecting the ESP32 to your computer via a USB cable. The Arduino IDE provides a comfortable coding environment and makes it easy to upload programs to the board.&lt;br /&gt;&lt;br /&gt;=== Step 2: Including the Necessary Libraries ===&lt;br /&gt;The first step in our implementation is to include the necessary libraries. We’ll need the &lt;code&gt;WiFi.h&lt;/code&gt; library for connecting the ESP32 to a Wi-Fi network and the &lt;code&gt;ESPAsyncWebServer.h&lt;/code&gt; library for handling HTTP requests. These libraries provide the necessary functions and methods to establish a Wi-Fi connection and to set up a web server.&lt;div class="mw-highlight mw-content-ltr" dir="ltr"&gt;&lt;pre&gt;#include &lt;WiFi.h&gt;&lt;br /&gt;#include &lt;ESPAsyncWebServer.h&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;=== Step 3: Defining the Wi-Fi Credentials ===&lt;br /&gt;Next, we need to define our Wi-Fi credentials. Replace &lt;code&gt;your_SSID&lt;/code&gt; and &lt;code&gt;your_PASSWORD&lt;/code&gt; with your actual Wi-Fi SSID and password. These credentials will be used to connect the ESP32 to your local Wi-Fi network.&lt;div class="mw-highlight mw-content-ltr" dir="ltr"&gt;&lt;pre&gt;const char* ssid = "your_SSID";&lt;br /&gt;const char* password = "your_PASSWORD";&lt;/pre&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;=== Step 4: Setting Up the Web Server ===&lt;br /&gt;Now we can set up our web server. We’ll create an instance of the &lt;code&gt;AsyncWebServer&lt;/code&gt; class and define a route. The server will listen on port 80, which is the default port for HTTP. The route is defined by the URL that the user types into their browser. In this case, the root URL (“/”) will return a simple text message.&lt;div class="mw-highlight mw-content-ltr" dir="ltr"&gt;&lt;pre&gt;// Define a route to serve the HTML page&lt;br /&gt;  server.on("/", HTTP_GET, [](AsyncWebServerRequest* request) {&lt;br /&gt;    Serial.println("ESP32 Web Server: New request received:");  // for debugging&lt;br /&gt;    Serial.println("GET /");        // for debugging&lt;br /&gt;    request-&gt;send(200, "text/html", "&lt;html&gt;&lt;body&gt;&lt;h1&gt;Hello, ESP32!&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;");&lt;br /&gt;  });&lt;/pre&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;=== Step 5: Connecting to Wi-Fi ===&lt;br /&gt;Before we can start our web server, we need to connect the ESP32 to Wi-Fi. The &lt;code&gt;WiFi.begin()&lt;/code&gt; function is used to connect to the Wi-Fi network. We then wait until the ESP32 is successfully connected before proceeding.&lt;div class="mw-highlight mw-content-ltr" dir="ltr"&gt;&lt;pre&gt;WiFi.begin(ssid, password);&lt;br /&gt;while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;    delay(1000);&lt;br /&gt;    Serial.println("Connecting to WiFi...");&lt;br /&gt;}&lt;br /&gt;Serial.println(WiFi.localIP());&lt;/pre&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;=== Step 6: Starting the Web Server ===&lt;br /&gt;Finally, we can start our web server. The &lt;code&gt;server.begin()&lt;/code&gt; function is used to start the server. Once the server is started, it will listen for incoming HTTP requests and respond accordingly.&lt;br /&gt; &lt;code&gt;server.begin();&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;=== Step 7: Deployment ===&lt;br /&gt;Just upload the code to the ESP32 board and look for the serial monitor results.&lt;div class="mw-highlight mw-content-ltr" dir="ltr"&gt;&lt;pre&gt;#include &lt;WiFi.h&gt;&lt;br /&gt;#include &lt;ESPAsyncWebServer.h&gt;&lt;br /&gt;const char* ssid = "ELDRADO"; // CHANGE IT&lt;br /&gt;const char* password = "amazon123"; // CHANGE IT&lt;br /&gt;AsyncWebServer server(80);&lt;br /&gt;void setup() {&lt;br /&gt;  Serial.begin(9600);&lt;br /&gt;  // Connect to Wi-Fi&lt;br /&gt;  WiFi.begin(ssid, password);&lt;br /&gt;  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;    delay(1000);&lt;br /&gt;    Serial.println("Connecting to WiFi...");&lt;br /&gt;  }&lt;br /&gt;  Serial.println("Connected to WiFi");&lt;br /&gt;  // Print the ESP32's IP address&lt;br /&gt;  Serial.print("ESP32 Web Server's IP address: ");&lt;br /&gt;  Serial.println(WiFi.localIP());&lt;br /&gt;  // Define a route to serve the HTML page&lt;br /&gt;  server.on("/", HTTP_GET, [](AsyncWebServerRequest* request) {&lt;br /&gt;    Serial.println("ESP32 Web Server: New request received:");  // for debugging&lt;br /&gt;    Serial.println("GET /");        // for debugging&lt;br /&gt;    request-&gt;send(200, "text/html", "&lt;html&gt;&lt;body&gt;&lt;h1&gt;Hello, ESP32!&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;");&lt;br /&gt;  });&lt;br /&gt;  // Start the server&lt;br /&gt;  server.begin();&lt;br /&gt;}&lt;br /&gt;void loop() {}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is the serial monitor result:&lt;br /&gt;&lt;br /&gt;Next, navigate to the particular IP address in the web browser and look for the response.&lt;/nowiki&gt;</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">&lt;section id="story"&gt;&lt;br /&gt;Congratulations! You’ve just implemented a simple web server on the ESP32. You can now access this server from any device connected to the same Wi-Fi network by entering the ESP32’s IP address into a web browser. This is just the beginning - you can expand this server to control GPIO pins, read sensor data, and much more. The possibilities are endless.&lt;br /&gt;&lt;/section&gt;</property:Step_Content>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Understanding the Basics</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Get PCBs For Your Projects Manufactured</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Step-by-Step Guide to Implementing a Web Server on ESP32</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Wrapping Up</property:Step_Title>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">ESP</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Wifi</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Webserver</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">ESP 32</property:Tags>
		<property:Type rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Creation</property:Type>
		<swivt:wikiPageModificationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2023-12-03T13:41:37Z</swivt:wikiPageModificationDate>
		<property:Modification_date-23aux rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2460282.0705671</property:Modification_date-23aux>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Implementing Web Server on ESP32</swivt:wikiPageSortKey>
		<property:Comments rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:Comments>
		<property:Page_creator rdf:resource="&wiki;Utilisateur-3ACETECH11"/>
		<property:I_did_it rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:I_did_it>
		<property:Favorites rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:Favorites>
	</swivt:Subject>
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#creationDate" />
	<owl:Class rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Category-3ATutorials" />
	<owl:Class rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Category-3APages_avec_des_erreurs_de_coloration_syntaxique" />
	<owl:ObjectProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#page" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiNamespace" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageContentLanguage" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AArea" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AComplete" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ACost" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ACurrency" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ADescription" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ADifficulty" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ADuration" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ADuration-2Dtype" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AIntroduction" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AIsTranslation" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ALanguage" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ALicences" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AMain_Picture" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ASourceLanguage" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AStep_Content" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AStep_Title" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ATags" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AType" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageModificationDate" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AModification_date-23aux" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageSortKey" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AComments" />
	<owl:ObjectProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3APage_creator" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AI_did_it" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AFavorites" />
	<!-- Created by Semantic MediaWiki, https://www.semantic-mediawiki.org/ -->
</rdf:RDF>