|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 4:42 pm
Управление на отопление с ESP8266 по температура или време
| Автор |
Съобщение |
|
kalata23
Ранг: Популярен
Регистриран на: Пон Дек 15, 2014 11:05 pm Мнения: 332
|
 Управление на отопление с ESP8266 по температура или време
Зимата наближава и реших тази година, малко да оптимизирам отоплението вкъщи. Не се знае каква зима ще бъде, пък предишните години съм бил в положение - или е топло вкъщи, ама отоплението работи постоянно, когато сме вкъщи - или не е чак толкова топло, но пък отоплението не работи когато спим. За това ми се върти идея, да оптимизирам малко отоплението през зимния сезон.
За това ми се е заформило желание да направя терморегулатор, който ще се управлява от място (т.е с копчета да се задава температурата) и чрез някакво приложение, било то WEB интерфейс или приложение за телефон (за приятелката ми е много сложно да цъка браузъри от телефона и да помни адреси на страници). Тук нарочно не споменавам какъв отоплителен уред ще управлявам, защото за момента съм се спрял на радиатора в спалнята, но в зависимост от реализацията на проекта може да го мултиплицирам същия проект с леки модификации и да го управлявам още и климатика в хола.
Изискванията към управлението на радиатора/климатика са: - Да може да се управлява по температура - Да може да се управлява по време
За MCU съм се спрял на ESP8266, защото китайците продават готови готови платки с USB-serial converter на платката и всичко, което е необходимо, за да му бучнеш един сензор и едно реле, без необходимост от особено много допълнителни части, при това за около $2-3. Предимство е и че ESP8266 има Wifi Sta+SoftAP, което също спестява чаркове.
От хардуерна гледна точка съм го замислил, терморегулатора да е събран в една кутия. Ще има 2 бутона за регулиране на температурата, един бутон за превключване на Ръчно/Дистанционно управление, LCD дисплей, да показва измерената и зададената температура и толкова.
Единственото, което ме мъчи е управлението по време. Искам да мога да планирам включванията и изключванията, например:
- Включи след определен период от време. - Включи в точно определен период от време. - Включи в точно определено време всеки Понеделник - Петък.
Към момента успях да измисля два варианта, като и двата не ми харесват.
Вариант 1 - изпращам заявки директно към ESP-то, то си създава задачи. От RTC или Internet взима реалното време и периодично проверява дали е дошъл момента да изпълни някоя от задачите, ако ли не, си цикли.
Вариант 2 - Изпращам заявки към домашния компютър (сървъра), той създава Cron jobs/tasks, те пък изпращат заявки към ESP-то, което пък включва/изключва отоплителния уред.
При вариант 1, опасенията ми са, че разполагам с лимитирани ресурси, все пак машинката ще търкаля HTTP сървър, wifi стек, ще говори по I2C, а и при спиране на захранването, трябва да помни всички настройки, EEPROM паметта, ако изобщо има такава, а не е секция от flash паметта, е 512 байта, в които вече 160 са заети за 2 SSID-та по 16 байта, 2 пароли по 64 байта. Добавянето на външна eeprom памет също е вариант, но пък увеличава времето за комуникиране с периферията, за сметка на времето за изпълнение на вътрешните си задачи.
При вариант 2, опасенията ми са, че тия cron jobs/tabs ще ги създавам от php скрипт, който при един друг проект ми показа, че не е много надеждно решение. Единственото предимство на този вариант е, че тъй като вече имам инсталиран XAMMP, комуникацията навън ще е една идея по-сигурна, защото ще бъде през https, вместо http.
Не знам как се подхожда в подобни случаи? Как бихте реализирали целта и с какво? Мислих си и за MQTT, ако пусна брокер на сървъра и ESP-то е клиент. Но пък не съм запознат с MQTT и предполагам ще се наложи да си пиша собствен Web базиран клиент, с който да управялвам ESP-то от WEB-а.
|
| Нед Сеп 22, 2019 1:53 am |
|
 |
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 11:53 pm Мнения: 4582 Местоположение: Brussels / Пловдив
|
 Re: Управление на отопление с ESP8266 по температура или вре
Тая работа трябва да се управлява през смартфон - да ви следи координатите и когато има някой примерно на 10-20 минути от вкъщи да включва/изключва отоплението 
_________________ Мразя да мразя ...
|
| Нед Сеп 22, 2019 2:01 am |
|
 |
|
kalata23
Ранг: Популярен
Регистриран на: Пон Дек 15, 2014 11:05 pm Мнения: 332
|
 Re: Управление на отопление с ESP8266 по температура или вре
То, само това остава.. 
|
| Нед Сеп 22, 2019 2:16 am |
|
 |
|
itso.t
Ранг: Форумен бог
Регистриран на: Чет Фев 03, 2005 2:21 am Мнения: 12765 Местоположение: София
|
 Re: Управление на отопление с ESP8266 по температура или вре
Що бре, готино е. Прибираш се за да си оставиш автомобила пред вас, и да отидеш спокойно на кръчма, а в това време климатика вече се е включил и бичи ли бичи... Не те ли кефи идеята? 
|
| Нед Сеп 22, 2019 9:45 am |
|
 |
