Отговори на тема  [ 61 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5  Следваща
Управление на отопление с ESP8266 по температура или време 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 1:21 am
Мнения: 10621
Местоположение: София
Мнение Re: Управление на отопление с ESP8266 по температура или вре
И кат' висне дограмата, радиатора нажежен до червено... :lol:


Вто Окт 01, 2019 10:32 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Апр 16, 2009 12:26 am
Мнения: 2642
Местоположение: София
Мнение Re: Управление на отопление с ESP8266 по температура или вре
То хубаво искаш да си го направиш сам, и аз за много неща така правя, ма глей за почти без пари кво се продава.
https://www.itead.cc/sonoff-th.html


Сря Окт 02, 2019 2:09 am
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пон Дек 15, 2014 10:05 pm
Мнения: 324
Мнение Re: Управление на отопление с ESP8266 по температура или вре
Тия китайски Sonoff, не правят нищо по-различно от мене с една много тънка разлика:
- Ако си сглобя частите сам, ми излиза наполовината, като цена
- Тия пращат към клауд някакъв данните или всички устройства работят като AP и трябва да се връзваш към тях.
Аз сензорът го имам и DH11 и DS1820 и на Microchip MCP9808 имам. ESP8266 имам поне 3-4 платки различни конфигурации. Въпросът е, че искам да си го направя по мой вкус, без да ползвам чужди облаци.


Сря Окт 02, 2019 8:53 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 10:53 pm
Мнения: 4197
Местоположение: Brussels / Пловдив
Мнение Re: Управление на отопление с ESP8266 по температура или вре
kalata23 написа:
...
- Ако си сглобя частите сам, ми излиза наполовината, като цена
...

Ако си сметнеш и времето по каквато и да е разценка сметката никак няма да ти се върже. Не искам да те отказвам, напротив - просто икономията не трябва да е мотив в случая. Виж предизвикателството, научаването на нещо ново, притеснението от облака помоему са много по удачен мотив.

_________________
Мразя да мразя ...


Сря Окт 02, 2019 9:03 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 1:21 am
Мнения: 10621
Местоположение: София
Мнение Re: Управление на отопление с ESP8266 по температура или вре
И най-вече последното. Гадничко е когато фирмата на "бай-хой" изчезне, облака спре, и всички устройства ползвали тая услуга да станат безполезни кутийки...


Сря Окт 02, 2019 9:12 am
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пон Дек 15, 2014 10:05 pm
Мнения: 324
Мнение Re: Управление на отопление с ESP8266 по температура или вре
Терзанието ми беше, има ли някакъв подход, нещо, което някой го е правил преди, за генериране на Schedule tasks от WEB api, като самото апи или сървърът, който стои зад него да задействат събития, когато дойде времето. Или си оставам с cron jobs.


Сря Окт 02, 2019 10:56 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 10:53 pm
Мнения: 4197
Местоположение: Brussels / Пловдив
Мнение Re: Управление на отопление с ESP8266 по температура или вре
Зависи каква ти е архитектурата, концепцията. Аз бих направил на сървъра един сървис който да се стартира автоматично, да се рестартира ако умре и т.н. и в него бих сложил таймери кога да проверява сензорите. По този начин можеш да направиш някаква по лесна конфигурация през апп или веб интерфейс и няма да трябва да редактираш cron jobs и прочее системни файлове. А дали сензорите ще са в slave режим и ще чакат някой да им обърне внимание или сами ще пращат данни през определен интервал от време е друга бира. Хубаво е да имаш в предвид и за някаква опашка където да се трупат данни ако някоя част от системата не работи да не се появяват празни дупки в данните през този период. Можеш да направиш опашка в сензора докато сървъра не му каже да трие след като е записал всичко и т.н. варианти много - зависи колко ти се занимава.

_________________
Мразя да мразя ...


Сря Окт 02, 2019 11:07 am
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пон Дек 15, 2014 10:05 pm
Мнения: 324
Мнение Re: Управление на отопление с ESP8266 по температура или вре
Архитектурата се оформя да бъде - един сървър и едно или повече EndPoint устройства. Сървърът ще може изпраща команди към устройствата, а устройствата ще рапортуват данните си през определен момент от време. Комуникацията между сървъра и устройствата ще бъде посредством HTTP в локална мрежа (т.е сървърът и устройството/ата ще са в една и съща мрежа).
Терморегулаторът през определен период от време изпраща HTTP POST заявка към сървъра с моментната температура на помещението и евентуално, други параметри, които да могат да бъдат зададени от бутоните на устройството или отдалечено.
Сървърът ще съхрани температурата/данните в БД, като по-късно събранните данни, могат да бъдат визуализирани като графика/тренд на потребителя. От своя страна сървърът ще може да казва на регулатора да включи/изключи радиатора. Т.е тук нямаме Master-slave комуникация.
Друга съществена роля на сървърът е да представлява посредник между комуникацията на потребителят с устройството, т.е да му предоставя API за управление на устройството/ата, да визуализира данните, да синхронизира устройствата.

Идеята е регулаторът, както и евентуални бъдещи устройства, които биха могли да бъдат добавени към вече съществуващата разработка, да бъдат прости устройства, които да приемат точно дефинирани заявки и да изпращат точно дефинирани зададени заявки. Освен това, всяко устройство ще има бутон за "reset", с който да се вкарва в режим, който да позволи да се зададат настройките на устройството (ssid, password, api_key ). Целта на този подход е, да бъде цялата система насочена една идея повече към plug&play. Така например, взимам една платка с ESP, програмирам я и когато я вкарам в регулатора, мога да му сетна настройките ръчно и после да си го оставя да работи, без да хардкодвам всеки път за всяка платка някакви настройки.

От гледна точка на сигурността. Връзката между сървъра и потребителя е енкрипната + Log-in система, за предпазване от нежелан достъп. Връзката между Esp и сървъра е некриптирана, но пък всяка платка ще си има уникален api key, с цел да е сигурно, че няма поради една или друга причина една платка да пише данни в таблицата пригодена за друга или да се опитва да манипулира сървъра или устройството. API ключът за сега си го мисля сам и го хардкодвам в сървъра и устройството, но в бъдеще, когато измисля и други устройства, може сървърът да го генерира и пази в друга таблица, съответно да го дава на потребителя да го вкара ръчно в конфиг менюто на устройството или автоматично при откриване на ново устройство да му сетва ключа и устройството да си го помни в еепрома.

Да, целта е наполовина учебна, но е и наполовина приложна. Т.е наистина целя да управлявам някои устройства вкъщи, разчитайки, че правейки го аз, макар и супер нескопосано и по възможно най-тъпия начин, няма някой китаец или "хакер" - ентусиаст да тръгне да се бъзика с устройствата вкъщи, само щото в youtube са излезнали 1000 клипчета, как да се бъзикаме със smarthome-а на съседа.


Сря Окт 02, 2019 12:58 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 10:53 pm
Мнения: 4197
Местоположение: Brussels / Пловдив
Мнение Re: Управление на отопление с ESP8266 по температура или вре
Хубаво е да помислиш за някакви защити които да сработват в случай, че тоя сървър запцне - примерно някакъв предварително зададена горна температура която ако се достигне устройството което управлява отоплението да изключва автоматично а не да чака команда. Същото при падане под минимална температура и т.н. Т.е. колкото и да искаш тези устройства да са възможно най прости е добре ако все пак могат да бъдат и донякъде автономни и да не зависят от постоянна връзка с кораба майка т.е. да няма single point of failure както за цялата система, така и за всеки един елемент сам по себе си.

_________________
Мразя да мразя ...


Сря Окт 02, 2019 2:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4719
Мнение Re: Управление на отопление с ESP8266 по температура или вре
Server е пасивен елемент...
Слуша и Отговаря ... понякога и записва
Той не управлява
Управлява човек или "робот"(демон, сервиз. .. )

_________________
main[-1u]={1};


Сря Окт 02, 2019 4:12 pm
Профил ICQ
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пон Дек 15, 2014 10:05 pm
Мнения: 324
Мнение Re: Управление на отопление с ESP8266 по температура или вре
Потребителят ще задава температура + време за работа или само температура, за минимална няма смисъл, ако ме няма 1 седмица вкъщи, няма смисъл да се пуска радиатора въобще, ако ще и -20 градуса да е в стаята, винаги мога да видя каква е температурата и да преценя кога да включа радиатора. Под сървър имам предвид РС-то, което ще ползвам като сървър, не сървърното приложение (apache/mosquitto).
Значи за сега виждам по следния начин варианта:
Потребителят създава задачи посредством WEB Базирано приложение; въпросното приложение създава cron job; създава запис в БД с параметрите на задачата и някакъв идентификатор на cron job-а. После при поискване приложението визуализира списъка с актуалните задачи. При желание на потребителят да изтрие дадена задача, приложението намира съответния cron job и го премахва, посредством идентификатора, записан в БД. Като го няма записан, cron job-ът не се изпълнява. При желание на потребителят да промени или активира/деактивира задачата, задачата ще се трие или променя от списъка с cron job, а ще се актуализира нейното състояние и параметри в БД.


Сря Окт 02, 2019 5:28 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4719
Мнение Re: Управление на отопление с ESP8266 по температура или вре
първо трябва да измислиш "НОДА" и default програмата(например JSON) по която ще цъка радиатора ако няма сървър
след това ако има сървър на горната база как ще я приема и update, тряяя измислиш мониторинга за текущи параметри - online, темпетатура ...
после как ще комуникираш в локалната и глобалната мрежа(secure) - интерфейс, протокол ... един "тъп" радиатор си е "забавление"


най-лесния начин ( така работи IoT Google, Amazon, Azure, Alibaba .... сичкото облак дето си помислиш )
пускаш една linux машина с хард диск Apache, PHP, mySQL, nodeJS, python, mosquito
връзваш всички нодове по MQTT (узер и парола) локално да си пингват москитото, да мониторват във PUB nod_id/monitor -> {текущи данни на QoS 0 кой ги чуе чуе}
SUB(слуша) nod_id/command и PUB nod_id/command_answer

пишеш "демон/и" на C, node, python да слуша всичко от брокера и да мажеш в базата данни, пишеш "демон" да "управлява"
Апача праща "където и да е" текущите данни от ДБ и през апача имаш ремоте достъп до локалното MQTT

и тн .... няколко метра код :)

