
След няколко години плодотворна работа, беше взето решение да представим на обществеността нашия първи продукт за управление на климата в интелигентния дом – интелигентен термостат за управление на подово отопление.
Какво е това устройство?
Това е интелигентен термостат за всяко електрическо подово отопление до 3kW. Управлява се чрез приложение, уеб страница, HTTP, MQTT, затова лесно се интегрира във всички системи за интелигентен дом. За най-популярните ще разработим плъгини.
Може да се управлява не само електрическото подово отопление, но и термоглавата при водното подово отопление, котела или електросауна. Също така, с помощта на nrf, термостатът ще може да комуникира с различни сензори. В момента в разработка са почти всички сензори, свързани с климата. Тъй като устройството е базирано на ESP, решихме, че е неуместно да отнемем на потребителите възможностите за персонализация. Затова ще направим така, че потребителят да може да постави устройството в режим на разработчик и да инсталира друга версия на фърмуера, например, с поддръжка на HomeKit или други външни проекти.
*след инсталиране на външни фърмуер версии с поддръжка за HomeKit или други популярни проекти, връщането към оригиналната версия е невъзможно чрез ОТА (Over-the-Air).
Сложности, с които се сблъскахме
Да кажем, че не е имало, би било глупаво. Ще се опитам да опиша най-сложните проблеми, които се появиха, и как ги решихме.
Общото оформление на устройството беше сложна задача. И по отношение на ресурсите, и по отношение на времето (разработвахме около година).
На пазара имаше много варианти. Най-популярният е 3D печат. Нека го разгледаме:
Класически 3D печат. Качеството оставя много да се желае, както и скоростта на производство. Използвахме 3D печат за прототипи, но за производство това не е годно.
Фотополимерен 3D принтер. Тук качеството е многократно по-добро, но встъпва факторът цена. Прототипите, отпечатани на такъв принтер, струваха около 4000₽, и това е само една част от корпуса от две. Може да си купите свой принтер, което ще намали цената, но въпреки това цената ще бъде космическа, а скоростта незадоволителна.
Леене в силикон. Считахме го за оптимален вариант. Качеството беше на ниво, цената висока, но не критична. Дори беше поръчана първата партида от 20 корпуса за полеви изпитания.
Но всичко се промени случайно. Един от вечерите, случайно публикувах в вътрешния чат за разработчици, че има проблем с корпусите и цената е висока. На следващия ден колега ми написа в лични съобщения, че един негов приятел има ТПА (термопластичен автомат). И можем в първия етап да изработим пресформа за него. Това съобщение промени всичко!
И преди това разглеждах възможността за използване на ТПА, но ме спираше не само необходимостта да поръчам партида от минимум 5000 бр. (въпреки че ако се постарая, може да намеря и по-малко чрез китайци). Спираше ме цената на пресформата. Около 5000 $. Тази сума не бях готов да дам наведнъж. Сумата за пресформата през нашия новоизпечен колега беше разумна, варираща в диапазона 2000-2500 $. Освен това, той ни предложи удобство и се уговорихме, че плащането ще бъде на вноски. Така проблемът с корпусите беше решен.
Втората и не по-малко важна трудност, с която се сблъскахме, е железото.
Не може да се изброи колко ревизии на железото има. Според скромните изчисления, представеният вариант е седмият, без да броим междинните. В него се опитахме да решим всички недостатъци, идентифицирани по време на изпитанията.
Досега смятах, че в хардуерния "watchdog" няма нужда. Сега без него устройството няма да тръгне в серия: поради капризността на избраната от нас платформа.
И още, аналогов вход на ESP. Преди мислех, че всеки пин на ESP е универсален. Но на ESP имаме само един аналогов пин. Разбрах това на практика, което доведе до преработка и повторна поръчка на печатни платки.
Първа версия на печатните платки.


Втора версия на печатните платки.


Предпоследна версия на печатните платки, където се наложи спешно да решаваме проблеми с аналоговия пин.


Що се отнася до софтуера, тук също имаше куп подводни камъни.
Например, периодичното отключване на ESP. При положение, че пингът до него е наличен, страницата не се отваря. Решението е едно – пренаписване на библиотеката. Вероятно има и други решения, но всички опитани от нас не дадоха резултат.
Втората значима проблема, колкото и да е странно, е количеството заявки към ESP при отваряне на страницата. Използвайки GET или AJAX, ние се срещнахме с факта, че броят на заявките ставаше неприлично голям. Поради това ESP се държеше непредсказуемо, можеше просто да се рестартира или да обработва заявката няколко секунди. Решението беше да преминем на уеб сокети. След това броят на заявките значително намаля.
Третата проблема е уеб интерфейсът. Повече информация за него ще има в отделна статия, която ще бъде публикувана по-късно.
Засега само ще кажа, че най-оптималният вариант в момента е да използвате VUE.JS.
Тази рамка е най-подходящата от всички, които сме пробвали.
Вариантите на интерфейса могат да бъдат видяни чрез линковете по-долу
Създаване на термостат
След преодоляването на всички трудности, стигнахме до следния резултат:


Конструкция
Термостатът се състои от три платки (модула):
- Управляваща;
- Управляема;
- Платка за дисплей.
Управляваща – платка, на която са разположени ESP12, хардуерен "watchdog" и nRF24 за работа с бъдещи сензори. В началото устройството поддържа цифров сензор DS18B20. Но ние предвидихме възможност за свързване на аналогови сензори от трети производители. В едно от бъдещите обновления на софтуера на устройството ще добавим възможност за използване на сензори, доставени с термостати от трети производители.

Управляема – платка за захранване и управление на натоварването. Там разположихме БП на 750мА, терминали за свързване на сензори за температура и реле на 16А за управление на натоварването.

Дисплей – на етапа на разработка избрахме с размер 2.4 инча.
Лесно може да се намери информация за него в интернет. От себе си ще добавя, че е удобен почти за всички, освен за цената. Дисплеят с размер 2.4 инча струва около 1200₽, което не оказва положително влияние върху крайната цена.
Така че беше взето решение да направим аналог под нашите нужди, но с по-ниска цена. Вярно, ще трябва да го програмираме по класическия начин, а не от средата на Nextion Editor. Това е по-трудно, но сме готови за това.
Аналогът ще бъде матрица от 2.4 инча с тъчскрийн и платка с STM32 на борда за управление и намаляване на натоварването на ESP12. Всичкото управление ще бъде аналогично на Nextion по UART, с 32MB памет и полноценна флаш карта за запис на логове.
Модулната конструкция позволява лесно да се замени един от модулите и на изхода се получава съвсем друго устройство.
Например, вече има варианти на “плата 2” в няколко изпълнения:
- Вариант 1 – за топъл под. Захранване от 220в. Релето управлява всяко натоварване след себе си.
- Вариант 2 – за воден топъл под или клапан на радиатора. Захранване от 24в променлив ток. Управление на клапана на 24в.
- Вариант 3 – захранване от 220в. Управление на отделна линия, например котел или електрическа сауна.
Следсловие
Не съм професионален разработчик. Успях да обединя хора с една цел. По-голямата част от времето всички работят за идеята; за да направят нещо наистина стойностно; нещо, което ще е полезно за крайния потребител.
Сигурен съм, че на някой няма да му хареса дизайна на кутията; на някого – външният вид на страницата. Това е ваше право! Но ние преминахме през целия този път сами, през постоянната критика на това, което правим, и най-вече — защо. Ако няма такива въпроси, като описаните по-горе, ще сме щастливи да обсъдим в коментарите.
Конструктивната критика е добре дошла, и ние сме благодарни за нея.
История на възникването на идеята . За заинтересованите:
- За всички въпроси: група в Telegram
- Следете новините: информационен канал в Telegram
И да, ние се наслаждаваме на това, което правим.
Източник: habr.com