|
bongo_x2
Ранг: Форумен бог
Регистриран на: Вто Яну 20, 2009 11:54 pm Мнения: 11338 Местоположение: "Занзибар"
|
 Re: Управление на отопление с ESP8266 по температура или вре
Повечето климатици вече го имат. Дори този, който сложих скоро на бабата, срешу 20лв отгоре му даваха WiFi, ама аз нарочно не исках. 
|
| Нед Сеп 22, 2019 10:12 am |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Управление на отопление с ESP8266 по температура или вре
нищо страшно няма в MQTT, просто трябва да знаеш как да работиш на ниво USER .... демек "чат" сорса ти за ESP е библиотека и 10 реда сорс (дори и секюрнато) тук можеш да видиш примери за работа с PubSub https://github.com/Wiz-IO/platform-wizi ... r/examplesпак там ... може да си направиш демони за сървъра написани на Ардуино PHP, Pytnon, Node варианти на библиотеки - колкото щеш ако ще ползваш MQTT секюрнат(TLS) зора ти е да настроиш брокера да работи като такъв или да ползваш външен "платен" ... това сигурно отпада също така може да пробваш https://blynk.io/ за андроида и ESP-то е лесно
_________________ main[-1u]={1};
|
| Нед Сеп 22, 2019 10:22 am |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: Управление на отопление с ESP8266 по температура или вре
Аз повече бих мислил за управлението по температура. Ако просто включваш и изключваш нагряването при определени зададени прагове, че получиш много голямо отклонение от зададената температура и нещото ще работи неефективно. За да избегнеш това, следва да отчиташ скоростта с която се променя температурата и така регулаторът да работи с предсказване. Демек да реализираш ПИД алгоритъм. За времето най-добре ползвай RTC модул. Ако няма достатъчно ресурси за всичкото, възложи меренето и регулирането на температурата на отделен контролер.
|
| Нед Сеп 22, 2019 10:25 am |
|
 |
|
amdatlon
Ранг: Почетен член
Регистриран на: Чет Мар 19, 2009 8:33 pm Мнения: 804
|
 Re: Управление на отопление с ESP8266 по температура или вре
Мярнах една такава тема в друг форум , май е такова каквото търсиш http://www.e-kak.info/forum/viewtopic.php?f=37&t=7353Sonoff.
|
| Нед Сеп 22, 2019 2:13 pm |
|
 |
|
kalata23
Ранг: Популярен
Регистриран на: Пон Дек 15, 2014 11:05 pm Мнения: 332
|
 Re: Управление на отопление с ESP8266 по температура или вре
За сега хистерезисът е достатъчен. ПИД или нещо от вида, ми се струва, ще е по-полезен ако мога да управлявам мощността на отоплителния уред.  |  |  |  | TheWizard написа: нищо страшно няма в MQTT, просто трябва да знаеш как да работиш на ниво USER .... демек "чат" сорса ти за ESP е библиотека и 10 реда сорс (дори и секюрнато) тук можеш да видиш примери за работа с PubSub https://github.com/Wiz-IO/platform-wizi ... r/examplesпак там ... може да си направиш демони за сървъра написани на Ардуино PHP, Pytnon, Node варианти на библиотеки - колкото щеш ако ще ползваш MQTT секюрнат(TLS) зора ти е да настроиш брокера да работи като такъв или да ползваш външен "платен" ... това сигурно отпада също така може да пробваш https://blynk.io/ за андроида и ESP-то е лесно |  |  |  |  |
Въпросът е с MQTT как става реализирането на планировчика? Къде се съхраняват плановете, как се изпълняват? ПП: Sonoff е друга бира. въпросът е да си направя сам Sonoff-а.
|
| Нед Сеп 22, 2019 2:35 pm |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: Управление на отопление с ESP8266 по температура или вре
Мощността не се ли регулира? Ако отоплителят е включен през 50% от времето, мощността не е ли 50% от максималната?
|
| Нед Сеп 22, 2019 3:20 pm |
|
 |
|
kalata23
Ранг: Популярен
Регистриран на: Пон Дек 15, 2014 11:05 pm Мнения: 332
|
 Re: Управление на отопление с ESP8266 по температура или вре