_________________
main[-1u]={1};


Сря Окт 02, 2019 5:55 pm
Профил ICQ
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пон Дек 15, 2014 10:05 pm
Мнения: 324
Мнение Re: Управление на отопление с ESP8266 по температура или вре
Код:
след това ако има сървър на горната база как ще я приема и update, тряяя измислиш мониторинга за текущи параметри - online, темпетатура ...
после как ще комуникираш в локалната и глобалната мрежа(secure) - интерфейс, протокол ... един "тъп" радиатор си е "забавление"

Всички NODEs рапортуват през определен период от време данните си на апача, а апачът ги записва в БД. Температурата ми в момента е в таблица: room_temp със следните колони:
id, temp, reading_date. За всяко измерване имаш нов запис в БД. Така мога да си направя статистика за определен период от време и да я визуализирам тази статистика във формата на тренд. Към момента имам тренд, който визуализира данните за последното денонощие.

От гледна точка на сигурността, всички нодове са в домашна WiFi мрежа свързани с WPA2 енкрипция. Апачето е свързано с lan cable към същия рутер. На апачето имам Let's encrypted, като всеки, който е извън мрежата минава задълже през HTTPS, а локалните нодове могат да си говорят с апачето без криптиране.

За да бараш каквото и да е трябва да се логнеш в "системата", т.е да въведеш username & password.

