Веб-сервер на Arduino Uno WiFi: управление LED через браузер
Компоненты и материалы
| Компонент | Количество |
|---|---|
| Arduino UNO WiFi | 1 |
| Светодиод (любой) | 1 |
| Резистор 220 Ом | 1 |
| Провода, макетная плата | — |
О проекте
Пример реализации простого веб-сервера на Arduino UNO WiFi для включения/выключения светодиода через браузер.
1. Аппаратная часть
- Arduino UNO WiFi
- Светодиод (можно использовать встроенный на пине 13)
- Резистор 220 Ом (если используете внешний LED)
- Провода и макетная плата
2. Схема подключения
Анод LED (длинная нога) через резистор 220 Ом к пину 13, катод — к GND. Если используете встроенный LED L (пин 13), внешние компоненты не нужны.

3. Программный код
Загрузите скетч ниже. После подключения к WiFi откройте в браузере:
https://<IP_адрес>/arduino/webserver/- или
https://<hostname>.local/arduino/webserver/
#include <Wire.h>
#include <ArduinoWiFi.h>
void setup() {
pinMode(13, OUTPUT);
Wifi.begin();
Wifi.println("WebServer Server is up");
}
void loop() {
while (Wifi.available()) {
process(Wifi);
}
delay(50);
}
void process(WifiData client) {
String command = client.readStringUntil('/');
if (command == "webserver") WebServer(client);
if (command == "digital") digitalCommand(client);
}
void WebServer(WifiData client) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<html>");
client.println("<head></head>");
client.print("<body>");
client.print("Click<input type=button onClick=\"var w=window.open('/arduino/digital/13/1','_parent');w.close();\" value='ON'>pin13 ON<br>");
client.print("Click<input type=button onClick=\"var w=window.open('/arduino/digital/13/0','_parent');w.close();\" value='OFF'>pin13 OFF<br>");
client.print("</body>");
client.println("</html>");
client.print(DELIMITER); // обязательно для завершения связи
}
void digitalCommand(WifiData client) {
int pin = client.parseInt();
if (client.read() == '/') {
int value = client.parseInt();
digitalWrite(pin, value);
}
client.println("Status: 200 OK\n");
client.print(F("Pin D"));
client.print(pin);
client.print(F(" set to "));
client.print(value);
client.print(EOL);
}
4. Результат в браузере

Нажатие кнопки ON отправляет запрос /arduino/digital/13/1, LED загорается. Кнопка OFF — /arduino/digital/13/0, LED гаснет.


Также можно управлять через веб-панель Arduino UNO WiFi (доступна по тому же IP/hostname).

Примечание: В браузере вводите IP-адрес или hostname.local вашей платы для доступа к веб-панели.
Схема

Производственный процесс
- Построение Wi-Fi-управляемого робота на Raspberry Pi с Python — пошаговое руководство
- Интерактивная кукла «Игра в кальмара» на Arduino UNO: DIY-проект
- Создание потрясающей системы Ambilight для монитора на Arduino
- Робот для поиска людей на базе Arduino Uno: пошаговая интеграция датчиков
- Умный вольтметр на Arduino и смартфоне — простое DIY-проект
- IoT-монитор пульса в реальном времени на Arduino и MAX30100
- Простой калькулятор на Arduino UNO — базовый проект для начинающих
- Сборка портативного дисплея на основе эффекта сохранения изображения с Arduino UNO и ATtiny85
- Автоматизация игры «Динозавр» в Chrome на Arduino и LDR с Python
- WiFi-умный замок на Arduino и ESP8266 — открывание с телефона