Popularny post 99teki Napisano Październik 31, 2022 Popularny post Udostępnij Napisano Październik 31, 2022 - przyszedł czas na dokończenie zeszłorocznego projektu zegarka na RGB ringu z 60 diodami rgb. - projekt zawiera esp32 WEMOS Lolin 32, akumulator Li-Po 400 mAh, czujnik temperatury BME280, czujnik światła BH1750, mp3 odtwarzacz DFPlayer oraz czujnik IR model TSOP31256 , OLED 2.4" SSD1309, WS2812 RGB w kształcie ringu z 60 ledami RGB. - na razie mam wszystko "doklejone" do tarczy zegara analogowego 26 cm i patrzę jak to ustawić aby było optymalnie dla mnie. - czas jest pokazywany na ringu RGB przez pojedyncze piksle , czerwony godzina, zielony minuta, niebieski sekundy, zaznaczone są także znaczniki czasu co 15 minut w kolorze żółtym. - jest jeszcze wahadło w kolorze zielonym biegające od 0 piksla do 59 i z powrotem, czas "obiegu" to 1 sekunda. - jako sterownik IR użyłem popularnego sterownika NEC IR do Car IR. - sterownik IR reguluje głośność muzyki, wybiera katalogi i pliki do odtworzenia, zatrzymuje wahadło, restartuje cały system. - na wyświetlaczu OLED pokazuję czas, numer pliku i katalogu do odtwarzania, wilgotność, temperaturę oraz ciśnienie barometryczne, siłę światła lux. - pętla obsługi RGB pracuje na core1, reszta programu na core 0. - program komunikuje się z serwerem NTP za pośrednictwem Wi-Fi, dwa razy dziennie. - problemy jakie mam obecnie to mruganie diod RGB podczas pracy wahadla oraz zbyt duże świecenie diod RGB w trybie nocnym. - aktualizacja programu nie jest wykonywana w trybie OTA, ponieważ esp32 Lolin 32 ma tylko 4MB flasha a program obecnie zajmuje 1.6MB. - program podaje aktualny czas głosowo co 15 minut, próbki są pobierane z karty SD na DFPlayer. - poniżej zdjęcia z aktualnego stanu prac. 5 Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Październik 31, 2022 Udostępnij Październik 31, 2022 Czekaj moment... możesz tak ustawić partycje że masz 1.9 MB na aplikację i drugie tyle na OTA. A jak w ogóle wywalisz ten flash fs to masz prawie 2 MB. 1 Cytuj Link do komentarza Share on other sites More sharing options...
99teki Październik 31, 2022 Autor tematu Udostępnij Październik 31, 2022 - w esp32 WEMOS Lolin 32 pod Arduino ver 1.8.20 (2.01) dla tego urządzenia są tylko opcje :domyślnie, No OTA (large APP) , Minimal SPIFFS (large APP with OTA). - tego ostatniego to nie próbowałem. Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Październik 31, 2022 Udostępnij Październik 31, 2022 No właśnie minimal - tego spróbuj. Poza tym możesz dodać własny opis partycji - kiedyś napisałem taki programik do generowania opisów, zerknij do projektu Mimbrola na githubie, plik mbrgenpart.py, może się przydać. 1 Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
99teki Październik 31, 2022 Autor tematu Udostępnij Październik 31, 2022 - minimal działa z OTA, musiałem trochę posprzątać z kodem, ponieważ wyłączam wifi po wgraniu programu. - chyba zastosuję określone godziny w jakich może być robiony update. Cytuj Link do komentarza Share on other sites More sharing options...
99teki Listopad 6, 2022 Autor tematu Udostępnij Listopad 6, 2022 - jeden problem czyli mruganie diod RGB podczas pracy wahadła został rozwiązany. - jest inny problem związany z wgrywaniem BasicOTA, procedura ta wymaga aby połączenie WiFi było aktywne podczas wgrywania programu. - ja w programie po 10 minutach od wgrania wyłączam WiFi, aby wgrać program przez OTA w zdalnym sterowaniu IR wymuszam restart zegara (ESP.Restart() ) i wgrywam program poprzez OTA. - nie znam innej metody aby z poziomu OTA włączyć WiFi. Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Listopad 6, 2022 Udostępnij Listopad 6, 2022 A nie możesz po prostu przez IR włączyć wifi? 1 Cytuj Link do komentarza Share on other sites More sharing options...
99teki Listopad 6, 2022 Autor tematu Udostępnij Listopad 6, 2022 - to co czytałem, to są problemy z włączeniem po wyłączeniu WiFi. - restart zawsze działa. Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Listopad 6, 2022 Udostępnij Listopad 6, 2022 No to jak realizujesz pobranie czasu z ntp przy wyłączonym wifi? Cytuj Link do komentarza Share on other sites More sharing options...
99teki Listopad 6, 2022 Autor tematu Udostępnij Listopad 6, 2022 - po uruchomieniu zegarka pobieram czas z serwera ntp, potem wyłączam WiFi, czas jest dalej aktualizowany przez esp32, jego rtc. - raz na dobę synchronizuje czas z serwerem NTP, i to działa dobrze. Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Listopad 6, 2022 Udostępnij Listopad 6, 2022 No właśnie, raz na dobę resetujesz to ustrojstwo czy właczasz wifi? Bo jakoś do ntp bez wifi trudno się dostać... 1 Cytuj Link do komentarza Share on other sites More sharing options...
99teki Listopad 6, 2022 Autor tematu Udostępnij Listopad 6, 2022 - o godzinie 9:05 program resetuje zegarek, czyli włącza WiFi, pobiera NTP i sobie działa dalej. - jak robię update (obecnie 5 -6 na dobę ) to poprzez IR resetuje zegarek i robię update poprzez BasicOTA. Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Listopad 6, 2022 Udostępnij Listopad 6, 2022 Reset żeby właczyć wifi... wiem, najprostsze i takie windowsiane... Co prawda nie bardzo rozumiem co złego jest w wyłączeniu wifi i jego ponownym właczeniu, ale nigdy się z takim problemem nie spotkałem. Może po prostu coś źle robisz? 1 Cytuj Link do komentarza Share on other sites More sharing options...
99teki Listopad 9, 2022 Autor tematu Udostępnij Listopad 9, 2022 (edytowany) W pliku *.zip zamieszczono pełny program pod Arduino oraz pliki z karty SD dla odtwarzania czasu przez zegar. opis funkcji zdalnego sterowania CAR MP3: klawisz - , zmniejsz sile głosu od 30 do 0 klawisz + , zwiększ sile głosu od 0 do 30 klawisz 0 , włącz/ wyłącz balans (wahadlo) (B) klawisz +100 , zmienia numer animacji sekund, minut, godzin zegara (1, 0, 8, 7...) klawisz +200 , zmienia numer animacji RGB (2, 1, 0, 4, 3) klawisz 1 , a - przełącz odtwarzanie z bajek na odgłosy ptaków b - dłuższe naciśniecie tego klawisza zmniejsza jasność wyświetlania RGB w dzień klawisz 2 do 9 wybierz bajkę lub odgłosy ptaków do odsłuchania w zależności od klawisza 1 klawisz EQ, a - 1 krotne naciśnięcie włącza wyświetlanie zegara na 5 sekund w nocy (zegarek) b - 2 krotne naciśniecie włącz/wyłącz odtwarzanie czasu w dzien. (no Time T) c - 3 krotne naciśniecie włącz/wyłącz blokowanie klawiszy , oprócz klawisza EQ (security S) d - 4 krotne naciśniecie restart ESP32 (Esp.Restart()) klawisz |<< , zmniejsz numer odtwarzanego pliku o 1 (...2, 1, 0, 15, 14 ...) klawisz >>| , zwiększ numer odtwarzanego pliku o 1 (...14, 15, 0, 1, 2...) klawisz >|| , odblokuj pauzę w odtwarzaniu pliku, utworu klawisz CH- , zmniejsz numer odtwarzanego katalogu o 10 (...50, 30, 40, 50...) klawisz CH+ , zwiększ numer odtwarzanego katalogu o 10 (..., 30, 40, 50, 30...) klawisz CH , włącz pauzę w odtwarzaniu utworu DFPlayer zasilany jest z osobnego stabilizatora 3.3V, podpiętego do +5V. SSD1309, BH1750, BME280 zasilane z 3.3V procesora. listwa WH2812 tak jak moduł WEMOS Lolin 32 zasilane są bezpośrednio z zasilacza impulsowego 230V / 5V - 0.7A OLED wyświetla kolejne dane: 1 wiersz - numer kolejny bootowania esp32, czas (godzina, minuta, sekundy), aktywne markery funkcji B, T, S 2 wiersz - ciśnienie w mm Hg, temperatura w stopniach Celsjusza 3 wiersz - wilgotność w procentach, oświetlenie zegara w luksach 4 wiersz - nazwa "MP3", aktualna wartość siły głosu (0 do 30), numer_katalogu.numer_pliku odtwarzanego (30.9), numer_animacji_zegara - numer_animacji_RGB (1-2) w pliku *.ZIP, w katalogu LOG podana jest zawartość karty SD, w katalogu JPG podano struktury budowy katalogów. zegOTA10.zip Edytowano Listopad 9, 2022 przez 99teki Cytuj Link do komentarza Share on other sites More sharing options...
99teki Listopad 15, 2022 Autor tematu Udostępnij Listopad 15, 2022 - coś mi jednak nie pasuje z tym BasicOTA. - aby uaktualnić program muszę go skompilować na wzorcowym zestawie i wysłać na adres sieciowy drugiego zestawu prawie automatycznie. - czyli muszę mieć dwa zestawy, bez sensu. - mogę robić uaktualnienia poprzez SerwerOTA, mając tylko wyeksportowany skompilowany program *.bin w tym przypadku bez dodatkowego wzorcowego zestawu, jeśli nie chcę stawiać serwera to pozostaje wersja BasicOTA i dwa zestawy. - jakoś w tych internetowych samouczkach nic o tym nie pisali albo ja nie umiem czytać ze zrozumieniem. - chyba że jest jakaś inna możliwość wysłania pliku skompilowanego programu na adres sieciowy zestawu. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!