Интернет-магазин «Неглупый Дом»
ESP8266 читает последние значения из AT24C256 и показывает их списком на веб-странице.
Это минимальный веб-сервер на ESP8266: `WiFiServer` слушает порт 80, и при подключении клиента код читает из EEPROM запись за записью, формируя HTML прямо в памяти и отправляя его через `client.println()` — та же идея, что в веб-фреймворках, но написанная вручную.
Формат чтения (2 байта на запись, адрес = `index * 2`, температура×10) совпадает с проектом «Логгер температуры в EEPROM»: страница не создаёт данные сама, а работает как просмотрщик результатов того логгера через общий участок памяти.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, что указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, я языковая
// модель, а не специализированный кодер, могу что-то упустить.
#include <ESP8266WiFi.h>
#include <Wire.h>
const char* ssid = "your_wifi_name";
const char* password = "your_wifi_password";
WiFiServer server(80);
const int EEPROM_ADDR = 0x50;
const int entryCount = 10;
int readEntry(int index) {
int addr = index * 2;
Wire.beginTransmission(EEPROM_ADDR);
Wire.write(addr >> 8);
Wire.write(addr & 0xFF);
Wire.endTransmission();
Wire.requestFrom(EEPROM_ADDR, 2);
int value = Wire.read() << 8 | Wire.read();
return value;
}
void setup() {
Serial.begin(9600);
Wire.begin(4, 5);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
Serial.print("IP-адрес сервера: ");
Serial.println(WiFi.localIP());
server.begin();
}
void loop() {
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.println("<html><body><h1>История измерений</h1><ul>");
for (int i = 0; i < entryCount; i++) {
client.print("<li>Запись ");
client.print(i);
client.print(": ");
client.print(readEntry(i) / 10.0);
client.println(" °C</li>");
}
client.println("</ul></body></html>");
}
Формат данных совпадает с проектом «Логгер температуры в EEPROM» — эта страница отлично подходит как просмотрщик его результатов.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 345 ₽ 311 ₽ (экономия 34 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.