Skip to content

Latest commit

 

History

History
63 lines (55 loc) · 4.7 KB

README.md

File metadata and controls

63 lines (55 loc) · 4.7 KB

Управление и мониторинг режима работы термоконтроллеров MVP

Стек: Python, FastAPI, HTML, CSS, C, ESP8266

Находится в разработке.

Проект предназначен для управления и мониторинга температурных режимов террариумов с возможностью удалённого управления. Подключение температурных контроллеров к API удалённого сервера, с возможностью просмотра и корректировки режима работы, возможность ручной корректировки режима работы энкодерами температурных контроллеров, визуальное отображение текущего температурного режима встроенным семисегментным индикатором

Реализовано esp8266 (C):
Котнроль температурного режима термоконтроллерами
Ручная регулировка температурного режима
Подключение термоконтроллера к WiFi
Отображение температурного режима семисегментным индикатором
Сохранение настроек в энергонезависимой памяти контроллера
Передача текущей температуры серверу мониторинга
Получение от сервера новых значений для температурного контроллера
TODO:
Ручная регулировка температурного режима Реализовано
Подключение термоконтроллера к WiFi Реализовано
Отображение температурного режима семисегментным индикатором Реализовано
Сохранение настроек в энергонезависимой памяти контроллера Реализовано
Передача текущей температуры серверу мониторинга Реализовано
Получение от сервера новых значений для температурного контроллера Реализовано

Реализовано сервер мониторинга и управления (Python FastAPI):
Порлучение списка зарегистрированных термоконтроллеров API Реализовано
Получение одного термоконтроллера API Реализовано
Удаление термоконтроллера API
TODO:
Админка Реализовано
Фронтенд отображения режимов работы термоконтроллеров
Фронтенд изменение режимов работы термоконтроллеров
Статистика температурных режимов за период

Будущие планы расширения проекта:
Android приложение с функцией мониторинга и управления

Настройка подключения ESP8266 выполняется в settings.h
SERVER_IP - адрес API сервера
SERVER_POST_MESSAGE_INTERVAL_x10ms - Интервал обмена данными с API сервера кратный 10us
WIFI_SSID - SSID точки доступа WiFi
WIFI_PASS - Пароль WiFi
RELAY_PIN - Порт подключения реле нагревателя
DIO_PIN - Порт подключения TM1637 DIO
CLK_PIN - Порт подключения TM1637 CLK
TEMP_SENSOR_PIN - Порт подключения DS18B20

Пример конфигурации esp8266:
#define SERVER_POST_MESSAGE_INTERVAL_x10ms 10*5
#define SERVER_IP "http://domain_name.com/api/sensors/"
#define WIFI_SSID "WiFi SSID"
#define WIFI_PASS "WiFi Password"
#define LED_PIN 16
#define RELAY_PIN 0
#define DIO_PIN 4
#define CLK_PIN 5
#define TEMP_SENSOR_PIN 2

Документация API backend доступна по адресу: http://domain_name/docs

Автор: К.Гурашкин