cristi7521 Postat Februarie 11 Partajează Postat Februarie 11 Adresa proiectului este aceasta https://github.com/e2002/yoradio/tree/main Am descoperit acest proiect radio acum cateva luni, dar de abia luna trecuta l-am realizat. Necesarul minim pentru realizare este un modul ESP32 si un modul cu Max98357 deoarece radio are interfata web si se poate controla complet de acolo (adaugare/schimbare posturi, egalizor, volum, setari) Mai sunt necesare doar o sursa de 5V minim 0.5A si un difuzor. Se pot adauga si butoane, encoder, telecomanda, suporta foarte multe modele de afisoare, am testat doar cu doua, un oled de 0.96 si TFT de 1.8 Pentru varianta minima ESP32 si Max98357 conexiunile sunt urmatoarele ESP32 MAX98357 IO25 LRC IO26 BCLK IO27 DIN VIN VIN GND GND Am citit ca nu functioneaza cu ESP32-S2 sau ESP32-C3 Suporta peste 65000 posturi radio in lista, se poate folosi ca mp3 player, citeste card SD. Se pare ca daca se foloseste ESP32 cu memorie psram poate reda si melodii flac, inca nu am testat, nu am avut modul cu memorie psram Daca se adauga afisaj, pe langa informatiile despre numele postului, melodia rulata se afiseaza si adresa IP, nivel sonor, nivel semnal WIFI, buffer audio, vu meter si chiar informatii despre vreme. Aceste informatii depind de dimensiunea afisajului, pentru cele cu rezolutie redusa sau mici nu sunt afisate toate informatiile. Am petrecut cateva ore citind informatiile postate de autor pe github deci daca cineva doreste sa il realizeze cred ca pot sa ajut intr-o anumita masura. Se gasesc mai multe realizari cu acest radio, vedeti poze postate de autor sau pe acest forum https://radio-bastler.de/forum/showthread.php?tid=22516 Link spre comentariu
modoran Postat Februarie 12 Partajează Postat Februarie 12 L-am realizat și eu împreună cu display st7735 de 1,8 inch și pcm5102, e faina interfața ( înainte am folosit alt proiect cu interfață minimalista ). Dar are unele probleme, nu prea merge împreună cu ds3231 că da eroare la compilare rtclib, encoderul chinezesc merge aiurea ( deși am testat cod simplu bazat pe aiesp32rotaryencoder unde merge bine ), butoanele daca le activezi pe toate e că și cum vol- e apăsat permanent, au pullup activat , mai vedem care e cauza ). Nu am găsit unde sa modific in codul sursa sa nu mai apară textul în uppercase, ci așa cum e, desi m-am uitat pe acolo. Link spre comentariu
val Postat Februarie 12 Partajează Postat Februarie 12 (editat) "Sensibilitatea" encoderului poate fi setată din interfața web a radioului. Similar am procedat și în cazul utilizării telecomenzii ir. Nu am utilizat modulul rtc, consider că nu este necesar. Nici variantele cu butoane nu mi-au făcut probleme, eventual folosiți pentru generarea fișierului myoptions.h unealta recomandată de autor: https://e2002.github.io/docs/myoptions-generator.html Editat Februarie 12 de val Adaugare Link spre comentariu
cristi7521 Postat Februarie 13 Autor Partajează Postat Februarie 13 Pentru functionarea corecta a encoderului pe pinii sugerati in myoptions.h, adica 36, 34, 39 trebuiesc adaugate rezistente de pullup, pinii respectivi nu au posibilitatea hardware de activare a acestor rezistente. Initial nici mie nu mi-a mers, dar dupa ce am pus rezistente externe a mers fara probleme. La fel si butoanele, nu am avut probleme. Daca se folosesc alti pini nu sunt necesare rezistente externe, doar bifarea optiunii internal pullup. Link spre comentariu
modoran Postat Februarie 14 Partajează Postat Februarie 14 (editat) Da, am citit că pinii 30 și ceva nu au rezistente interne, nu ii mai folosesc. Merge bine și encoderul ( eu foloseam 16 și 17 ). Oricum fără modul cu psram multe posturi nu merg din lipsa de memorie. Iar esp32 wrover e greu de găsit pe la chinezi. Vad ca nu e suportat esp32-s3, așa că singura soluție ar fi esp32 wrover. Dar prin toată China nu găsesc decât modulul separat, nu-l face nimeni cu totul că pe celălalt ? Editat Februarie 14 de modoran Link spre comentariu
val Postat Februarie 14 Partajează Postat Februarie 14 Am folosit si wroom si wrover, diferenta este insesizabila; poate wrover este mai sensibil la receptie. Wrover pe Aliexpress am cumparat modul simplu si modul cu interfata usb; ultima varianta este mai rentabila. Daca aveti dubii inainte de compilare, verificati porturile in tabelul de aici: https://randomnerdtutorials.com/esp32-pinout-reference-gpios/ Link spre comentariu
modoran Postat Februarie 14 Partajează Postat Februarie 14 Un link de unde se gaseste de cumparat cu totul pe aliexpress ? Ma descurc eu cu portueile, nu-i problema. Nici semnalul wifi nu e o problema, cred ca-s la fel. Foarte multe streamuri nu sunt decat https si nu prea merg la mine. Link spre comentariu
val Postat Februarie 14 Partajează Postat Februarie 14 Nu am avut probleme pana acum, posibil modulul esp32 pe care il folositi sa fie cu probleme. Wrover "complet" de aici am cumparat: https://www.aliexpress.com/item/1005004571486357.html?spm=a2g0o.order_list.order_list_main.538.1dc51802DcvPvK Cred ca e cea mai buna varianta, am incercat modul simplu + adaptor sau in cazul wroom exista pcb dedicat, de obicei e mai scump. Link spre comentariu
val Postat Februarie 14 Partajează Postat Februarie 14 Daca culorile interfetei grafice nu va plac, se poate rezolva. Editati fisierul mytheme si copiati-l alaturi de myoptions in fisierul radacina. Acesta este varianta pe care o folosesc: #ifndef _my_theme_h #define _my_theme_h /* Theming of color displays DSP_ST7735, DSP_ST7789, DSP_ILI9341, DSP_GC9106, DSP_ILI9225, DSP_ST7789_240 *********************************************************************** * !!! This file must be in the root directory of the sketch !!! * *********************************************************************** Uncomment (remove double slash //) from desired line to apply color */ #define ENABLE_THEME #ifdef ENABLE_THEME /*----------------------------------------------------------------------------------------------------------------*/ /* | COLORS | values (0-255) | */ /* | color name | R G B | */ /*----------------------------------------------------------------------------------------------------------------*/ #define COLOR_BACKGROUND 0, 0, 0 /* background */ #define COLOR_STATION_NAME 255, 246, 0 /* station name */ #define COLOR_STATION_BG 0, 0, 0 /* station name background */ #define COLOR_STATION_FILL 0, 0, 0 /* station name fill background */ //#define COLOR_SNG_TITLE_1 255, 0, 0 /* first title */ //#define COLOR_SNG_TITLE_2 0, 0, 0 /* second title */ //#define COLOR_WEATHER 255, 0, 216 /* weather string */ #define COLOR_VU_MAX 255, 0, 0 /* max of VU meter */ #define COLOR_VU_MIN 0, 255, 0 /* min of VU meter */ #define COLOR_CLOCK 255, 255, 0 /* clock color */ #define COLOR_CLOCK_BG 0 , 0, 0 /* clock color background */ //#define COLOR_SECONDS 0, 255, 255 /* seconds color (DSP_ST7789, DSP_ILI9341, DSP_ILI9225) */ #define COLOR_DAY_OF_W 255, 0, 0 /* day of week color (DSP_ST7789, DSP_ILI9341, DSP_ILI9225) */ #define COLOR_DATE 0, 0, 255 /* date color (DSP_ST7789, DSP_ILI9341, DSP_ILI9225) */ //#define COLOR_HEAP 255, 168, 162 /* heap string */ //#define COLOR_BUFFER 157, 171, 251 /* buffer line */ #define COLOR_IP 51, 51, 255 /* ip address */ //#define COLOR_VOLUME_VALUE 165, 162, 132 /* volume string (DSP_ST7789, DSP_ILI9341, DSP_ILI9225) */ //#define COLOR_RSSI 255, 148, 156 /* rssi */ //#define COLOR_VOLBAR_OUT 198, 93, 0 /* volume bar outline */ //#define COLOR_VOLBAR_IN 189, 189, 189 /* volume bar fill */ //#define COLOR_DIGITS 100, 100, 255 /* volume / station number */ //#define COLOR_DIVIDER 0, 255, 0 /* divider color (DSP_ST7789, DSP_ILI9341, DSP_ILI9225) */ //#define COLOR_BITRATE 231, 211, 90 /* bitrate */ //#define COLOR_PL_CURRENT 0, 0, 0 /* playlist current item */ //#define COLOR_PL_CURRENT_BG 91, 118, 255 /* playlist current item background */ //#define COLOR_PL_CURRENT_FILL 91, 118, 255 /* playlist current item fill background */ //#define COLOR_PLAYLIST_0 255, 0, 0 /* playlist string 0 */ //#define COLOR_PLAYLIST_1 0, 255, 0 /* playlist string 1 */ //#define COLOR_PLAYLIST_2 255, 0, 255 /* playlist string 2 */ //#define COLOR_PLAYLIST_3 0, 0, 255 /* playlist string 3 */ //#define COLOR_PLAYLIST_4 0, 255, 255 /* playlist string 4 */ #endif /* #ifdef ENABLE_THEME */ #endif /* #define _my_theme_h */ Link spre comentariu
cristi7521 Postat Februarie 14 Autor Partajează Postat Februarie 14 Din ce am citit eu ESP32-S3 este dual core si este suportat, doar ESP32-S2 si ESP32-C3 nu sunt suportate Daca folositi wrover trebuie activata memoria psram pentru folosire cu buffer. Link spre comentariu
modoran Postat Februarie 14 Partajează Postat Februarie 14 1 oră în urmă, val a spus: Nu am avut probleme pana acum, posibil modulul esp32 pe care il folositi sa fie cu probleme. Wrover "complet" de aici am cumparat: https://www.aliexpress.com/item/1005004571486357.html?spm=a2g0o.order_list.order_list_main.538.1dc51802DcvPvK Cred ca e cea mai buna varianta, am incercat modul simplu + adaptor sau in cazul wroom exista pcb dedicat, de obicei e mai scump. Multumesc pentru link. Care e diferenta dintre "E" si "IE" ? Am citit pdf-ul, dar nu prea am inteles. Si chinezul ce configuratie vinde acolo ? Ca nu scrie nimic in acest sens, ori nu stie ce vinde, ori vinde cea mai slaba optiune. Sunt mai multe variante posibile. Am gasit asta intre timp, aici chinezul spune in descriere 4MB SPI, 8MB PSRAM. Ar fi excelent daca e si real: https://www.aliexpress.com/item/1005006212080137.html Acum 33 minute, cristi7521 a spus: Din ce am citit eu ESP32-S3 este dual core si este suportat, doar ESP32-S2 si ESP32-C3 nu sunt suportate Daca folositi wrover trebuie activata memoria psram pentru folosire cu buffer. Nu se compileaza daca alegi ESP32-S3 in Arduino IDE. Ma gandesc la faptul ca exista un motiv pentru care chiar autorul proiectului spune in optionschecker.h: #ifndef ARDUINO_ESP32_DEV # error ONLY MODULES "ESP32 Dev Module" AND "ESP32 Wrover Module" ARE SUPPORTED. PLEASE SELECT ONE OF THEM IN THE MENU >> TOOLS >> BOARD #endif Chiar daca comentezi aia tot nu se compileaza codul. Link spre comentariu
Stefan Postat Februarie 15 Partajează Postat Februarie 15 Acum 11 ore, modoran a spus: Care e diferenta dintre "E" si "IE" ? Am citit pdf-ul, dar nu prea am inteles. Conectorul pentru antena externă, I vine de la IPX. Acum 11 ore, modoran a spus: Nu se compileaza daca alegi ESP32-S3 Hmm... Tocmai ce comandasem zilele trecute fix ESP-S3 pentru proiectul ăsta. Cu noul an chinezesc am de așteptat destul de mult până vine pachetul, daca nici nu este compatibil e clară treaba. Link spre comentariu
cristi7521 Postat Februarie 15 Autor Partajează Postat Februarie 15 Wrover E are conectata antena pcb, cel cu IE nu o are conectata, traseul duce la conectorul IPX Eu am vazut ca Yoradio foloseste libraria ESP32-audioI2S Daca se deschide adresa librariei https://github.com/schreibfaul1/ESP32-audioI2S apare This library only works on multi-core ESP32 chips like the ESP32-S3. It does not work on the ESP32-S2 or the ESP32-C3 @Stefan cel care a facut libraria are si un radio care sigur merge cu ESP32-S3, il poti incerca pe acela: Required HW: ESP32 or ESP32-S3 board with PSRAM https://github.com/schreibfaul1/ESP32-MiniWebRadio Link spre comentariu
Stefan Postat Februarie 15 Partajează Postat Februarie 15 @cristi7521 mulțumesc pentru informație. Pana vin modulele din China poate reușesc sa găsesc un ESP32 WROOM si sa testez proiectul YoRadio, acesta pare mai apropiat de ce vreau eu. Pentru partea de DAC ce recomandați? Adică ce diferențe si avantaje/dezavantaje sunt intre numeroasele variante pe I2S (am folosit doar PCM5...) si / sau VS1053. Link spre comentariu
val Postat Februarie 15 Partajează Postat Februarie 15 (editat) Mergeți pe varianta I2S dacă nu vreți să aveți dureri de cap cu VS1053. PCM5102, CJMCU-1334 sau MAX98357 (I2S + amplif mono de 2.5W). Am testat și cu ic tda1387 dar nivelul sunetului este foarte mic. Editat Februarie 15 de val Adaugare Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum