piątek, 17 lutego 2023

VIRTUINO i sterowanie pompą cuw - runda 2


Temat, który stał się zaczynem mojego powrotu do elektroniki wraca jak bumerang. Tym razem "dzięki" BLYNKowi powoli odchodzącemu w siną dal. Jeden z ostatnich moich elementów domowej automatyki pracuje wciąż na BLYNKu w oparciu o lokalny serwer na RPi ale nie mam złudzeń, że i on za chwilę zgaśnie. Nie czekając na pożar czas kopać studnię. A jak studnia to i pompa. Szczególnie że temat jest prosty, łatwy i przyjemny.  A więc (nie zaczyna się zdań od więc) a więc zaczynamy.

Temat jest łatwy i sprowadza się do uruchomienia pompy obiegu ciepłej wody w domowej instalacji kilka razy dziennie. Dzięki temu w oddalonej od kotła łazience ciepła woda w kranie pojawia się natychmiast nie dzięki politykom znanej partii a dzięki prostej automatyce. Onegdaj pompa była uruchamiana czujką PIR w łazience. Doświadczenie pokazało, iż wystarczające jest uruchomienie pompy co godzinę na ok 5 min dla zapewnienia w miarę ciepłej wody natychmiast po odkręceniu kranu. Dodatkowo mam jeszcze pilota pozwalającego na załączenie pompy na żądanie poza okresami działania systemu.

Cały projekt to znowu okrojony dla potrzeb sterowania pompą wszystkomający szkic omawiany już wcześniej. Przeróbka z BLYNK na VIRTUINO trwałaby kilkanaście minut gdyby nie mały problem - konieczność wdrożenia zegara w kodzie ESP8266 odpowiadającego za załączanie pompy o określonych godzinach. W BLYNKu robił to serwer. W VIRTUINO mógłbym to też zwalić na aplikację gdyby była aktywna 24h/dobę. Ale nie jest i musiałem zaprzęgać do tego zewnętrzny serwer NTP. A to zajęło trochę więcej czasu - bardziej szczegółowy opis rozwiązania tu. 

Kod zamieściłem na githubie i nie ma co w nim specjalnie omawiać. Prawdę mówiąc przez 99% czasu system nie robi nic. Postanowiłem więc dodać do projektu kilka  funkcji pozwalających bardziej wykorzystać moc ESP i możliwości elektroniki. Jedyny warunek - nie mają mieć żadnego wpływu na podstawową funkcję.

Pierwszym elementem jest monitor transmisji w paśmie 433MHz 24 bitowwych kodów. Niby nic takiego ale stworzyłem sobie w VIRTUNIO quasi terminal do obserwacji tego co lata w powietrzu w moim domu. A lata dużo co może generować w przyszłości problemy np. zajętości pasma. Przy okazji wyszedł mały problem z przekształcaniem stringu zawierającego kod pilota na liczbę typu long. Dało się to jednak jakoś rozwiązać.

Drugim elementem jest programator 24 bitowych kodów dla samouczących się pilotów.  Sporo się ich wala po całym domu. Dzięki nim większość funkcji sterowania domem jest dostępnych z najczęściej uczęszczanych (lepiej powiedzieć obleżanych) miejsc. Mogę zaprogramować pilota kodem o dowolnie wybranych parametrach.

--------------

PROCEDURA PROGRAMOWANIA PILOTA

Procedura jest zgodna z większością pilotów uczących ze stałym kodem

Czyszczenie pamięci kodów:

  • nacisnąć równocześnie przycisk AiB (1 i 2) (led zamruga trzy razy)
  • zwolnić A trzymając B
  • nacisnąć A trzy razy - B dalej trzymamy 
  • zaczekać aż pilot zacznie mrugać
  • zwolnić przyciski
  • naciśnięcie przycisku wyczyszczonego pilota nie zapala leda

Programowanie kodów

  • zbliżyć maksymalnie nadajnik kodów i programowany pilot
  • nacisnąć przycisk programowanego pilota a zaraz po tym przycisk pilota zadającego kod (led błyśnie dwa razy
  • trzymamy przyciski obu pilotów do chwili gdy led znowu błyśnie dwa razy
  • przycisk jest zaprogramowany

------------------

I to nie koniec tego co tam jeszcze umieszczę. A dzięki przećwiczonej OTA zmiany pojawiać się będą praktycznie bez zakłócania głównej funkcji urządzenia.

Przez 5 lat pracy systemu sterowania pompą awarie tego elementu automatyki były związane tylko bądź z awarią lokalnego serwera BLYNK lub problemami z domową siecią WiFi. Teraz oba te elementy nie mają żadnego wpływu na poprawną pracę modułu.  Jest nadzieja, iż tylko zanik napięcia ograniczy jego prawidłową pracę. A jak będzie? Zobaczy z pewnością nasz ulubiony ciąg dalszy.  




Brak komentarzy:

Prześlij komentarz