Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025) — различия между версиями

Материал из 0x1.tv

(Новая страница: «;{{SpeakerInfo}}: {{Speaker|Ростислав Воронин}} <blockquote> </blockquote> {{VideoSection}} {{vimeoembed||800|450}} {{youtubelink|}} {{SlidesSe…»)
 
;{{SpeakerInfo}}: {{Speaker|Ростислав Воронин}}
<blockquote>
Контроллер Smart Therm на основе протокола  Open Therm позволяет организовать эффективное управление и оптимизацию
затрат для стабильной поддержке теплового режима внутри автономно отапливаемых помещений. 

Данное решение не требует дополнительных постоянных затрат и основано на свободном программном обеспечении от ALT Linux. 
</blockquote>

{{VideoSection}}

{{vimeoembed||800|450}}
{{youtubelink|}}

{{SlidesSection}}
[[File:Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf|left|page=-|300px]]

{{----}}

== Thesis ==

* http://smarttherm.ru/

В жилых и производственных помещениях с автономным отоплением  остро встаёт вопрос экономии энергоресурсов для отопления
при стабильности поддержания наиболее оптимальных, комфортных температур. Для решения этой технологической задачи
оптимизации управления тепловыми режимами отопления, позволяющих осуществлять ресурсо-энергосбережение самым
оптимальным будет использование контроллера  SmartTherm (ST) который общается с котлом по протоколу OpenTherm (OT)<ref name="voronin-bib1">Аппаратная схема шлюза OpenTherm состоит из пяти основных частей: [https://otgw.tclcode.com/schematic.html]</ref><ref name="voronin-bib2">Программная часть протокола OpenTherm [https://ihormelnyk.com/Content/Pages/opentherm_library] </ref>. 
Конечно это возможно,  при условии наличия  интерфейса связи OT на плате управления самого котла
отопления. 

Разработанные алгоритмы управления позволяют повысить тепловую комфортность помещений и энерго-ресурсосбережение
комплексов отопления на 12—17% от годовых затрат на топливо. Результаты экспериментальных исследований водяного
газового теплового комплекса для достижения необходимых показателей приведены в работе<ref name="voronin-bib3">Кашинский&nbsp;А.&nbsp;Н. <i>Разработка структурно-алгоритмического обеспечения и повышение 
эффективности управления процессом стабилизации температуры воздуха в автономно отапливаемом 
производственном помещении</i> / Автореферат диссертации на соискание учёной степени кандидата технических наук. Специальность 05.13.06   «Автоматизация и управление технологическими процессами и производствами (промышленность)» // [https://sci.vlsu.ru/main/zaschita/Kashinskiy/Kashinskiy.pdf] </ref>.

Для реализации энергоэффективного управления  отоплением был разработан аппаратно программный комплекс SmartTherm(ST) с 
погодозависимой логикой. Он в себя включает собственно сам контроллер управления для связи с котлом по шине OpenTherm.
Центральным процессором этого контроллера был выбран  ESP WROOM-32. Кроме поддержки OpenTherm контроллер может измерять
температуру с двух цифровых выносных датчиков температуры DS18b20 и обрабатывать один аналоговый сигнал. ST сам
контролирует техническое состояние котла и сигнализирует о его неисправности, при возникновении внештатных ситуаций или
отключении напряжения питания.

ST использует открытое программное обеспечение для прошивки контроллера и открытую электрическую схему<ref name="voronin-bib1"></ref>. 

Поскольку контроллер SmartTherm использует процессор ESP32 то возможна дистанционная связь с ним по встроенным модулям WiFi/Bt.
Самую последнюю бинарную версию прошивки  можно скачать с гитхаба<ref name="voronin-bib6">Прошивка для контроллера SmartTherm  [https://github.com/Evgen2/SmartTherm]</ref>. Либо же из исходников её собрать
самостоятельно в среде Arduino и/или Platformio.

Обновление и загрузка прошивки контроллера в сам модуль ESP32 возможно как по кабелю USB, так и через WiFi из браузера. 

Для  загрузки  бинарного файла в отладочную плату ESP WROOM-32 используется утилита ESPTool, которая устанавливается в
ALT Linux командой:

<code-bash>
    # apt-get install esptool
</code-bash>    

После скачивания прошивки загрузить её в модуль ESP32 можно командой:

<code-bash>    
    $ esptool write_flash 0x00000 Smart_Therm_0.1.2_20250118.bin
</code-bash>    

Оригинальная прошивка SmartTherm<ref name="voronin-bib6">Прошивка для контроллера SmartTherm  [https://github.com/Evgen2/SmartTherm]</ref> позволяет подключить контроллер к отопительному котлу и диагностировать возможные
проблемы как с котлом, так и со связью по WiFi. Благодаря разработанным алгоритмам,  прошивка ST  реализует систему
управления температурным режимом с  погодозависимой логикой,  на  основе пропорционально-интегрально-дифференциального
(ПИД) регулятора. Данные о внешней среде  можно получать от Яндекс-погоды или бесплатно из приложения HomeAssistant<ref name="voronin-bib5">Ресурсы HomeAssistant [https://www.home-assistant.io/]</ref>
от интеграции Forecast Home Норвежского метеорологического института. 

В текущем релизе реализована система удалённого управления котлом через собственное облако, которое собирается и
устанавливается  на любом Linux хостинге<ref name="voronin-bib7">Облачный сервер [https://github.com/Evgen2/SmartServer] </ref> командой:

<code-bash>    
$ g++ Server2.cpp SmartServer2.cpp SmartServer.cpp 
      SmartClient.cpp AutoConfig.cpp SmartDevice.cpp 
          TCPconnection.cpp -pthread -o Smartserver
</code-bash>    

Запускается облачный сервер командой:

    $ Smartserver &

В приложении для OS Android предусмотрена настройка на облачный хостинг по умолчанию. Преимущество этого облачного
приложения  в том, что оно  не привязано ни к какому поставщику аппаратных решений , ни к какому хостинг   
провайдеру и может быть запущена на любом linuх сервере    без жёстких привязок к поставщикам программного
обеспечения. Необходимым условием, для доступа к ресурсу извне является, только лишь наличие белого (реального) IP
адреса на нём. 

Приложение для смартфона на базе OS Android опубликовано на гитхабе под лицензией  MIT license<ref name="voronin-bib8">Клиент для Android [https://github.com/Evgen2/SmartThermClient]</ref>.

Приложение Home Assistant<ref name="voronin-bib5"></ref> было выбрано постольку, поскольку оно  позволяет  оформить удобное и наглядное управление
с графиками и просмотр истории событий.  Связь  ST с HA и передача данных происходит по протоколу MQTT. Так же в HA 
разработаны  сценарии автоматизации, что очень удобно для выполнения рутинных операций.  Установка и настройка MQTT
брокера, осуществляется в ALT Linux командой: 

<code-bash>    
# apt-get install mosquitto
</code-bash>    

[[File:osseduconf-2025-voronin-voronin-smart_therm.png|center|640px|thumb|Схема взаимодействия контроллера SmartTherm с внешними и локальными приложениями]]

* Описание контроллера SmartTherm  [http://smarttherm.ru/]


{{----}}
[[File:{{#setmainimage:Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025)!.jpg}}|center|640px]]
{{LinksSection}}
<!-- <blockquote>[©]</blockquote> -->

<references/>

[[Категория:OSEDUCONF-2025]]
[[Категория:Draft]]
[[Категория:СПО в образовании]]

Версия 13:18, 17 марта 2025

Докладчик
Ростислав Воронин

Контроллер Smart Therm на основе протокола Open Therm позволяет организовать эффективное управление и оптимизацию затрат для стабильной поддержке теплового режима внутри автономно отапливаемых помещений.

Данное решение не требует дополнительных постоянных затрат и основано на свободном программном обеспечении от ALT Linux.

Видео

Презентация

Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf Разработка алгоритмов программного обеспечения для управления отоплением на основе ALT Linux (Ростислав Воронин, OSEDUCONF-2025).pdf

Thesis

В жилых и производственных помещениях с автономным отоплением остро встаёт вопрос экономии энергоресурсов для отопления при стабильности поддержания наиболее оптимальных, комфортных температур. Для решения этой технологической задачи оптимизации управления тепловыми режимами отопления, позволяющих осуществлять ресурсо-энергосбережение самым оптимальным будет использование контроллера SmartTherm (ST) который общается с котлом по протоколу OpenTherm (OT)[1][2]. Конечно это возможно, при условии наличия интерфейса связи OT на плате управления самого котла отопления.

Разработанные алгоритмы управления позволяют повысить тепловую комфортность помещений и энерго-ресурсосбережение комплексов отопления на 12—17% от годовых затрат на топливо. Результаты экспериментальных исследований водяного газового теплового комплекса для достижения необходимых показателей приведены в работе[3].

Для реализации энергоэффективного управления отоплением был разработан аппаратно программный комплекс SmartTherm(ST) с погодозависимой логикой. Он в себя включает собственно сам контроллер управления для связи с котлом по шине OpenTherm. Центральным процессором этого контроллера был выбран ESP WROOM-32. Кроме поддержки OpenTherm контроллер может измерять температуру с двух цифровых выносных датчиков температуры DS18b20 и обрабатывать один аналоговый сигнал. ST сам контролирует техническое состояние котла и сигнализирует о его неисправности, при возникновении внештатных ситуаций или отключении напряжения питания.

ST использует открытое программное обеспечение для прошивки контроллера и открытую электрическую схему[1].

Поскольку контроллер SmartTherm использует процессор ESP32 то возможна дистанционная связь с ним по встроенным модулям WiFi/Bt. Самую последнюю бинарную версию прошивки можно скачать с гитхаба[4]. Либо же из исходников её собрать самостоятельно в среде Arduino и/или Platformio.

Обновление и загрузка прошивки контроллера в сам модуль ESP32 возможно как по кабелю USB, так и через WiFi из браузера.

Для загрузки бинарного файла в отладочную плату ESP WROOM-32 используется утилита ESPTool, которая устанавливается в ALT Linux командой:

    # apt-get install esptool

После скачивания прошивки загрузить её в модуль ESP32 можно командой:

    $ esptool write_flash 0x00000 Smart_Therm_0.1.2_20250118.bin

Оригинальная прошивка SmartTherm[4] позволяет подключить контроллер к отопительному котлу и диагностировать возможные проблемы как с котлом, так и со связью по WiFi. Благодаря разработанным алгоритмам, прошивка ST реализует систему управления температурным режимом с погодозависимой логикой, на основе пропорционально-интегрально-дифференциального (ПИД) регулятора. Данные о внешней среде можно получать от Яндекс-погоды или бесплатно из приложения HomeAssistant[5] от интеграции Forecast Home Норвежского метеорологического института.

В текущем релизе реализована система удалённого управления котлом через собственное облако, которое собирается и устанавливается на любом Linux хостинге[6] командой:

$ g++ Server2.cpp SmartServer2.cpp SmartServer.cpp 
      SmartClient.cpp AutoConfig.cpp SmartDevice.cpp 
          TCPconnection.cpp -pthread -o Smartserver

Запускается облачный сервер командой:

   $ Smartserver &

В приложении для OS Android предусмотрена настройка на облачный хостинг по умолчанию. Преимущество этого облачного приложения в том, что оно не привязано ни к какому поставщику аппаратных решений , ни к какому хостинг — провайдеру и может быть запущена на любом linuх сервере — без жёстких привязок к поставщикам программного обеспечения. Необходимым условием, для доступа к ресурсу извне является, только лишь наличие белого (реального) IP адреса на нём.

Приложение для смартфона на базе OS Android опубликовано на гитхабе под лицензией MIT license[7].

Приложение Home Assistant[5] было выбрано постольку, поскольку оно позволяет оформить удобное и наглядное управление с графиками и просмотр истории событий. Связь ST с HA и передача данных происходит по протоколу MQTT. Так же в HA разработаны сценарии автоматизации, что очень удобно для выполнения рутинных операций. Установка и настройка MQTT брокера, осуществляется в ALT Linux командой:

# apt-get install mosquitto
Схема взаимодействия контроллера SmartTherm с внешними и локальными приложениями
  • Описание контроллера SmartTherm [8]


Примечания и ссылки

  1. 1,0 1,1 Аппаратная схема шлюза OpenTherm состоит из пяти основных частей: [1]
  2. Программная часть протокола OpenTherm [2]
  3. Кашинский А. Н. Разработка структурно-алгоритмического обеспечения и повышение эффективности управления процессом стабилизации температуры воздуха в автономно отапливаемом производственном помещении / Автореферат диссертации на соискание учёной степени кандидата технических наук. Специальность 05.13.06 — «Автоматизация и управление технологическими процессами и производствами (промышленность)» // [3]
  4. 4,0 4,1 Прошивка для контроллера SmartTherm [4]
  5. 5,0 5,1 Ресурсы HomeAssistant [5]
  6. Облачный сервер [6]
  7. Клиент для Android [7]