Skocz do zawartości

Stacja pogodowa - czujnik WiFi


dariann

Pomocna odpowiedź

Dnia 8.12.2022 o 16:45, dariann napisał:

Mam w zapasie jeszcze jeden NodeMCU, więc spróbuję podłączyć mu multiplekser i sprawdzę jak będzie się spisywał, bo jeszcze nie bawiłem się takim układem. Do następnych projektów wezmę jednak zaproponowany esp32, bo ten ADC w NodeMCU nawet przy pomiarach napięcia baterii wykonywanych co sekundę odczytuje wartość +-2, co przy praktycznie podwójnym podziale napięcia (mój dzielnik i wewnętrzny dzielnik) nie powinno mieć miejsca. Z tego co widzę to chyba nie mają go w botlandzie, chyba że kiepsko szukam.

Dzięki chłopaki za propozycje i podpowiedzi!

Widzę, że temat jest jakby przeterminowany. Ale ciekaw jestem jak kolega ogarnął tę stację pogodową.

Ja pracuję na Lua z ESP8266 i mam uruchomionych i pracujących parę indywidualnych projektów domowych w tym sterowanie urządzeń grzewczych. O ile wiem z praktyki bo próbowałem się przesiąść na ten układ, to firmware https://nodemcu-build.com/ nie wspiera już płytek ESP32 . Tak że wychodzi na to, że kolejna przesiadka czyli Arduino jednak. Próbuję przekowertować niektóre aplikacje ale bez sukcesu póki co.

  • Lubię! 1
Link do komentarza
Share on other sites

Projekt nie jest przeterminowany ale raczej toczy się niestety bardzo powoli ze względu na limit wolnego czasu. Aktualnie pracuję nad modułem wyświetlania warunków pogodowych i użyłem w nim Raspberry Pico W oraz dwóch wyświetlaczy e-ink, jednak pisanie programu, który sensownie by te dane wyświetlał wraz z możliwością ustawień jest czasochłonne. Ta wersja malinki daje dużo możliwości, bo ma szybki procesor (dwu-rdzeniowy) więcej RAMu niż ESP8266 i dużo wewnętrznych modułów. Pewien etap wyświetlania już nawet miałem (temperatura i wilgotność z czujnika za oknem, stan baterii oraz stan WiFi; patrz załączone zdjęcie) i całość była napisana w natywnym C++17. Jednak stwierdziłem, że ta zabawa zbyt długo trwa i zacząłem szukać czegoś innego. Natrafiłem na projekt esphome, który pozwala na zbudowanie oprogramowania dla układu ESP z gotowych elementów, a w pliku "yaml" trzeba wpisać tylko to, czego się używa i jak ma to ze sobą rozmawiać. Co najlepsze, tylko za pierwszym razem trzeba programować "po kabelku" a potem już można aktualizować oprogramowanie przez OTA. Ponadto, jest także zdalny widok log'u. Bardzo fajnie to działa. Niestety, wsparcie dla Pico W jest świeże i wiele funkcji nie działa tak dobrze jak dla ESP, więc czeka mnie przebudowa. Chcę podmienić Pico W na ESP32 i jak już zacznie coś się dziać to napiszę.

stacja_eink.jpg

Link do komentarza
Share on other sites

Stacja pogodowa na ESP32 wg projektu Rui Santosa 

https://RandomNerdTutorials.com/esp32-websocket-server-sensor/

Jest też taki sam projekt stacji  ESP8266 ale po wgraniu projektu nie otwierała mi sie strona na przegladarce.

Generalnie jesli zajmujesz się IOT to polecam tego Portugalczyka RandomNerdTutorials.com Prezentuje on płatne i bezpłatne materiały dotyczące obsługi platform programistycznych, oraz mnóstwo przykładów rozwiązań sprzętowych i programistycznych z objaśnieniami jak to działa . 

https://randomnerdtutorials.com/esp32-guides-sensors-modules/

https://randomnerdtutorials.com/esp8266-nodemcu-guides-sensors-modules/

Korzystając z jego bardzo komunikatywnych materiałów szybko ogarnąłem arduino. Polecam

 

Edytowano przez czeslaw
  • Lubię! 2
Link do komentarza
Share on other sites

1 godzinę temu, czeslaw napisał:

Polecam

Popieram kolegę - bardzo dobrze omówione przykłady, w wielu przypadkach wystarczy je ogarnąć zamiast szukać w dokumentacji, pozostawiając ją do głębszego zrozumienia zagadnienia.

Polecam szczególnie stronkę o pinologii ESP32, w wielu przypadkach można się dowiedzieć dlaczego nasz genialnie (niewątpliwie) zaprojektowany układ nie ma najmniejszego zamiaru działać 🙂

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Przykłady z RandomNerdTutorials są ciekawe ale nie o to mi chodzi. Nawet ten spod pierwszego linku to raczej akademicki przykład użycia a nie funkcjonalne urządzenie. Jak chcesz sprawdzić temperaturę na zewnątrz, to szybciej spojrzysz na termometr za oknem lub na tzw. "widżet" na pulpicie telefonu z Androidem, który pokaże nie tylko aktualną pogodę ale też prognozę na jutro i nawet cały tydzień. Uważam, że sprawdzanie temperatury za pomocą przeglądarki w telefonie to ciekawy przykład ale "nie używalny", bo za dużo trzeba klikać. Nie mówiąc już o tym ile kodu trzeba napisać i przygotować wszystkie formatki HTML/CSS (wiem, że można pobrać gotowca z tamtej strony ale to i tak dużo roboty jak na jeden prosty czujnik). Ponadto, jak już masz wyświetlanie temperatury, to chciałoby się zobaczyć jaka była wcześniej np. w nocy albo rankiem, żeby zobaczyć czy rośnie, czy może spada i trzeba ubrać się cieplej? To właśnie pokazuje Domoticz, o którym poniżej.

Aktualnie przeprogramowałem układ ESP8266, który odczytuje mi temperaturę i nie używam już Lua tylko:
https://esphome.io/
teraz mam obsługę:
* czujnika AM2320 (za oknem)
* DHT11 (w pokoju)
* brokera MQTT do którego wysyłane są odczytane wartości
* dodatkowo dołączyłem do niego klawiaturę numeryczną ze starego telefonu, która ma przyciski zwierające rzędami i kolumnami tzw. matrix i konfiguracja jej sprowadza się do wprowadzenia pinów, pod które została podłączona oraz nazw klawiszy. Tutaj przykład z - według mnie - bardzo dobrze przygotowanej dokumentacji:
https://esphome.io/components/matrix_keypad
Każdy przycisk można ustawić tak aby wysyłał swój stan (ON, OFF), klik (szybka zmiana stanu OFF, ON, OFF), dwuklik lub nawet przytrzymanie, a co najlepsze da się to zrobić w kilku linijkach... i to działa.
https://esphome.io/components/binary_sensor/#on-click

Broker MQTT łączy mi moduł Zegbee2MQTT (https://www.zigbee2mqtt.io/supported-devices/)  zarządzający tzw. "inteligentnymi żarówkami" z Domoticzem (https://www.domoticz.com/) oraz z NodeRed (https://nodered.org/) które spinają urządzenia wykonawcze (np. żarówki) z czujnikami (np. czujniki ruchu lub oświetlenia), a także gromadzą te dane i mogą je wyświetlić jak zmieniały się w czasie.

Do powyższego chcę właśnie dołączyć urządzenie wyświetlające te dane bezpośrednio na wyświetlaczu e-ink w przedpokoju aby nie trzeba było nawet wyciągać telefonu. Dzięki temu, że w ESPHome można niejako budować z klocków i tylko łączyć kodem w C++ lub nawet skryptem, to stworzenie i uruchomienie urządzenia (pod warunkiem, że wszystko zadziała) jest duuużo szybsze. Dla porównania, już teraz (po 2 dniach testów) mam wyświetlanie dowolnego tekstu na wyświetlaczu e-ink, wysłanego do brokera MQTT pod określony "topic" i to przy pomocy zwykłej czcionki z pliku TTF (True Type Font) pobranej z internetu. Nie muszę się bawić w używanie np. "protocol buffers" do komunikacji między urządzeniami ani zastanawiać się jak skonwertować czcionkę na bitmapową i czy będzie dobrze wyglądać po konwersji. To w ESPHome po prostu działa i ta opisana funkcjonalność zajmuje mniej niż 100 linii.

Budowanie kolejnego czujnika otoczenia (czy to temperatury, wilgotności, jasności, itp) jest ciekawe ale lepsze jest zbudowanie czegoś, co rzeczywiście ułatwi życie i "przypomina" komercyjne rozwiązania, a do tego nie będzie od samego początku wymagało zagłębienia się w dokumentację, przez co urządzenie powstanie po prostu szybciej. Z braku wolnego czasu na dłubanie w szczegółach, to "szybciej" ma dla mnie szczególne znaczenie.

Link do komentarza
Share on other sites

1 godzinę temu, dariann napisał:

to raczej akademicki przykład użycia a nie funkcjonalne urządzenie

Bo to nie są poradniki typu "jak zbudować coś" tylko "jak się robi to a to". Wyobraź sobie że chcesz zbudować dom: te podręczniki traktują o sposobie przygotowania dobrego betonu na fundament, a nie o architekturze.

Poza tym jeśli chcesz zrobić coś co jest wygodne to chyba mamy zupełnie inne podejście. Ja mam na ścianie wyłącznik światła (zdublowany w miejscu gdzie zwykłem siedzieć i oglądać ulubione seriale albo spożywać śniadanko), dłuższe wciśnięcie klawisza powoduje odpalenie syntezatora mowy który mnie informuje która jest godzina i ile mamy stopni na zewnątrz, inny klawisz odpowiada za opowiedzenie mi jaka będzie pogoda na dziś i jutro... Bez aplikacji, e-inków, emqutetów, domoticzy i takich tam 🙂

 

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.