Then add the following URL to activated the esp8266 Core: http://arduino.esp8266.com/stable/package_esp8266com_index.json
after that go to Tools>>Boards>>Boards Manager for installing the latest board manager supporting the esp8266 module.
Type in the searching bar "esp8266" and install the board manager to get able to program it throw Arduino IDE.
chooses the esp board in the list as you have, after that you ready to go..
Now you have an Arduino board with wifi Specifications, so now any library in the Arduino IDE working with the esp8266, the code below it's a simple example of web server control of a state of pin number 3 if it's on or off.
Arduino code
#include <ESP8266WiFi.h> const char* ssid = "your ssid"; const char* password = "your password"; int ledPin = 3; WiFiServer server(80); void setup() { Serial.begin(115200); delay(10); pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); // Connect to WiFi network Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); // Start the server server.begin(); Serial.println("Server started"); // Print the IP address Serial.print("Use this URL to connect: "); Serial.print("http://"); Serial.print(WiFi.localIP()); Serial.println("/"); } void loop() { // Check if a client has connected WiFiClient client = server.available(); if (!client) { Serial.println("No client"); delay(500); return; } // Wait until the client sends some data Serial.println("new client"); while(!client.available()){ delay(1); } // Read the first line of the request String request = client.readStringUntil('\r'); Serial.println(request); client.flush(); // Match the request int value = LOW; if (request.indexOf("/LED=ON") != -1) { digitalWrite(ledPin, HIGH); value = HIGH; } if (request.indexOf("/LED=OFF") != -1) { digitalWrite(ledPin, LOW); value = LOW; } // Set ledPin according to the request //digitalWrite(ledPin, value); // Return the response client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); // do not forget this one client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.print("Led pin is now: "); if(value == HIGH) { client.print("On"); } else { client.print("Off"); } client.println("<br><br>"); client.println("<a href=\"/LED=ON\"\"><button>Turn On </button></a>"); client.println("<a href=\"/LED=OFF\"\"><button>Turn Off </button></a><br>"); client.println("</html>"); delay(1); Serial.println("Client disonnected"); Serial.println(""); }