Code Monkey home page Code Monkey logo

esp32-miniwebradio's Introduction

ESP32-MiniWebRadio V3.1

Display

MiniWebRadio Features:

  • User interfaces: TFT touchscreen display, web browser and FTP
  • Functions: WiFi Radio, Digital Clock, MP3 player, Alarm, Sleep timer, adjust screen brightness, EQ settings and Volume, web browser User Interface, access SD card via FTP (e.g. FileZilla), IR remote controller support
  • Up to 999 pre-set stations can be held in stations.csv file on SD card (can edit using web UI)
  • Each station can display its own station icon (when saved to SD card)
  • Time is obtained via Network Time Protocol (NTP) from internet. Local Time Zone can be set from web UI
  • Web UI - MiniWebRadio can be accessed via any web browser (e.g. IE/Edge/Chrome/FireFox)
  • Internal SD card can be accessed via FTP (e.g. FileZilla)
  • Your home WiFi router SSID and password can be set using the browser on your smart phone (only required on first boot) or edit the networks.csv file on SD card
  • Play audio files on SD card or on DLNA home network (via web UI)
  • Use Infra-Red (IR) remote controller (38kHz NEC-encoded - e.g. arduino or mp3 remote). The web UI allows you to configure the buttons if required
  • One Alarm time can be pre-set using display (choose days, Monday-Sunday)
  • A Sleep timer can be set using display (switches off sound and screen after a pre-set time - max. 6 hours)
  • Can announce the time each hour when in radio mode (set via web UI)
  • Screen brightness can be adjusted using display (if the display has a backlight-pin)
  • Supports the Latin, Greek and Cyrillic character sets
  • Community Radio Browser is integrated as a search engine. User can find new stations and then add them to the station list via web UI (with station icon if available) and then save the list and station icon file to the SD card
  • Channel lists can be exported or imported in Excel format (for data backup).

Required HW:
  • ESP32 or ESP32-S3 board with PSRAM
  • External DAC (e.g. PCM5102a, CS4344, PT8211, AC101, ES8388, WM8978 ...)
  • TFT Display with Touchpad (SPI), Display controller can be ILI9341 (320x240px), ILI9486 (480x320px), ILI9488 (480x320px) or ST7796 (480x320px)
  • SD Card (FAT32) + SD adapter (can use SD slot on back of TFT display if available)
Optional HW:
  • IR receiver + IR remote controller according to the NFC protocol
  • KCX_BT_EMITTER V1.7, for connecting external Bluetooth devices in the sending or receiving direction, a connection with voice assistants such as ALEXA is possible

Control is via the display touchscreen or a web page in a browser, no additional components such as switches, rotary encoders, capacitors or resistors are required.

Schematic
Schematic ESP32 with external DAC

Schematic ESP32-S3 with external DAC

Display Layout

Using the Community Radio Browser

How to install : PlatformIO is definitely recommended as the IDE.

Some features:

  • The audioprocess works in its own task and is decoupled. If a VS1053 is used, it must have its own SPI bus (VS1053 uses HSPI - TFT uses VSPI). This prevents dropouts when drawing on the display or when the website is loading.
  • The SD card is wired as SD_MMC to improve stability and increase speed. This means that the GPIOs cannot be chosen freely. The SD card adapter must not have any resistors in series. For best display update speed, use 40MHz frequency for SD card if possible (SDMMC_FREQUENCY 40000000 in common.h).
  • Audio can be decoded using software and a DAC instead of VS1053 decoder board. Possible formats are mp3, aac, mp4 and flac (flac requires PSRAM). DAC (e.g. UDA13348, MAX98357A, PCM5102A) is connected via I2S. AC101, ES8388 and WM8978 (TTGO audioT board) audio decoder boards are also supported
  • 480x320px display supported. The ILI9486 (SPI display from the Raspberry PI) is also supported
  • The SD card files can be accessed via FTP. See settings for Filezilla. The username and password are 'esp32' (this can be changed in 'common.h')
  • Access Point SSID/password can be set using mobile phone browser - no need to modify source code or networks.csv file on SD card
  • Stations URLs support entry of username and password if the server expects access data, "URL|user|pwd"
  • Can process local playlists in m3u format
  • Either the ESP32 or the ESP32-S3 can be used (PSRAM is highly recommended)
  • IR remote button codes can be changed by user using web UI
  • Improved web UI reliability
  • VU meter added to display
  • Timezone can be set using web UI
  • Play media files on home network DLNA (uPNP/DLNA app on smart phone, router, etc.)
  • Prevent clicks when changing radio stations

Codec
mp3 y
aac y
aacp (HLS) mono
wav y
flac blocksize max 8192 bytes
vorbis y (<=196Kbit/s)
m4a y
opus y (celt)


self-made devices of the users


Known problems

SD Card

In the simplest case, the SD card is connected directly to the ESP32
SD Card Pinout
Some SD card adapters for displays use series resistors. These are useless and in many cases harmful. Therefore, it is better to remove them and replace them with solder bridges.
Display Resistors
If an ESP32 is used, any existing pull-up resistor at pin D0 must be removed (ESP32 - bootstrap pin). This will be added again later via SW. This is not necessary with the ESP32-S3. (Photo from the ESPuino forum)SD Card Adapter ESP32

Display

Many displays can be used without any problems. If the touchpad does not work, it may be that the TFT controller does not enable the SPI bus. This is the case with my ILI9488 display. Then MISO of the TFT controller must not be connected.
ILI9488 Display

DAC

On some PCM5102 boards the solder bridges are missing on the back.
PCM5102A Board
This is how the DAC CS4344 is connected:
CS4344 Board
If the DAC PT8211 is used, the I2S_COMM_FMT must be changed in common.h. This DAC requires Japanese LSBJ (Least Significant Bit Justified) format

KCX_BT_EMITTER

The RT pin is not part of the soldering strip, but is located in the middle of the right side.
PCM5102A Board


___________________________________________________________

MWR

esp32-miniwebradio's People

Contributors

linkenelis avatar schreibfaul1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp32-miniwebradio's Issues

Firmware file

Hi . You can upload the firmware file in the bin format.

Touch ist invertiert

Hallo und guten Abend Wolle.

Noch einmal Danke für das tolle Projekt und für Deine Hilfe bis hierher.
Allerdings habe ich noch ein Problem. Der Touch ist invertiert. Heißt links oben ist rechts unten. Habe auch schon in den geschlossenen Issues Dine Tipps gelesen, komme aber irgendwie nicht weiter.
Wie genau muss ich vorgehen um den Touch in die richtige Position zu bekommen??
Danke schon einmal im Voraus.

Programmspeicherplatz reicht nicht aus?

Guten Abend! :-)

Nach dem mein Radio nun 3 Wochen ohne Probleme lief (Danke noch mal für die Hilfe),
sah ich dass es neue Dateien gibt, die ich eben Aufspielen wollte.
Leider meckert die Arduino IDE, dass der Programmspeicher nicht ausreichen würde?! :/
(auch TFT, IR, vs1053_ext wurden gegen die aktuellen getauscht)

"Der Sketch verwendet 1324138 Bytes (101%) des Programmspeicherplatzes.
Das Maximum sind 1310720 Bytes.
Globale Variablen verwenden 69240 Bytes (23%) des dynamischen Speichers,
225672 Bytes für lokale Variablen verbleiben. Das Maximum sind 294912 Bytes."

Kommt das denn hin mit den 1324138 Bytes? Wenn ja, wurde ich wohl beim Board beschissen :D

Any idea how to use a neopixel strip with this?

Any idea how to use a neopixel strip with this without slowing down the LED animation or preventing the audio from working?

Someone suggested neopixelbus but it still does the same thing as other libraries.

miniwebradio sd Karte wird nicht gefunden.

Hallo, habe mein ESP32 Dev. Board und das waveshare 2.8 nach der Anleitung verbunden und die Dateien auf eine SD gespielt.
Leider läuft das Ganze bei mir nicht. Laut Seriellen Monitor wir die SD Karte nicht gefunden:
ets Jun 8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:952
load:0x40078000,len:6084
load:0x40080000,len:7936
entry 0x40080310
setup : Init SD card
tft_info : TFT_CS:22 TFT_DC:21 TFT_BL:17 TFT_MOSI:23 TFT_MISO:19 TFT_SCK:18
tft_info : init HX8347D
setup : SD card not found

SD Karte steckt im Kartenslot des waveshare 2.8.

Wäre nett wenn sie mir weiterhelfen könnten. DANKE

TFT causes compile error and Sloeber instruction not up to date

Hi,
In the Sloeber instruction you ask to change the TFT.h, removing the line '#include "fonts/Times_New_Roman.h"'
However when compiling, this will give error because in the main sketch, you are refering to it on line 405 until 410

Compiling also gives an error on the TFT:
..\MiniWebRadio.ino: In function 'void setup()':
..\MiniWebRadio.ino:668:66: error: no matching function for call to 'TFT::begin(int, int, int, int, int, int)'
tft.begin(TFT_CS, TFT_DC, SPI_MOSI, SPI_MISO, SPI_SCK, TFT_BL); // Init TFT interface

And

D:\sloeber\arduinoPlugin\libraries\TFT\src/tft.h:91:19: note: candidate expects 5 arguments, 6 provided
In file included from ..\sloeber.ino.cpp:87:0:

I checked the code on that line but it has only 5 arguments not 6...so not sure what's going on here?

Problem with uploading a sketch

Hello, I have a problem with the loading of your sketch I did everything as you described it, I copied everything to one folder but when loading it jumps to me

Arduino:1.8.5 (Windows 10), Płytka:"NodeMCU-32S, 80MHz, 921600"

C:\Users\HP\Desktop\ESP32-MiniWebRadio-master\MiniWebradio\MiniWebRadio.ino: In function 'void getsettings(int8_t)':

MiniWebRadio:714: error: no matching function for call to 'HTML::reply(String&, bool)'

         web.reply(val, false);

                             ^

In file included from C:\Users\HP\Desktop\ESP32-MiniWebRadio-master\MiniWebradio\MiniWebRadio.ino:61:0:

sketch\html.h:54:7: note: candidate: void HTML::reply(const String&)

void reply(const String &response);

   ^

sketch\html.h:54:7: note: candidate expects 1 argument, 2 provided

MiniWebRadio:720: error: no matching function for call to 'HTML::reply(String&, bool)'

       web.reply(val, false);

                           ^

In file included from C:\Users\HP\Desktop\ESP32-MiniWebRadio-master\MiniWebradio\MiniWebRadio.ino:61:0:

sketch\html.h:54:7: note: candidate: void HTML::reply(const String&)

void reply(const String &response);

   ^

sketch\html.h:54:7: note: candidate expects 1 argument, 2 provided

Touch calibration

Hello
I made this radio and I have problem with cheap LCD based on ILI9341. When I touch the screen, point of touch doesn't match to icons of menu etc. It's possible to calibrate this?

PS. It's looks like ESP don't read presets.csv file from SD card. Radio plays only stations preprogrammed in ino file.

PNG images broken in All Browser Types

Thanks for a great and very complete project. I have most elements working well.
My problem is that all png buttons are showing as broken placeholders. It is possible to see the partially load before breaking. The behavior is the same on Chrome, Firefox, Safari. I have tried with antivirus and firewalls off. By right clicking and opening image in a new tab I can see an icon which is only partially downloaded. Image attached. It feels like an html timing issue, in that the image does not fully download. All of the images are fully visible on the SD card. I am using a LOLIN ESP32 board.
Any help would be appreciated.
2018-12-17_115504
2018-12-17_115957

Touch screen does not work

Hello,
This is a very good project. Thanks for it.
But my touch screen does not work. I also tried your little test program, but it does not work either.
I use this screen (HR2046): https://bit.ly/2BqfedC
Wire: T_IRQ (GPIO39), T_CS (GPIO16), T_DO (GPIO19), T_DI (GPIO23), T_CLK (GPIO18).

What could be the problem?
Thanx

fonts.h can not find

Hey, were can i find the fonts.h?
I can not find it in MiniWebRadio or in the libraries.

Help Me

First Tanks for your woks it is very nice
can you help me ?
compilation ok no pb , transfert no error
run : rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:808
load:0x40078000,len:6084
load:0x40080000,len:6696
entry 0x400802e4
Fatal exception (29): StoreProhibited
epc1=0x4008030e, epc2=0x00000000, epc3=0x00000000, excvaddr=0x0000008e, depc=0x00000000
test on wemos card 32
and 32 dev card 30 pin same than you.

test with .bin ok but no WIFI i put on .cvs SSID|mypassword but program runCan you help me Tank you
Philippe

SPI TFT change

Hello

I tried to change the screen connection from your option

// Digital I/O used
#define VS1053_CS 2 // do not use GPI032 or GPIO33 here
#define VS1053_DCS 4 // do not use GPI032 or GPIO33 here
#define VS1053_DREQ 36
#define TFT_CS 22 // do not use GPI032 or GPIO33 here
#define TFT_DC 21 // do not use GPI032 or GPIO33 here
#define TFT_BL 17 // 33 (pico V4)
#define TP_IRQ 39
#define TP_CS 16 // 32 (pico V4)
#define SD_CS 5
#define IR_PIN 34
#define SPI_MOSI 23
#define SPI_MISO 19
#define SPI_SCK 18

To their values:

#define VS1053_CS 2 // do not use GPI032 or GPIO33 here
#define VS1053_DCS 4 // do not use GPI032 or GPIO33 here
#define VS1053_DREQ 36
#define TFT_CS 15 //22 // do not use GPI032 or GPIO33 here
#define TFT_DC 16 //21 // do not use GPI032 or GPIO33 here
#define TFT_BL 17 // 33 (pico V4)
#define TP_IRQ 39
#define TP_CS 16 // 32 (pico V4)
#define SD_CS 5
#define IR_PIN 34
#define SPI_MOSI 13 //23
#define SPI_MISO 12 //19
#define SPI_SCK 14 //18

The program simply does not want to work with them. Why? Can I fix it?

IR remote

Dear schreibfaul1. Tell me how to add a new IR remote. There is a remote and codes to it, for example "FFA25D, FFE21D". How do I add these codes to the sketch?

Still problems to compile

Hi Wolle,

still it does not compile. I tried with arduni 1.8.6 and Sloeber. Both show same error

