From 70c5ff480d8eebc5411c506625468aa9d347eb61 Mon Sep 17 00:00:00 2001 From: Sergey Vanyushkin Date: Sun, 14 Jan 2024 13:29:45 +0000 Subject: [PATCH] README --- README.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/README.md b/README.md index 8671e5f..6c54180 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,41 @@ # IoT_monitoring +Система мониторинга и сбора информации с устройств. + +## О проекте + +В ходе стажировки мне была поставлена задача реализовать систему мониторинга за удаленными сетевыми инверторами имеющими COM порт и отдающими данные по нему. +Данные статистики от инвертора необходимо переодически считывать, обрабатывать и сохранять в БД. +В качестве иструмента для хранения информации необходимо использовать timebased базу данных Influxdb. + +## Описание системы + +Система реализованна в виде 3 основных классов: +### Monitor +Основной диспетчер системы. Запрашивет информацию от конечных устройств через определенные интервалы времени, и отправляет их на сохранение в бд. +### Device +Шаблон класса опрашиваемого устройства. Описывает необходимую структуру реализации коннектора. +Все коннекторы должны наследоваться от него и реализовывать описанные методы. В частности, на данном этапе реализован класс Inverter, который парсит и возвращает полученные данные от инвертора. +Так как физическое подключение к инвертору пока оставлено за скобками, то данные от инвертора представлены в файле telemetry.txt Для работы с ним создан класс FakeInverter, который симулирует получение данных за последние 23ч с интервалом запросов в 10минут. +### InfDBSession +Реализует сессию взаимодействия с БД. Сессия реализует методы: +- add добавление в сессию объекта для записи +- commit записывает в бд все добавленные объекты + + +## Установка +Используется poetry для управления зависимостями. + +Если poetry не установлен: +> pip install poetry + +Клонируем: +> git clone https://git.pi3c.ru/pi3c/IoT_monitoring.git + +> cd IoT_monitoring + +Создаем вирт. окружение с установкой зависимостей +> poetry install --no-root + +## ToDo +много чего :)