Цитат:
първо трябва да измислиш "НОДА" и default програмата(например JSON) по която ще цъка радиатора ако няма сървър


Ако няма да се ползва сървъра, т.е ако минеш в ръчно управление, имаш два бутона за нагласяне на температурата, монтирани на самото устройство. Натискаш единият - увеличаваш зададената температура. Натискаш другия - намаляш заданието.

Цитат:
пускаш една linux машина с хард диск Apache, PHP, mySQL, nodeJS, python, mosquito


Това съм го направил преди да пусна темата.

Цитат:
връзваш всички нодове по MQTT (узер и парола) локално да си пингват москитото, да мониторват във PUB nod_id/monitor -> {текущи данни на QoS 0 кой ги чуе чуе}
SUB(слуша) nod_id/command и PUB nod_id/command_answer


Г/д такава ми беше първоначалната идея, ама с появата на BD се обезсмисля MQTT-то. Вместо това директно си комуникират с HTTP заявки на локално ниво. NODE-овете изпращат post заявки към linux машината, linux машината изпраща POST заявки към NODE-овете.

Цитат:
Апача праща "където и да е" текущите данни от ДБ и през апача имаш ремоте достъп до локалното MQTT

Еми, в момента, когато потребителят се аутентифицира в апача, апачът му визуализира данните. Освет това може да каже на апача, да изпрати заявка за включване/изключване на релето или промяна на някакъв параметър.


Чет Окт 03, 2019 8:41 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4719
Мнение Re: Управление на отопление с ESP8266 по температура или вре
и си направил нода HTTP мулти мастър и клиен и сървър...
играй си - апетита идва с яденото

_________________
main[-1u]={1};


Чет Окт 03, 2019 9:05 am
Профил ICQ
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пон Дек 15, 2014 10:05 pm
Мнения: 324
Мнение Re: Управление на отопление с ESP8266 по температура или вре
Да, всеки ноуд е клиент+сървър, ама то това е принципа на HTTP комуникацията. Много малко, струва ми се, са сайтовете или приложенията, в които да имаш класически client-server модел. Обикновено когато посетиш един сайт или изпратиш заявка до сървър, този сайт/сървър изпраща заявки до други сървъри/сайтове.


Чет Окт 03, 2019 11:08 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 61 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 9 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни