Jump to content
ELFORUM - Forumul electronistilor

Yoradio - web radio sau radio internet


Recommended Posts

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 to comment
  • Replies 128
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

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 to comment

"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

Edited by val
Adaugare
Link to comment

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 to comment

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 ?

 

 

2024-02-14-17.png

 

 

 

Edited by modoran
Link to comment

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 to comment

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 to comment
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 to comment
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 to comment

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 to comment

@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 to comment

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.

Edited by val
Adaugare
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines