Основной целью урока — вывод данных в браузер через WiFi используя микроконтроллер ESP8266.
Перед тем как мы начнем писать код, необходимо убедиться, что у нас установлены необходимые библиотеки: DTH.h, если они еще не установлены, тогда необходимо перейти в раздел управление библиотеками:

Далее в поле поиска библиотек написать нужную библиотеку, после чего установить ее:
Датчик подключаем к 5 ножке. Расположение выводов датчика:

Параметры датчика:
Источник питания: 3.3-6V DC
Измерение влажности: 0-100% с погрешностью ±2%
Увеличение погрешности: ±0.5%/час
Влажность гистерезиса: ±0.3%
Измерение температуры: -40…+125°C, погрешность ±0.5°C
Программный код для вывода данных в браузер:
#include <ESP8266WiFi.h>
#include "DHT.h"
// DHT22
#define DHTPIN 5 // номер ножки куда подключать датчик
#define DHTTYPE DHT22 //определяем тип датчика
// Инициализируем DHT сенсор.
DHT dht(DHTPIN, DHTTYPE);
// WiFi параметры
const char* ssid = "****";// свои данные
const char* password = "****";// свои данные
// Работаем через 80 порт
//Создаем сервер
WiFiServer server(80);
// Переменные, которые будут представлены API
float temperature;
float humidity;
void setup(void){
Serial.begin(115200);
// Инициализация датчика
dht.begin();
// Подключаемся к WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Старт сервер
server.begin();
Serial.println("Server started");
// Выводим IP адрес в мониторинг
Serial.println(WiFi.localIP());
}
void loop() {
// ПРОВЕРКА ПОДКЛЮЧЕНИЯ КЛИЕНТА
WiFiClient client = server.available();
if (!client) {
return;
}
// ЖДЁМ КЛИЕНТА
Serial.println("new client");
while(!client.available()){
delay(1);
}
client.flush();
//Читаем температуру и давление
humidity = dht.readHumidity();
temperature = dht.readTemperature();
// ПОДГОТОВКА HTML-страницы
String s = "<!DOCTYPE HTML>\r\n<meta http-equiv='content-type' content='text/html; charset=UTF-8'>\r\n";
s += "<html>";
s += " <HEAD>";
s += " <title>DHT-22</title>";
s += " <BODY>";
s += " <CENTER>";
s += " <H3>DHT-22</H3><br>";
s += " <H4>temperature=+"+String(temperature, DEC) +"</H4><br>";
s += " <H4>humidity=+"+String(humidity, DEC) +"</H4><br>";
s += " </CENTER>";
s += " </BODY>";
s += "/<html>";
// ОТПРАВКА СТРАНИЦЫ КЛИЕНТУ
client.print(s);
Serial.println("Client disonnected");
} 