
Интернет-магазин «Неглупый Дом»
Веб-страница ESP8266 показывает температуру с DS18B20 из любой точки сети, а локальный зуммер сразу включается прямо у платы при перегреве — даже если никто в этот момент не смотрит на страницу.
#include <ESP8266WiFi.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
const int buzzerPin = 0;
const float alarmTemp = 30.0;
const char* ssid = "your_wifi_name";
const char* password = "your_wifi_password";
WiFiServer server(80);
void setup() {
sensors.begin();
pinMode(buzzerPin, OUTPUT);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
server.begin();
}
void loop() {
sensors.requestTemperatures();
float t = sensors.getTempCByIndex(0);
digitalWrite(buzzerPin, (t > alarmTemp) ? HIGH : LOW);
WiFiClient client = server.available();
if (!client) return;
client.readStringUntil('\r');
client.flush();
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html; charset=utf-8");
client.println();
client.print("<html><body><h1>Температура: ");
client.print(t);
client.print(" °C</h1>");
if (t > alarmTemp) client.print("<p style='color:red'>ПЕРЕГРЕВ!</p>");
client.println("</body></html>");
}
Сирена включается независимо от того, открыта ли веб-страница в браузере — проверка температуры и управление зуммером происходят в каждом цикле `loop()` до и вне зависимости от обработки веб-запроса.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу в корзину: 308 ₽ 277 ₽ (экономия 31 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.