Нещо не те разбирам... Под мощност имам предвид, да мога да управлявам колко реотана да работят или колко силно да духа перката. А един радиатор, който е с 1-2 реотана, които винаги рабтоят заедно, дали е практично да го управлявам с ШИМ през реле? Все си мисля, че мощността ще е константна, без значение дали ще работи 30 минути радиаторът и ще изключи или ще работи цял ден. Ако бъркам, моля да ме поправиш.
ПП: Добре. ще вкарам малко детайли: Имам един радиатор Смядово, който е в спалнята. Той ще се управлява през реле (20-25А), че контакторите ще има да ме будят посред нощ. Радиаторът го пускам и спирам през релето, като меря температурата или задавам времето, когато трябва да сработи или изключи релето. В хола имам климатик. Климатикът за сега не влиза в управлението на регулатора, а и него мога и сега да си го управлявам дистанционно, без да има вграден WiFi. Едно ESP + инфраред, е напълно достатъчно да му пращам команди. Имам и скрипт с който мога да му пращам пакета с командите и да си променям който си искам параметър през WEB интерфейс.
|
| Нед Сеп 22, 2019 3:41 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Управление на отопление с ESP8266 по температура или вре
общо взето това се прави с "копи/пейст" ... нещо като това: https://www.youtube.com/watch?v=7t0ZkJ7 ... r_embedded
_________________ main[-1u]={1};
|
| Нед Сеп 22, 2019 4:23 pm |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: Управление на отопление с ESP8266 по температура или вре
Мощността е извършената работа за дадено време. Ако променяш съотношението време през което нещото е включено / време през което нещото е изключено (ШИМ) променяш средната мощност за целия период от време.
Това е единственият начин да се регулира мощност на изход, който има само 2 въможни състояния - включен или изключен.
Това, че щракалката може и да те буди сигурно е неприятно, но по-неприятното е ако изключиш нагревателя прекалено късно и температурата подмине желаната. Това, колко по-рано от желаната ще изключваш нагревателя пък зависи от скоростта с която се променя тя.
Не казвам, че така трябва да го направиш, но така се прави обикновено винаги, когато има относително инертни процеси, какъвто е топлообменът.
|
| Нед Сеп 22, 2019 4:38 pm |
|
 |
|
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 8:04 pm Мнения: 2663 Местоположение: София / Велико Търново
|
 Re: Управление на отопление с ESP8266 по температура или вре
Ами със тиристор/ симистор няма да трака. А какъв е смисълът от таймери, нали идеята е сам по интернет да го пуска, когато наближи времето да се прибира. Може да се сложи термометър - термодатчик, който да се следи през web
Иначе аз такова нещо освен за климатик не бих направил вкъщи - отоплителен уред без надзор.
|
| Нед Сеп 22, 2019 4:49 pm |
|
 |
|
kalata23
Ранг: Популярен
Регистриран на: Пон Дек 15, 2014 11:05 pm Мнения: 332
|
 Re: Управление на отопление с ESP8266 по температура или вре
TheWizard. Това с blink е супер и наистина е доста практично. Недостатъкът е, че "програмата" се изпълнява на самия смартфон. До колкото разбирам от видеата, софтуерът е на телефона, а есп-то изпълнява само команди. Какво става ако искам да мога да го управлявам от повече от едно устройства? Примерно, моята приятелка се прибира преди мен от работа, включва го като тръгва към вкъщи, после излиза от вкъщи, да си свърши нейните задачи, при което аз се прибирам? Освен това, тя е индианец, Сто на сто ще цъкне не където трябва и ще прецака "програмата", вместо да си пусне радиатора.
lcr, да, ако ползваш ШИМ, можеш да намалиш мощността, ама това значи релето да щрака като лудо и бързо ще изгори.
Славчо, терморегулаторът ще се включва в контакта а в другия си край ще има контакт, в който да се включва отоплителният уред. Не съм запознат с тиристорите, но от принципните схеми, които разгледах няма ли опасност фазата да остане постоянно включена, а нулата да е прекъсната, в зависимост от това, кой от двата щепсела е завъртян? С два тиристора, може да се прекъсват и двата контакта, ама тогава пак остава опасността единият тиристор да не сработи, а другият да сработи, т.е пак има възможност да е прекъсната само 0-та. С релетата поне мога да прекъсвам едновременно и фазата и нулата и така няма да има значение как съм завъртял щепсела, тогава най-лошите ситуации са - постоянно комутирани Фаза и Нула или нито едно от двете да не е комутирано.
За сега това с температурата нека си остане с прост хистерезис. Не виждам голяма разлика, дали радиаторът ще работи непрекъснато 1 час, после ще почива половин или ще работи наполовина 1:30 часа.
За сега целта ми е управлението през интернет да е унифицирано. Примерно ESP-то изпраща/получава заявки към Web server и действа според данните. Така по-късно мога да направя WEB API, което да генерира задачите или Andoid APP, който да генерира задачите. Все пак регулаторът ще се ползва по два начина - Задавам му примерно в 17:00 да включи, съответно като се прибера мога да го изключа или му казвам докато съм на работа, поддържай 16 градуса, та вечерта като се прибера да може бързо да направи 20. Или докато спя, да поддържа около 18 градуса.
От предложенията и съветите стигам до извода, че най-добре ще е с MQTT, хоствам брокер на домашния компютър, който да изпраща съобщения на ESP-то; Създавам WEB клиент или ползвам Андроид приложение, за да изпращам съобщения към брокера и той да препредава съобщенията към/от ESP-то.
Темата малко или много се фокусира върху управлението на радиатора, което според мен е тривиално. а на мен зорът ми е как да създавам задачи, които да се изпълняват през определен период от време или в точно определени дни/часове.
|
| Нед Сеп 22, 2019 6:32 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 4 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|