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

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

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.