TFT tft(1); // parameter: (0) ILI9341, (1)HX8347D
^
In file included from C:\Users\frank\Documents\Arduino\MiniWebradio\sloeber.ino.cpp:17:0:
C:\Users\frank\Documents\Arduino\MiniWebradio\tft.h:86:9: note: candidate: TFT::TFT()
TFT();
^
C:\Users\frank\Documents\Arduino\MiniWebradio\tft.h:86:9: note: candidate expects 0 arguments, 1 provided
C:\Users\frank\Documents\Arduino\MiniWebradio\tft.h:83:7: note: candidate: constexpr TFT::TFT(const TFT&)
class TFT : public Print {
^
C:\Users\frank\Documents\Arduino\MiniWebradio\tft.h:83:7: note: no known conversion for argument 1 from 'int' to 'const TFT&'
MiniWebradio\subdir.mk:67: recipe for target 'MiniWebradio\sloeber.ino.cpp.o' failed
make: *** [MiniWebradio\sloeber.ino.cpp.o] Error 1

Br. Frank

2.4TFT possible?

Hi!
Is it meant to work only with 2.8TFT?
Got some 2.4TFT touch in hand.
I want to give this project a try!
Thanks for the effort.
Andreas

Display error

Hello,
I need for your help!
I can't see why there are white squares in the pictures.

picture1
picture2
web

My other concern is that the touch screen works like a mirror.

touch1
touch2
touch3

What could be the problem?
Thank you very much for help!

The song on SD Card

Hello,
for play local mp3 file on SD Card,
why not autoplay the next song on SD Card?

Compile Error mit TFT library

Wenn ich den Sketch kompiliere bekomme ich immer diese untenstehenden Fehlermeldungen:

In file included from ..\sloeber.ino.cpp:87:0:
..\MiniWebRadio.ino: In function 'void setup()':
..\MiniWebRadio.ino:668:66: error: no matching function for call to 'TFT::begin(int, int, int, int, int, int)'
tft.begin(TFT_CS, TFT_DC, SPI_MOSI, SPI_MISO, SPI_SCK, TFT_BL); // Init TFT interface
^
In file included from ..\sloeber.ino.cpp:17:0:
D:\PortApps\sloeber\arduinoPlugin\libraries\TFT_ILI9486_HX8347_XPT2046\src/tft.h:91:19: note: candidate: void TFT::begin(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)
void begin(uint8_t CS=22, uint8_t DC=21, uint8_t MOSI=23, uint8_t MISO=19, uint8_t SCK=18);
^
D:\PortApps\sloeber\arduinoPlugin\libraries\TFT_ILI9486_HX8347_XPT2046\src/tft.h:91:19: note: candidate expects 5 arguments, 6 provided
subdir.mk:31: recipe for target 'sloeber.ino.cpp.o' failed
make: *** [sloeber.ino.cpp.o] Error 1

Sind die libraries so entsprechend umzubenen? Irgendwie passt es nicht mit der Anleitung.
grafik

Can not compile with Arduino 1.8.5 under windows

Hi, i tried to compile the code but always get the same error:

Arduino: 1.8.5 (Windows 10), Board: "ESP32 Dev Module, Default, QIO, 80MHz, 4MB (32Mb), 921600, None"

MiniWebRadio:134: error: expected primary-expression before 'void'

void defaultsettings(){

^

MiniWebRadio:134: error: expected '}' before 'void'

MiniWebRadio:134: error: expected ',' or ';' before 'void'

MiniWebRadio:134: error: expected unqualified-id before numeric constant

void defaultsettings(){

^

MiniWebRadio:475: error: expected declaration before '}' token

 tft.print(rtc.gettime_s());

^

Mehrere Bibliotheken wurden für "SD.h" gefunden
Benutzt: C:\Users\frank\Documents\Arduino\hardware\espressif\esp32\libraries\SD
Nicht benutzt: C:\Users\frank\Downloads\arduino-1.8.5-windows\arduino-1.8.5\libraries\SD
Mehrere Bibliotheken wurden für "WiFi.h" gefunden
Benutzt: C:\Users\frank\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi
Nicht benutzt: C:\Users\frank\Downloads\arduino-1.8.5-windows\arduino-1.8.5\libraries\WiFi
exit status 1
expected primary-expression before 'void'

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre

thanks for helping
Frank

Touch is not working

Hallo und vielen Dank für das tolle Projekt und der Beschreibung das Radio auch über die Arduino IDE benutzen zu können. Ich habe Schritt für Schritt die Anleitung befolgt, und hatte direkten Erfolg und das Radio läuft.
Nun zu meinem Problem.
Ich habe alles nach Schaltplan angeschlossen, allerdings funktioniert der Touchscreen nicht.
Auf dem Display gibt es auch noch einen freien Pin mit der Bezeichnung TSCK. Muss ich diesen Pin auch noch mit SCK verbinden? Habe ja schon SCK vom Display und dem SD Reader mit dem ESP verbunden und gedacht das es genug ist.

SD Karte arbeitet nicht

Hallo Wolle,

ich habe ein Problem mit der SC Karte da kommt immer ein Fehler beim Start und da bleibt es dann hängen.
Ich habe ein etwas anderes ESP32 als in deinen Bildern.
Espressif ESP32 WLAN Dev Kit Board Development Bluetooth Wifi v1 WROOM32 NodeMCU
ich habe hier die pinkonfiguration gewählt und meine verdrahtung 3 mal geprüft (und auch das Waveshare 2.8 Tft Shield auf einen Arduino uno getestet)

Hast du noch eine Idee ?
VG Frank

ets Jun 8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:9720
ho 0 tail 12 room 4
load:0x40080400,len:6352
entry 0x400806b8
setup : Init SD card
tft_info : TFT_CS:22 TFT_DC:21 TFT_BL:33 TFT_MOSI:23 TFT_MISO:19 TFT_SCK:18
tft_info : init HX8347D
setup : SD card not found

Complementary development proposal

Hi,
Adding the WIFI manager for ESP32 would be a great asset.
Being able to configure the wifi settings by the wifi manager would safe me the hassle of taking out the sd card, sticking it in my computer to edit the networks.txt
Any plans for implementing this?

Mehr Infos?!

Hallo
wird es mehr Infos geben? Was ist das für Display? vieleicht ein Link zum kaufen? Anschlussplan? Hab ich das richtig verstanden sd kard adapter ist Pflicht?
Gruss
Danke

Complementary development proposal,

sincere compliment
great development
you have helped me in a valuable way
all my thanks

I have a complementary development proposal,

audio menu choose classic output or Bluetooth to send over Bluetooth headphone

do you think that's feasible?

Thank you again
Philippe from Paris

Ili9341 Display integrierter SD slot + externe SD

Hi Wolle,

Ich brauch leider nochmal deine Hilfe.

Ich habe das Ili9341 mit integriertem SD Slot und habe extern einen SD Kartenadapter angelötet. (Vielen Dank für deinen Tipp: SD Card Adapter )

Ich habe nun die ganzen Dateien aus ESP32-audioI2S eingebunden und in der Webradio.ino #include Audio.h einwandfrei in der Arduino IDE kompiliert.

Er liest jedoch die externe SD nicht. Hab auch schon den Ordner "mp3files" in Content for SD Card gelöscht und auf der externen SD erstellt. Dann finde ich gar keine MP3 files.

In der .ino sucht er ja nur nach dem Ordner "/mp3files"

String listmp3file(const char * dirname="/mp3files", uint8_t levels=2, fs::FS &fs=SD){ static String SD_outbuf="";

Hast du eine Idee, was ich übersehen oder vergessen habe könnte?

Vielen Dank im Voraus Greg

LOGO

Hello, everything works for me just how to add a logo to the SD card at what resolution, because, as I added this radio does not display the proper icon only logo "/logo/unknown.bmp" ??

Programmstart, SD Zugriff, Zeitansage

Hallo,
nachdem ich einige Zeit mit dem Radio herumgespielt habe gibts noch ein paar Fragen dazu.

  • der Ton kommt meist erst wenn ich den Reset am ESP32 drücke, das Programm scheint aber zu laufen, lässt sich das ändern?
    Evtl. liegts auch an der Spannungsversorgung.
  • um die bearbeiteten Logos auf die Karte zu kopieren nehme ich die Karte immer raus. Kann ich auch direkt vom PC drauf
    zugreifen?
  • wie bekomme ich die Stundenansage abgeschaltet, Variable _timefile=0 ist gesetzt.
  • von der SD wird immer nur eine Mp3 abgespielt. Gibt es die Möglichkeit alle abzuspielen, entweder der Reihe nach oder am
    besten zufällig?

Gruß & Danke für Rückmeldung
Frank

No fonts.h

I am getting compile errors on all fonts. Realized the font.h file is missing. Can you please assist. Thanks very much.

compile problem

Try to compile on Arduino IDE but ..
html.h: No such file or directory!
...but the directory and scr file exits under MiniWebRadio folder.
Does it has to go anywhere else?
Greetings

PS.What is the reason for the some of Cyrillic comments? Is this creek language?

LCD issue...

I have tested a few web radios, and yours is the most feature rich, at least on paper
.
The problem is, the lcd does not work reliably. 1 out of 10 times it will boot with the lcd working, but mostly it will boot with trashed graphics (full of artifacts or full of noise, or just white).
Looking at the logs, the lcd together with the sdcard, vs1053 and touch are initialised OK. It just wont display properly.

To troubleshoot, i adjusted Edzelf's webradio (also arduino ide project) and Karawin's radio (esp-idf project) to use the same gpio's as yours, and with them the screen is solid.
I even added the pullup resistors, no change.

Can you maybe advise a different tft library to test, or is the one you provide project specific?

Immer wieder Fehler nach dem compilieren

Hallo,
erst mal vielen dank für das super Projekt, allerdings bekomme ich nach dem kompilieren und reset diesen Fehler.

ets Jun 8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:952
load:0x40078000,len:6084
load:0x40080000,len:7936
entry 0x40080310
Fatal exception (29): StoreProhibited
epc1=0x4008033c, epc2=0x00000000, epc3=0x00000000, excvaddr=0x000008fb, depc=0x00000000
Können sie mir da weiterhelfen?

Aktuelle Software fehlerfrei?

Hallo Wolle,
Ich verfolge Dein Projekt seit Längerem. Ich habe es zunächst wie beschrieben aufgebaut, habe mir aber eine modifizierte Variante draus gebastelt. Mit kleinerem 1,77" Display, Kurzhubtasten und so klein, dass es inklusive Netzteil in eine UP-Schalterdose passt. Dein Programm habe ich entsprechend angepasst. Vieles übernommen. Manches habe ich, finde ich, besser gemacht. Beispielsweise habe ich einen "Fader" eingebaut, damit die Umschaltung der Sender etwas gefälliger klingt. Eine OTA-Downloadmöglichkeit auch. Aber das sind nur Kleinigkeiten.

Ich bin immer gespannt auf Deine Updates. Besonders das Vorletzte brachte bezüglich der HTML-Stabilität echt viel. Es ist immer etwas aufwändig, alle Deine Änderungen nachzuvollziehen. Aber bisher war es immer machbar.

Nicht ganz zufrieden bin ich mit dem aktuellen Versionsstand. Vorausgesetzt ich habe es richtig in meine Software eingepflegt, läuft die Webseite relativ instabil. Bis hin zum Absturz der Webseite. Ist das bei Deiner Hardware auch so? Arbeitest Du da an einem Update?

Hendrik

WaveShare 2.8 und CATALEX MicroSD Card Adapter

Hallo Wolle,

vielen Dank vorab für dein super Projekt!

Ich habe mir das 2,8 Zoll Touch Display von WaveShare ohne SD-Slot bestellt. (Ich wusste nicht, dass es das auch ohne gibt)
Kann ich über den MicroSD Card Adpter die Bilder etc. auf dem Display herstellen oder benötige zwingend das Display mit SD-Slot auf der Rückseite?

Wenn ja, kannst Du mir sagen, an welche GPIOS ich ran muss oder verhält sich das aquivalent zur MP3 Variante mit deinen Zeichnungen und Verbindungsübersichten?

Und ist es richtig, dass beim Display die 5V nicht angeschlossen werden ? (Siehe deiner Schematic)

Vielen Dank im Voraus,

Greg

Laggy

Hi Wolle,

hoffe du kannst noch mal helfen. Der Ton wird unterbrochen sobald ich eine Taste auf dem Touch drücke.

Das NT, was ich verwende gibt 1,7 A bei 5V aus. Das sollte passen. Der PSRam ist ja Standardmäßig aktiviert.
Kann es an der Kabellänge liegen? Die Kabel sind unter 10cm lang.

Hast du eine Idee woran es liegen könnte?

Vielen Dank im Voraus.

Mini Web-Radio mit esp32 und Ili 9341

Hallo und guten Abend, ich hatte mich letzte Woche schon mal gemeldet, ich würde gerne dein Projekt mini-web-radio nachbauen, bekomme aber die Software nicht kompiliert. Ich habe heute gesehen, das eine anderer "Nachbauer" die gleichen Probleme hat. Ich wollte ein Diplay 320x240 mit ili9341 chip und Touchscreen verwenden. Ich habe die neuste Version deiner Software von Gitthub hier geladen und bekomme beim kompilieren eine Menge Fehler, wenn ich das Display verwenden will.
hier malo die Fehlermeldungen aus dem Compiler (Arduino 1,85), die Librarys für den esp32 liegen richtig, ich habe schon einiges am laufen.
Vielleicht hast du einen Tipp für mich, das wäre sehr freundlich. du kannst mich auch direkt anschreiben unter dd7lp1 at gmail.com.
hier die Fehler zu deinem unverändertem Original-Listing
MiniWebRadio:166: error: no matching function for call to 'TFT::TFT(int)'

TFT tft(0); // parameter: (0)ILI9341, (1)HX8347D

      ^

In file included from C:\Users\dd7lp\Documents\Arduino\MiniWebRadio\MiniWebRadio.ino:74:0:

sketch\tft.h:88:9: note: candidate: TFT::TFT()

     TFT();

     ^

sketch\tft.h:88:9: note: candidate expects 0 arguments, 1 provided

sketch\tft.h:85:7: note: candidate: constexpr TFT::TFT(const TFT&)

class TFT : public Print {

   ^

sketch\tft.h:85:7: note: no known conversion for argument 1 from 'int' to 'const TFT&'

C:\Users\dd7lp\Documents\Arduino\MiniWebRadio\MiniWebRadio.ino: In function 'void showTitle(String)':

MiniWebRadio:391: error: 'Times_New_Roman43x35' was not declared in this scope

 tft.setFont(Times_New_Roman43x35);

             ^

MiniWebRadio:392: error: 'Times_New_Roman38x31' was not declared in this scope

 if(txtlen(str)> 30) tft.setFont(Times_New_Roman38x31);

                                 ^

MiniWebRadio:393: error: 'Times_New_Roman34x27' was not declared in this scope

 if(txtlen(str)> 45) tft.setFont(Times_New_Roman34x27);

                                 ^

MiniWebRadio:394: error: 'Times_New_Roman27x21' was not declared in this scope

 if(txtlen(str)> 65) tft.setFont(Times_New_Roman27x21);

                                 ^

MiniWebRadio:395: error: 'Times_New_Roman21x17' was not declared in this scope

 if(txtlen(str)>130) tft.setFont(Times_New_Roman21x17);

                         ******************************************************************

ein wenig Hife wäre toll,
Gruß Christian aus der Nähe von Husum

aktueller Code

Hallo Wolle,

der aktuelle Code MiniWebRadio.ino ist scheinbar nicht mehr enthalten. Kannst du das nochmal dazu legen?

Vielen Dank
Gruß Frank

Kein Touch

Hey muss nochmal stören,

meine ILI9341 Display mit Touch sind gekommen, aber der Touch zeigt keine Reaktion.
Muss ich da noch was beachten? Habe in der .ino Datei auf tft(0) gestellt.
Ist doch richtig das von dem Touch nur zwei Pin benötigt werde, oder?
Also nur TP_IRQ und TP_CS??

Alarm question?

Q: What does the number format look like when you store the alarm in pref for time and days of the week?

Self Answered: A uint32_t _alarmdays had to bruteforce this one as I have no touch screen which shows they are basically 7 bits (days). 127 == all 7 days turned on 01111111.

Second question why is this a uint32_t instead of uint8_t as it's only ever using 7 bits?

Problem with WIFI connectivity

Hello, I have all the parts like you and I do everything according to your guide and instructions, the program goes well, but I do not read the SD card and see only "I can not connect to Wi-Fi, check your credentials" on the display
what's going on, why?

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:956
load:0x40078000,len:0
load:0x40078000,len:13076
entry 0x40078a58
tft_info: TFT_CS:22 TFT_DC:21 TFT_BL:17 TFT_MOSI:23 TFT_MISO:19 TFT_SCK:18
tft_info: init HX8347D

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.