Skocz do zawartości

ESP32: zegarek NeoPixel RGB Ring z podawaniem czasu i odtwarzaniem muzyki. czas z serwera NTP.


99teki

Pomocna odpowiedź

- 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.

Link do komentarza
Share on other sites

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ć.

  • 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

- 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.

Link do komentarza
Share on other sites

- 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.

Link do komentarza
Share on other sites

- 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.

Link do komentarza
Share on other sites

- 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.

Link do komentarza
Share on other sites

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?

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

(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 przez 99teki
Link do komentarza
Share on other sites

- 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.

 

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.