Категории

history.php - сборщик данных с датчиков для графиков и исторических данных

24.11.2025 10:10 | коды из категории: IOT умный дом

про history.php - скрипта для сбора исторических данных с датчиков

Этот PHP-скрипт предназначен для получения исторических данных с IoT-датчиков за последние 24 часа из базы данных и предоставления их в формате JSON. Он используется, например, для построения графиков или анализа изменений показаний датчиков во времени.

Как это работает:

Типичное применение:

Скрипт может использоваться в веб-интерфейсе системы мониторинга IoT, например, для отображения графика температуры, влажности или других параметров за сутки с помощью JavaScript-библиотек (Chart.js, Plotly и т.д.).

Структура таблицы (предполагаемая):

CREATE TABLE sensor_history (
    id INT AUTO_INCREMENT PRIMARY KEY,
    topic VARCHAR(255) NOT NULL,
    value VARCHAR(255) NOT NULL,
    timestamp DATETIME DEFAULT CURRENT_TIMESTAMP
);

<?php
header("Content-Type: application/json");

$topic = filter_input(INPUT_GET, 'topic', FILTER_SANITIZE_STRING);
if (!$topic) {
    echo json_encode([]);
    exit;
}

try {
    $pdo = new PDO("mysql:host=127.0.0.1;dbname=iot_db;charset=utf8mb4", "iot_user", "123456");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // Запрашиваем данные за последние 24 часа
    $stmt = $pdo->prepare("
        SELECT value, timestamp
        FROM sensor_history
        WHERE topic = ?
          AND timestamp >= NOW() - INTERVAL 24 HOUR
        ORDER BY timestamp ASC
    ");
    $stmt->execute([$topic]);

    $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
    echo json_encode($data);

} catch (PDOException $e) {
    http_response_code(500);
    echo json_encode(['error' => $e->getMessage()]);
}

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку

Важно: Блог-эксперимент

Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.

Посетителей сегодня: 0


кто я | книга | контакты без контактов

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA