
Po kilku latach owocnej pracy podjęto decyzję o przedstawieniu naszemu produktowi do zarządzania klimatem w inteligentnym domu — inteligentnemu termostatowi do zarządzania ogrzewaniem podłogowym.
Czym jest to urządzenie?
To jest inteligentny termostat do każdego elektrycznego ogrzewania podłogowego do 3kW. Sterowany poprzez aplikację, stronę internetową, HTTP, MQTT, więc łatwo integruje się z wszystkimi systemami inteligentnego domu. Dla najpopularniejszych opracujemy wtyczki.
Można sterować nie tylko elektrycznym ogrzewaniem podłogowym, ale także głowicą termostatyczną w wodnym ogrzewaniu podłogowym, kotłem lub sauną elektryczną. Dzięki nrf termostat będzie mógł komunikować się z różnymi czujnikami. Obecnie opracowujemy niemal wszystkie czujniki związane z klimatem. Ponieważ urządzenie opiera się na ESP, zdecydowaliśmy, że ograniczanie możliwości personalizacji użytkownikom byłoby niewłaściwe. Dlatego sprawimy, że użytkownik będzie mógł przełączyć urządzenie w tryb dewelopera i zainstalować inną wersję oprogramowania, na przykład z obsługą HomeKit lub projektów zewnętrznych.
*po zainstalowaniu wersji oprogramowania z obsługą HomeKit lub innych popularnych projektów, powrót do oryginalnej wersji nie będzie możliwy przez OTA (Over-the-Air).
Trudności, które napotkaliśmy
Mówienie, że ich nie było, byłoby głupie. Postaram się opisać najbardziej skomplikowane napotkane problemy i sposób ich rozwiązania.
Obudowa dla urządzenia była trudnym zadaniem. Zarówno pod względem wydatków zasobów, jak i czasu (opracowywana przez około rok).
Na rynku było mnóstwo opcji. Najpopularniejsza to druk 3D. Przyjrzyjmy się temu:
Klasyczny druk 3D. Jakość pozostawia wiele do życzenia, szybkość produkcji również. Używaliśmy druku 3D do prototypów, ale do produkcji to się nie nadawało.
Fotopolimerowa drukarka 3D. Jakość tutaj jest kilkakrotnie lepsza, ale występuje efekt ceny. Prototypy wydrukowane na takiej drukarce kosztowały około 4000₽, a to tylko jedna część obudowy z dwóch. Można kupić swoją drukarkę, co obniży koszt, ale i tak cena będzie astronomiczna, a szybkość niezadowalająca.
Odlewanie w silikonie. Uznaliśmy to za optymalną opcję. Jakość była na poziomie, cena wysoka, ale nie krytyczna. Nawet zamówiono pierwszą partię 20 obudów do testów terenowych.
Jednak wszystko zmienił przypadek. Pewnego wieczoru przypadkowo opublikowałem na wewnętrznym czacie dla programistów, że jest problem z obudowami, a cena jest zbyt wysoka. A następnego dnia kolega napisał do mnie prywatnie, że ma znajomego, który ma TPA (termoformowanie automatyczne). I na pierwszym etapie można by wykonać formę wtryskową dla niego. Ta wiadomość zmieniła wszystko!
Już wcześniej rozważałem wykorzystanie TPA, ale powstrzymywała mnie nie tyle konieczność zamówienia partii minimum 5000 sztuk (chociaż można by znaleźć mniej przez Chińczyków), co cena formy wtryskowej. Około 5000 dolarów. Nie byłem gotów wydać tej kwoty jednorazowo. Cena formy wtryskowej przez naszego nowego kolegę nie była już tak wysoka, wynosiła w granicach 2000-2500 dolarów. Ponadto, wyszedł nam naprzeciw i ustaliliśmy, że płatność będzie ratalna. Tak rozwiązał się problem z obudowami.
Drugą, nie mniej ważną trudnością, z którą się zmierzyliśmy, były komponenty sprzętowe.
Nie sposób zliczyć ilości rewizji sprzętu. Według moich skromnych obliczeń przedstawiona wersja to siódma, nie licząc wersji pośrednich. Staraliśmy się w niej rozwiązać wszystkie wady ujawnione w trakcie testów.
Dotychczas uważałem, że sprzętowy 'watchdog' nie jest potrzebny. Teraz bez niego urządzenie nie może iść do produkcji: z powodu kapryśności wybranej przez nas platformy.
Jeszcze analogowe wejście na ESP. Wcześniej myślałem, że każdy pin ESP jest uniwersalny. Ale w ESP jest tylko jeden analogowy pin. Dowiedziałem się o tym na praktyce, co doprowadziło do przeróbek i ponownego zamówienia płytek drukowanych.
Pierwsza wersja płytek drukowanych


Druga wersja płytek drukowanych


Przedostatnia wersja płytek drukowanych, w której musieliśmy pilnie rozwiązać problemy z analogowym pinem


Jeśli chodzi o oprogramowanie, to tutaj również było mnóstwo pułapek.
Na przykład, okresowe rozłączanie ESP. Choć ping do niej działa, strona się nie otwiera. Jedynym rozwiązaniem jest przepisanie biblioteki. Możliwe, że istnieją inne, ale wszystkie przez nas wypróbowane nie przyniosły rezultatów.
Drugą istotną kwestią, jak dziwnie by to nie brzmiało, jest liczba zapytań do ESP przy otwieraniu strony. Używając GET lub ajax, natknęliśmy się na problem, że liczba zapytań stawała się nieprzyzwoicie duża. Z tego powodu ESP zachowywał się nieprzewidywalnie, mógł po prostu się zrestartować lub przetwarzać zapytanie przez kilka sekund. Rozwiązaniem było przejście na web sokety. Po tym liczba zapytań znacznie się zmniejszyła.
Trzecim problemem jest interfejs webowy. Więcej informacji na ten temat zostanie podanych w osobnym artykule, który zostanie opublikowany później.
Na razie powiem tylko, że najbardziej optymalnym rozwiązaniem w tej chwili jest użycie VUE.JS.
Ten framework jest najodpowiedniejszy ze wszystkich, które wypróbowaliśmy.
Opcje interfejsu można zobaczyć pod poniższymi linkami
Powstanie termostatu
Pokonując wszystkie trudności, osiągnęliśmy taki wynik:


Konstrukcja
Termostat składa się z trzech płytek (modułów):
- Kontrolna;
- Kontrolowana;
- Płytka wyświetlacza.
Kontrolna – płytka, na której znajdują się ESP12, sprzętowy "watchdog" oraz nRF24 do obsługi przyszłych czujników. Na początku urządzenie obsługuje cyfrowy czujnik DS18B20. Ale przewidzieliśmy możliwość podłączenia analogowych czujników innych producentów. W jednej z przyszłych aktualizacji oprogramowania urządzenia dodamy możliwość użycia czujników dostarczanych z termostatami innych firm.

Kontrolowana – płytka zasilania i sterowania obciążeniem. Umieściliśmy tam zasilacz 750mA, terminale do podłączenia czujników temperatury oraz przekaźnik 16A do sterowania obciążeniem.

Wyświetlacz – na etapie projektowania wybraliśmy 2.4 cale.
O nim łatwo można znaleźć informacje w internecie. Dodam od siebie, że jest wygodny prawie dla wszystkich, z wyjątkiem ceny. Wyświetlacz o rozmiarze 2.4 cala kosztuje około 1200₽, co nie najlepiej wpływa na ostateczną cenę.
Dlatego podjęto decyzję, aby stworzyć analog pod nasze potrzeby, ale z niższą ceną. Jednak programować go trzeba będzie w klasyczny sposób, a nie z poziomu Nextion Editor. Jest to trudniejsze, ale jesteśmy na to gotowi.
Analogiem będzie matryca 2.4 cala z ekranem dotykowym oraz płytka z STM32 na pokładzie do jej obsługi i zmniejszenia obciążenia na ESP12. Całe sterowanie będzie analogiczne do Nextion przez UART, również pamięć 32mb i pełnoprawna karta flash do zapisu logów.
Modułowa konstrukcja pozwala łatwo wymienić jeden z modułów, a otrzymujemy zupełnie inne urządzenie.
Na przykład, już istnieją warianty „płaty 2” w kilku wersjach:
- Opcja 1 – do ogrzewania podłogowego. Zasilanie z 220V. Przekaźnik steruje każdą obciążeniem po sobie.
- Opcja 2 – do wodnego ogrzewania podłogowego lub zaworu grzewczego. Zasilanie z 24V prądu zmiennego. Sterowanie zaworem na 24V.
- Opcja 3 – zasilanie z 220V. Sterowanie oddzielną linią, na przykład kotłem lub elektryczną sauną.
Epilog
Nie jestem profesjonalnym programistą. Udało mi się połączyć ludzi z jednym celem. Przede wszystkim wszyscy pracują dla idei; aby stworzyć coś naprawdę wartościowego; co będzie użyteczne dla końcowego użytkownika.
Jestem pewien, że niektórym nie spodoba się design obudowy; innym – wygląd strony. To wasze prawo! Ale przeszliśmy tę drogę sami, przez stałą krytykę tego, co robimy, i co najważniejsze — dlaczego. Jeśli nie ma takich pytań jak powyżej w tekście, chętnie porozmawiamy w komentarzach.
Konstruktywna krytyka to dobrze, i jesteśmy za nią wdzięczni.
Historia powstania pomysłu . Dla zainteresowanych:
- Wszelkie pytania: grupa na Telegramie
- Śledź aktualności: kanał informacyjny Telegram
I tak, cieszymy się tym, co robimy.
Źródło: habr.com
