Elektroda.pl
Elektroda.pl
X
Servizza
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Internetowe radio na ESP32

ghost666 17 Sty 2019 23:49 5613 66
  • Internetowe radio na ESP32
    W poniższym poradniku opisano krok po kroku, jak skonstruować radio internetowe wykorzystując do tego niedrogi moduł z ESP32 na pokładzie. Takie radio możemy skonstruować w zaledwie 10 minut. Cała konstrukcja kosztować będzie poniżej 30 dolarów. Warto sprawić sobie takie urządzenie, jeżeli słuchamy internetowych rozgłośni radiowych.

    Autor poradnika zbudował niedawno radio FM wykorzystujące moduł Arduino. Urządzenie to działa doskonale, jednakże jest pewien problem - w miejscu, gdzie mieszka, nie ma zasięgu radiostacji (nadajniki są za daleko), które go interesują, więc i tak skazany jest na słuchanie ich w Internecie, do czego wykorzystuje obecnie laptopa lub tablet. Jest to dalekie od praktyczności, więc przyszła kolej na kolejną konstrukcję, tym razem na radio internetowe. Pozwoli nam to słuchać ulubionej muzyki ze stacji radiowych na całym świecie.

    Pierwsza wersja urządzenia została zestawiona na płytce stykowej. Tyle wystarczy nam do pierwszego uruchomienia radia i przetestowania układu.

    W pamięci ESP32 mamy możliwość zapisania listy ulubionych stacji, co pozwala na prosty dostęp do konfiguracji. Stację zmienia się z pomocą przycisków wbudowanych w układ. Nazwa stacji wyświetlana jest na dużym wyświetlaczu 3,5", do którego zaprojektowany specjalny interfejs użytkownika w retro-stylistyce.

    Przyjrzyjmy się, krok po kroku, jak skonstruować takie radio we własnym domu.



    Internetowe radio na ESP32
    Krok 1: Zbierz wszystkie potrzebne elementy

    Będziemy potrzebować następujących elementów:

    * Moduł z układem ESP32
    * Sprzętowy dekoder MP3
    * Wzmacniacz mocy audio
    * Głośnik o mocy 3 W
    * Wyświetlacz Nextion
    * Przycisk
    * Płytka uniwersalna

    Całkowity koszt układu to około 40 dolarów, ale jeżeli zrezygnujemy z wyświetlacza, możemy zredukować koszt do około 20 dolarów.





    Krok 2: Moduł z ESP32

    Sercem projektu jest moduł z układem ESP32. Jeśli nie jeszcze o nim nie słyszałeś, to układ ESP32 jest następcą popularnego układu ESP8266, który wielokrotnie używany był w przeszłości w amatorskich projektach do łączenia się z siecią WiFi. ESP32 ma też istotną wydajność obliczeniową. Układ posiada dwa 32-bitowe rdzenie taktowane zegarem o częstotliwości 160 MHz, ogromną ilość pamięci i oczywiście interfejsy WiFi i Bluetooth, a także wiele innych funkcji. Moduł z tym układem kosztuje zaledwie ok. 7 dolarów.

    W tym projekcie moduł z ESP32 łączy się z Internetem, a następnie odbiera dane MP3 ze stacji radiowej, której słuchamy, i wysyła polecenia do wyświetlacza. Za dekodowanie odebranych danych MP3 odpowiedzialny jest dedykowany sprzętowy dekoder skompresowanych plików audio.

    Internetowe radio na ESP32
    Krok 3: Dekoder MP3

    Dane odebrane z Internetu przesyłane są poprzez SPI do modułu dekodera MP3. Wykorzystuje on układ scalony VS1052, który jest dedykowanym, scalonym dekoderem danych w formacie MP3. Dostaje on tego rodzaju dane z ESP32 i przetwarza je w czasie rzeczywistym na analogowy sygnał audio. Sygnał ten jest bardzo słaby, dlatego też konieczne jest wzmocnienie go.

    W celu wzmocnienia sygnału audio wykorzystano moduł oparty o scalony wzmacniacz mocy PAM8403, który wzmacnia sygnał audio, przed podaniem ich na głośniki. Wzmacniacz ten posiada moc 2 x 3 W - w zupełności wystarczają do słuchania muzyki w domu.

    Do modułu z ESP32 oprócz dekodera MP3 podłączone są przyciski sterujące działaniem radia i wyświetlacz Nextion.

    Krok 4: Wyświetlacz Nextion

    Wyświetlacz ten został wybrany do projektu z uwagi na prostotę jego wykorzystania. By go kontrolować i wyświetlać na nim obraz, musimy podłączyć tylko jedną linię danych.

    Wyświetlacze Nextion są pewną nowością na rynku. Moduły te posiadają własny mikrokontroler (układ z rdzeniem ARM), który steruje wyświetlaczem, tworzy interfejs graficzny etc. Można wykorzystać go z dowolnym innym układem i otrzymać równie spektakularne efekty, jak pokazane w tym projekcie, bez konieczności obciążania zasadniczego procesora systemu.

    Z poniższego filmu możemy dowiedzieć się więcej na temat samych wyświetlaczy i sposobów ich kontroli.



    Krok 5: Połączenie wszystkich elementów ze sobą

    Na tym etapie możemy połączyć ze sobą wszystkie moduły naszego systemu, jak i inne elementy urządzenia. Na poniższym obrazku widzimy w jaki sposób połączone są ze sobą poszczególne podzespoły radia.

    Internetowe radio na ESP32


    W przedstawionym systemie, autor podłączył tylko jeden głośnik do dekodera MP3. NA jego wyjściu obecny jest jednak sygnał stereo, więc nic nie stoi na przeszkodzie, by wykorzystać oba kanały i zainstalować w urządzeniu dwa głośniki.

    By połączyć ze sobą ESP32 i wyświetlacz, wystarczy tylko podpiąć go do pinu TX0 ESP32. Teraz wystarczy tylko załadować program do ESP32 oraz GUI do wyświetlacza Nextion.

    Aby załadować dane do wyświetlacza, kopiujemy plik InternetRadio.tft (do ściągnięcia ze strony źródłowej) na pustą kartę SD. Kartę tą umieszczamy w gnieździe znajdującym się na tyle PCB wyświetlacza. Teraz możemy włączyć cały układ i GUI zostanie załadowane. Po tym możemy usunąć kartę SD z gniazda - nie jest ona potrzebna podczas normalnej pracy wyświetlacza.

    Po uruchomieniu systemu najpierw widzimy napis "Connecting...", aż do momentu, gdy ESP32 połączy się z Internetem. Wtedy łączy się z predefiniowaną stacją radiową i po połączeniu prezentuje jej nazwę i odtwarza w głośniku dźwięk. Oczywiście, aby było to możliwe do ESP32 wgrany musi być odpowiedni program.

    Krok 6: Kod programu na ESP32

    Cały kod programu na ESP32 ma mniej niż 140 linijek. Fantastyczne jest to, ile osiągnęła obecnie technologia - dzięki językom programowania wysokiego poziomu i szerokiej gamie oferowanych bibliotek możliwe jest oprogramowanie radia internetowego z wyświetlaczem jedynie w 140 linijkach. To doskonale pokazuje moc, jaka drzemie w Arduino IDE i środowisku open-source i co ułatwia tworzenie tego rodzaju urządzeń wszystkim hobbystom.

    W programie autor korzysta z biblioteki dla VS1053 dla ESP32.

    Po pierwsze w programie musimy zdefiniować SSID i hasło do sieci Wi-Fi, do jakiej podłączony ma być moduł. W dalszej części kodu programu znaleźć możemy listę stacji radiowych, z jakich chcemy korzystać. Podać musimy URL stacji, dokładną ścieżkę, gdzie znajduje się strumień i port serwera, z jakiego należy korzystać. Wszystkie te parametry zapisywane są w zmiennych w programie.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    W przykładzie powyżej dodano cztery stacje radiowe.

    Dalej, w konfiguracyjnej części programu, przyciski połączone są z odpowiednimi przerwaniami, inicjalizowany jest moduł dekodera MP3 i ESP32 łączy się z siecią bezprzewodową.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    W dalszej części programu - w pętli - po pierwsze system sprawdza, czy użytkownik nie wybrał innej stacji radiowej, niż dane są obecnie transmitowane. Jeśli tak, to system podłącza się do wybranego strumienia, a jeśli nie to, kontynuuje wysyłanie danych do dekodera MP3.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    I to jest wszystko. Jest to w zasadzie cały program. Dodatkowo dodano funkcje obsługujące przerwania od przycisków i zmiany wartości zmiennej opisującej, z jakiej stacji radiowej układ ma czytać informacje.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    By zaktualizować dane na wyświetlaczu, wysyłamy komendy poprzez port szeregowy do wyświetlacza.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Spójrzmy teraz na GUI Nextiona. Składa się ono z prostego obrazka w tle i napisu z nazwą stacji radiowej. ESP32 wysyła informacje do wyświetlacza, by zmienić wyświetlaną na ekranie nazwę. Więcej informacji na temat konfigurowania wyświetlacza znaleźć możemy w tutorialach dostępnych w Internecie.

    Cały kod programu dołączony jest do opisu projektu dostępnego pod linkiem źródłowym.

    Podsumowanie

    Zaprezentowany projekt jest bardzo prosty - to minimalistyczne internetowe radio, które zmontować i oprogramować można w kilka chwil. Do takiego systemu dodać można z łatwością wiele kolejnych funkcji, zależnie tylko od naszej wyobraźni.

    Pierwszym krokiem autora projektu jest teraz zaprojektowanie obudowy do tego radia. Jest tutaj wiele możliwości, a ogranicza nas tylko nasza wyobraźnia.

    Źródło: https://www.instructables.com/id/Internet-Radio-Using-an-ESP32/


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • Servizza
  • #2 18 Sty 2019 09:06
    andrzejlisek
    Poziom 28  

    Pomysł ciekawy, ja osobiście jestem zwolennikiem słuchania radia drogą radiową, słuchanie przez internet to już nie to samo, pomimo, że jakość transmisji jest lepsza, ale, jak widać, nie zawsze ma się wybór.

    Moją uwagę przykuł rysunek nawiązujący do bardzo starych radioodbiorników, gdzie jednej rzeczy nie rozumiem:
    Oznaczenia LW i SW (fale długie i krótkie) są OK, natomiast fale średnie są opisane jako BC (powszechnie oznacza się jako MW lub nieco myląco jako AM), a niski zakres fal krótkich (bardzo mało popularny) oznaczony jako MW.
    Czy ktoś wie przypadkiem, skąd takie różnice, może dawniej tak się oznaczało zakresy częstotliwości?

  • #3 18 Sty 2019 10:33
    RonAd
    Poziom 1  

    Świetna rzecz - myślę, że nie będzie problemem zastosowanie zwykłego wyświetlacza TFT.

  • #4 18 Sty 2019 10:50
    pier
    Poziom 23  

    RonAd napisał:
    Świetna rzecz - myślę, że nie będzie problemem zastosowanie zwykłego wyświetlacza TFT.


    Nawet jest już takie radio.
    Nawet go zbudowałem. Jest bardziej rozbudowane pod względem ustawień niż to z tego tematu.
    Ogólnie te radia mają ta słabość że dobrze odbierają tylko stacje z kodowaniem mp3 a to przez VS1053. Popularnego radia OPEN FM tez da się słuchać ale trzeba mocno zmieniać ustawienia equalizera i regulować głośność względem stacji mp3.
    Lepiej zbudować coś na Raspberry Pi...

  • #5 18 Sty 2019 11:03
    LChucki
    Poziom 24  

    Nextion to nieporozumienie. LCD ze sterownikiem FT8xx, przy porównywalnej cenie daję dużo większe możliwości. Ponadto w Nextion trzeba bawić się w wygenerowanie plików na kartę SD aby wyświetlacz wiedział co i jak wyświetlać.
    Do wyświetlania prostych tekstów wystarczyłby tani popularny kolorowy TFT 320x240 SPI za 40zł.

  • Servizza
  • #6 18 Sty 2019 11:40
    szeryf3
    Poziom 16  

    Fajny i ciekawy projekt. Może go w przyszłości wykorzystam.

  • #7 18 Sty 2019 13:21
    kablowka
    Poziom 3  

    Moje pytanie to nie sarkazm, lecz ciekawość bo się nie znam. Czy poza ceną jest jakaś przewaga tego rozwiązania nad smartfonem z glośnikiem BT?

  • #8 18 Sty 2019 14:31
    tplewa
    Poziom 38  

    LChucki napisał:
    Nextion to nieporozumienie. LCD ze sterownikiem FT8xx, przy porównywalnej cenie daję dużo większe możliwości. Ponadto w Nextion trzeba bawić się w wygenerowanie plików na kartę SD aby wyświetlacz wiedział co i jak wyświetlać.
    Do wyświetlania prostych tekstów wystarczyłby tani popularny kolorowy TFT 320x240 SPI za 40zł.


    Do tego dekodowanie mp3/aac spokojnie można zrealizować w software na ESP32. W sumie w układzie wystarczył by LCD + ESP32 + kodek audio + zasilacz. Ewentualnie jak nie damy kodeka można wysyłać po BT na głośnik audio... No ale taka teraz moda wepchać 1000 procesorów lub RP PI do zadań w których wystarczy jeden relatywnie niewielki procek...

  • #10 18 Sty 2019 15:21
    LChucki
    Poziom 24  

    tplewa napisał:
    Do tego dekodowanie mp3/aac spokojnie można zrealizować w software na ESP32

    Masz jakieś sprawdzone informacje na ten temat? To byłoby ciekawe. RPi bez problemu dekoduje MP3, na ESP jeszcze nie miałem okazji próbować.

  • #14 18 Sty 2019 16:07
    tplewa
    Poziom 38  

    LChucki napisał:
    ESP nie ma DAC więc średnio dobre rozwiązanie.


    A po co DAC nawet jak procki mają DAC to i tak za zwyczaj używa się coś lepszego.

    miszczo997 napisał:
    Ale posiada sprzętowe i2s. Zawsze łatwiej dołożyć jakiś DAC niż cały moduł z vs1053.
    ESP32 posiada 2 ośmiobitowe przetworniki CA.


    O to właśnie chodzi mamy w dodatku większą elastyczność bo jesteśmy w sprawie kodeków ograniczeni mocą procesora. W przypadku ESP32 na jednym mamy WiFi + BT itp. a drugi praktycznie mamy cały dla siebie na dekodowanie mp3 itd.

    Inna sprawa jak wspomniałem można też tego nie robić i słać już audio po BT na słuchawki czy głośnik z BT.

    Tylko niestety tutaj już potrzeba trochę więcej wiedzy niż poskładanie projektu z gotowych klocków i gotowych bibliotek....

  • #15 18 Sty 2019 16:15
    LChucki
    Poziom 24  

    tplewa napisał:
    A po co DAC nawet jak procki mają DAC to i tak za zwyczaj używa się coś lepszego.

    Można i lepszy DAC po I2S ale widziałem konstrukcje, gdzie przetwornik 24-bit nie miał szansy uzyskać tej rozdzielczości z powodu kiepskiego zasilacza. Nawet 16-bit często nie ma szansy uzyskać. Ponadto, po co 24-bit jak później kiepski wzmacniacz. Idę o zakład, że w przypadku 90% konstrukcji amatorskich, przy odtwarzaniu MP3, różnicy pomiędzy 12 a 16 nie da się stwierdzić a tym bardziej 24-bit. Co prawda ESP32 ma tylko 8-bit, ESP8266 zero ale wiele uC ma 12-bit DAC i to jest chyba optymalne rozwiązanie dla prostego radia.
    Warto pamiętać, gdy mowa o rozdzielczości, że VoIP, GSM, w głównej mierze korzysta z kodowania 8-bit, dokładniej 12-bit kompresowane do 8 następnie po przesłaniu do odbiorcy dekompresowane do 12.

  • #16 18 Sty 2019 16:31
    tplewa
    Poziom 38  

    @LChucki

    Powiedzmy sobie tak temat ADC i DAC to jest bardzo szeroki temat do tego mam różne rodzaje np. do audio lepiej się nadają przetworniki ΔΣ (delta sigma). Zasilanie to tylko jeden z tematów.

    Kolega robi trochę sztucznych problemów. Powiedzmy sobie tak dobre przetworniki mają nieliczne procesory i za zwyczaj niestety one kosztują. Kolejna sprawa kto mówi o dawaniu codec-a 24 bitowego. Starczy tani i prosty 16bit który kupi się w byle sklepie za rogiem.... Jest tego sporo do wyboru czy od Cirrus Logic, TI itd.

    Ale nawet te 24 bity... dajmy taki CS4270 w łatwej do polutowania TSSOP24 - mamy wejście i wyjście stereo za około 20zł za układ w detalu. Ile kolega zapłaci za procek z dobrymi przetwornikami albo za VS1052 ? bo za 20zł raczej w PL od ręki nie kupi...

    Kolejna sprawa pakowanie czegoś na I2S nie oznacza że robimy jakiś sprzęt Hi-End to nie ma nic do rzeczy... Bardziej chodzi o to że coś takiego można zrobić znacznie taniej kupując elementy łatwo dostępne i montując nawet na uniwersalnej płytce łącząc kynarem...

    Problemem jest bardziej to co wspomniałem ludzie idą na łatwiznę i się rozleniwiają. Przykładowo wspomniane RB PI jest często pakowane do takich zastosowań gdzie wystarczył by 8bitowy AVR czy PIC... itd. ewentualnie w przypadku ESP32 często tam gdzie procek w nim może obsłużyć wszystko dokłada się kolejny procesor - często znacznie słabszy np. AVR po co tak ja tego nie mogę pojąć no ale ludzie mają różne pomysły.

    To jest w sumie tłumaczenie artykułu więc raczej nigdy się nie dowiemy dlaczego tak zrealizowane, a nie inaczej ;)

  • #17 18 Sty 2019 22:41
    Mscichu
    Poziom 16  

    Była mowa o sprzętowej obsłudze mp3 przez ESP32. Wcześniej już kiedyś pisałem ale się powtórzę: fajny i działający projekt jest tutaj: ttps://github.com/MrBuddyCasino/ESP32_MP3_Decoder

    Można wykorzystać wbudowanego DAC ale lepiej na zewnętrznym kodeku audio I2S.

  • #18 19 Sty 2019 01:57
    tplewa
    Poziom 38  

    Mscichu napisał:
    Była mowa o sprzętowej obsłudze mp3 przez ESP32. Wcześniej już kiedyś pisałem ale się powtórzę: fajny i działający projekt jest tutaj: ttps://github.com/MrBuddyCasino/ESP32_MP3_Decoder

    Można wykorzystać wbudowanego DAC ale lepiej na zewnętrznym kodeku audio I2S.


    Nie sprzętowa tylko programowa :) Sprzętowo to jest na tym VS1053.

    Więc jak widać nawet jest gotowiec z drugiej strony nawet jak by nie było to można napisać - tematów i źródeł odnośnie dekodowania MP3 itp. na innych prockach np. STM32 jest sporo.

    Zresztą jak wspominałem szkoda marnować dwóch dość mocnych rdzeni w ESP32 i często na samym module można cały projekt zrealizować, niestety niezbyt często spotykane.

  • #19 20 Sty 2019 13:53
    pioteer
    Poziom 1  

    kablowka napisał:
    Moje pytanie to nie sarkazm, lecz ciekawość bo się nie znam. Czy poza ceną jest jakaś przewaga tego rozwiązania nad smartfonem z glośnikiem BT?

    1)To projekt dydaktyczny
    2)O niebo wygodniej (imo) korzystać ze specjalizowanego urządzenia, gdy używa się go często i długo niż każdorazowo adaptować do tego smartfon który wbrew pozorom służy w pierwszym rzędzie do dzwonienia

  • #20 21 Sty 2019 02:28
    AIIoT
    Poziom 9  

    Jest jakaś istotna przewaga ESP32 nad układem ESP8266 w tym przypadku?
    Widziałem takie radio na dekoderze mp3 VS1053 w prawdzie bez ekranu, ba nawet go złożyłem i działało poprawnie na ESP8266.

  • #21 21 Sty 2019 06:37
    LChucki
    Poziom 24  

    AIIoT napisał:
    Jest jakaś istotna przewaga ESP32 nad układem ESP8266 w tym przypadku?

    Nie, ale tak samo można powiedzieć o wielu moich projektach na ARM.

    W przypadku ESP8266 vs ESP32, biorąc pod uwagę niewielką (zazwyczaj) różnicę w cenie a możliwości, warto stosować ESP32, który jest bardziej rozwojowy.
    To samo z AVR vs ARM, które często są tańsze od AVR. Nawet gdy niewiele droższe, to program pisze się łatwiej, pamięci na rozwinięcie softu nie brakuje, prawie zawsze można dołączyć dodatkowe peryferia.

    Też odszedłem o dość ograniczonych ESP8266 na rzecz ESP32.

  • #22 21 Sty 2019 06:39
    rs6000
    Poziom 28  

    W przypadku wykorzystania sprzętowego dekodera nie ma żadnej przewagi, esp8266 bez żadnego problemu radzi sobie w tej roli. Mam radyjko z budzikiem zrobione na tym setupie, dodatkowo z LCD Nextion.

    Pozdr

  • #23 21 Sty 2019 06:50
    LChucki
    Poziom 24  

    rs6000 napisał:
    dodatkowo z LCD Nextion.

    O Nexion już pisałem, można go porównać do drogiego AVR o małych możliwościach z tańszym LCD z FT80x o większych możliwościach.
    Jak już dywagować, czy trzeba aż ESP32 i nie wystarczy ESP8266, to należy się zastanowić po co Nextion, czy nie wystarczy, co najmniej 2 razy tańszy LCD bez akceleratora?

    Każdy projekt, nawet miganie diodą, można zrealizować na wiele sposobów. W amatorskich prostych projektach, najczęściej istotny jest czas realizacji i potrzebne elementy (najlepiej gdy są w przysłowiowej w szufladzie). W zaawansowanych często cena projektu, czas jest sprawą drugorzędną. Istotne jest też to, na czym zna się hobbysta. Jak ledwo poznał Arduino, nie rzuci się od razu na FPGA gdzie filozofia "programu" jest inna, nie do pojęcia dla programisty i niesie wiele niespodzianek w związku z równoległym wykonywaniem "programu" (prawdziwy multitasking).
    W projektach komercyjnych wszystko zależy od skali produkcji. Jeśli duża, cena końcowa urządzenia, jeśli mała czas realizacji, który przekłada się na cenę opracowania urządzenia.

  • #24 21 Sty 2019 07:54
    rs6000
    Poziom 28  

    Twoje opinie nie mają dla mnie zadnego znaczenia, nie są doktryną, to tylko Twoje hasła. Przyjmij do wiadomosci, że ekonomia nie jest jedyną determinantą stosowania róźnych rozwiązań. Podsumowując, uważam, że Nextion jest bardzo dobrym rozwiązaniem.

    Pozdr

  • #25 21 Sty 2019 08:27
    LChucki
    Poziom 24  

    rs6000 napisał:
    uważam, że Nextion jest bardzo dobrym rozwiązaniem.

    Dla amatorów, którzy nie radzą sobie z innymi wyświetlaczami tak.
    Wystarczy jednak trochę wiedzy i praktyki aby dostrzec ułomności rozwiązania z Nextion . Dla mnie największą (pomijam finanse i jego skromne możliwości) jest konieczność wgrywania danych do Nextion z kardy DS w przypadku zmian w projekcie. Nie da się więc upgrade rozwiązać jednym plikiem dla uC. W jaki więc sposób wgrać nowy program przez np Wi-Fi?
    W moim przypadku, najczęściej dyskwalifikuje to takie rozwiązanie.

  • #26 21 Sty 2019 13:55
    tmf
    Moderator Mikrokontrolery Projektowanie

    LChucki napisał:
    Wystarczy jednak trochę wiedzy i praktyki aby dostrzec ułomności rozwiązania z Nextion . Dla mnie największą (pomijam finanse i jego skromne możliwości) jest konieczność wgrywania danych do Nextion z kardy DS w przypadku zmian w projekcie. Nie da się więc upgrade rozwiązać jednym plikiem dla uC. W jaki więc sposób wgrać nowy program przez np Wi-Fi?

    Co oczywiście nie jest prawdą:
    https://nextion.itead.cc/2017/12/08/nextion-hmi-upload-protocol-v1-1/
    Nextion ma wady, ale ma też zalety. Jest dobre oprogramowanie do tworzenia i symulacji GUI na PC, więc o wiele łatwiej stworzyć interfejs niż budując go od podstaw. Ma też prosty język skryptowy, można więc oprogramować część akcji po stronie modułu odciążając procesor.
    Także w zależności od tego co kto potrzebuje, Nextion może być dobrym lub złym roziwązaniem. Zwykle osoby, które wygłąszają kategoryczne poglądy mają bardzo zawężone widzenie i zrozumienie otoczenia - świat nie jest czarno-biały. Gdyby można było jednoznacznie określić, jaki moduł, czy procesor jest najlepszy, to wszystkie inne by dawno wymiotło. Rynek pokazuje, że jakoś dla każdego rozwiązania są pewne nisze.

  • #27 21 Sty 2019 13:59
    rs6000
    Poziom 28  

    Widać, że kolega nie ma pojecia co pisze. Bazujesz na wiedzy zasłyszanej i powielasz stereotypy. Do pracy wyswietlacza nie potrzeba żadnej karty SD.
    I naprawde mało mnie interesuje jakie Ty masz oczekiwania i wymagania, i nie oceniaj innych swoją miarą, uszanuj to, jak podchodzą inni i nie narzucaj im jedynie słusznej ideologii, nota bene którą Ty wyznajesz. To co dobre dla Ciebie, wcale nie musi być dobre dla innych.

    Zapewne jestem amatorem i nie kreuję się na profesjonalistę, ale dla mnie ten wyświetlacz ma bardzo wiele zalet, choćby podstawowa to to, że sporo ooeracji na danych mogę wykonywać w samym wyswietlaczu bez koniecznosci angażowania podstawowego uC bo nextion ma wbudowany jezyk skryptowy, i druga podstawowa, gdy nie korzysta sie z dotyku to wystarczy jeden pin do obslugi calego wyswietlacza, lub dwa, gdy komunikacja ma byc w obie strony.

    Z mojej strony koniec tej dyskusji bo nie ma ona zwiazku z wątkiem, chcesz to możemy powymieniać poglądy na PW.

    Pozdr

  • #28 21 Sty 2019 14:00
    LChucki
    Poziom 24  

    tmf napisał:
    Gdyby można było jednoznacznie określić, jaki moduł, czy procesor jest najlepszy, to wszystkie inne by dawno wymiotło. Rynek pokazuje, że jakoś dla każdego rozwiązania są pewne nisze.

    Dlatego kiepski, płatny, kardasiowy MkAvrCalculator sprzedaje się, mimo że duże lepsze, bezpłatne narzędzia oferuje producent AVR.
    Te same garnki można kupić "okazyjnie" za 9000zł jak i bez okazji za 1500zł - frajerów nie brakuje, nie sieją ich, sami się rodzą.

  • #29 21 Sty 2019 14:29
    tplewa
    Poziom 38  

    @tmf

    Po części masz rację takie wyświetlacze mają sens np. w przypadku wolnych procesorów gdzie odpalanie jakiejś bardziej rozbudowanej graficznej biblioteki jest problemem bo za małą wydajność procka itd.

    Natomiast tutaj prawdę mówiąc można użyć nawet tych większych bibliotek i mieć GUI załatwione tak samo bez większych nakładów pracy.

    Pomijam tutaj osoby które oczywiście nie są aż tak biegłe w temacie i mogą mieć z tym problem, wtedy wiadomo wybierają proste rozwiązania aby mieć coś proste w obsłudze.

    Pozostaje pytanie czy projekty osób zaczynających zabawę powinny być dla innych przykładem i wzorem - IMHO nie.

    Natomiast co do ESP8266 vs ESP32 to nawet nie ma co porównywać. Wydajność ESP32 jest o wiele większa do tego dostępne dwa rdzenie, sprzętowe wspomaganie kryptografii itd. Do tego lepiej udokumentowane jeśli chodzi o programowanie (udostępnione API ESP-IDF). Generalnie jak ktoś chce zacząć zabawę to https://dl.espressif.com/doc/esp-idf/latest/get-started/index.html

    Choć tutaj przy programowaniu trzeba wiedzieć o kilku sprawach - jeden to FLASH jest podpięty na SPI więc prędkość wykonywania programu ma swoje ograniczenia. Przy dopinaniu zewnętrznej pamięci RAM też należy pamiętać o tym że pracuje ona na SPI. Wszystko jest co prawda w pewien sposób buforowane, ale ma to pewne ograniczenia (to w sumie temat na inną bajkę). Przykładowo aby przyśpieszyć wykonywanie kodu niektóre funkcje można odpalać z wewnętrznego RAM. Tak samo czytałem że jeśli chodzi o liczby zmiennoprzecinkowe to też nie jest podobno najlepiej (przynajmniej w porównaniu do Cortex-ow M4 M7).

    Z innej strony ktoś robił testy FFT i tutaj nie jest źle: http://www.robinscheibler.org/2017/12/12/esp32-fft.html

    Reasumując jak za taką cenę jest bardzo dobrze i wiele można na tych modułach zrobić. Tylko niestety są mniej popularne niż np. AVR-y czy Cortex-y.

    Przykładowo ja teraz robię testy by w układzie który był na STM32F407 upchać wszystko an ESP. Ot z tego powodu że przyszła potrzeba dodania do STM-a BT i WiFi więc jak już będzie ESP32 to może uda się i tego STM-a wywalić :)

    Akurat też potrzebuję tutaj I2S i kodeka audio :) w sumie układ ma między innymi robić jako modulatro/demodulator AFSK 1200bps

  • #30 21 Sty 2019 16:39
    AIIoT
    Poziom 9  

    LChucki napisał:
    W przypadku ESP8266 vs ESP32, biorąc pod uwagę niewielką (zazwyczaj) różnicę w cenie a możliwości, warto stosować ESP32, który jest bardziej rozwojowy.

    Że EPS32 jest niewiele droższy to bym nie powiedział, ESP8266 ESP-12 kosztuje $1.48 natomiast ESP32 $3.42 czyli ponad dwu-krotność.

    Fakt, jeśli korzystamy z dużej liczby pinów IO lub potrzebujemy ADC, to niema sensu zabawa w expandery i inne tego typu rozszerzenia, lepiej wybrać ESP32.
    Sam rozwijając się pisząc programy na ESP8266, mam dość spory problem aby teraz zmieścić się na AVR, co prowadzi do tego że nie widzę sensu już ich stosować, tym bardziej że AVR z większa ilością pamięci kosztują tyle co ESP32 lub nawet więcej, a nie mają nawet takiej wydajności jak ESP8266.