Seiten: 1 [2]
|
 |
|
|
Autor
|
Thema: ESP32 Simple Internet Radio mit OLED Display (Gelesen 7628 mal)
|
|
Dietrich
Full Member
  
Offline
Einträge: 174

Immer schön neugierig bleiben
|
 |
Re:ESP32 Simple Internet Radio mit OLED Display
« Antwort #15 am: 04. November 2020, 17:51:35 »
|
|
noch zwei Bilder dazu
|
|
|
|
Dietrich
Full Member
  
Offline
Einträge: 174

Immer schön neugierig bleiben
|
 |
Re:ESP32 Simple Internet Radio mit OLED Display
« Antwort #16 am: 04. November 2020, 17:54:46 »
|
|
noch zwei Bilder dazu
|
|
|
|
Andreas
Administrator
    
Offline
Einträge: 1471

Linux von Innen
|
 |
Re:ESP32 Simple Internet Radio mit OLED Display
« Antwort #17 am: 05. November 2020, 06:21:43 »
|
|
Klasse Dietrich. Zu Dir passt auch meine Antwort auf den Thread von Thomas mit "Quisk". Sein Grundverständnis über Zusammenhänge im Logiksektor (zu dem ja Computer zweifelsohne gehören) auszubauen ist ein sehr erfolgsversprechender und aufbauender Weg.
LG Andreas
|
|
Gespeichert
|
Wissen ist das einzige Gut, das mehr wird, wenn man es teilt - wenn es Menschen gibt, die es teilen, und es Menschen gibt, die bereit sind, dieses Geschenk auch mit eigenem Einsatz anzunehmen.
Freiheit zu erkämpfen reicht nicht. Man muss sie auch verteidigen.
Ohne IT-Kompetenz ist man heutzutage ein willkommenes Opfer und Spielball anderer, egal, welches System oder Gerät man nutzt. Nur Wissen schützt vor Schaden!
|
|
|
|
Dietrich
Full Member
  
Offline
Einträge: 174

Immer schön neugierig bleiben
|
 |
Re:ESP32 Simple Internet Radio mit OLED Display
« Antwort #19 am: 06. November 2020, 21:30:05 »
|
|
Um auch mp3 Stream mit 128 kbs (bis jetzt ging nur 64 kbs) hören zu können muß der Sketch erweitert werden. Damit lassen sich fast alle gängigen Radiostationen hören, ein *mp3-128 File gibt's fast immer. Mit 64 kbs Sendern habe ich meine 6 Senderplätze füllen können, mehr habe ich auch nicht gefunden.
Vor host/path ist am Anfang der Zeile const einzufügen
const char *host const char *path
Jetzt fängt die Suche nach einem Gehäuse an, das sollte aber jetzt das kleinste Hindernis sein
|
const_char.png « Letzte Änderung: 06. November 2020, 21:34:35 von Dietrich » |
Gespeichert
|
|
|
|
Dietrich
Full Member
  
Offline
Einträge: 174

Immer schön neugierig bleiben
|
 |
OLED, Schriftgrößen ?-ESP32 Simple Internet Radio mit OLED Dis
« Antwort #20 am: 21. November 2020, 09:47:49 »
|
|
Kleine Nachfrage zu meinem Projekt,
Ich möchte die Anzeige im OLED Diplay verändern....lesen im WEB hat mir nicht geholfen...
Ich möchte die erste Zeile der Anzeige verkleinern und die letzte mit der INFO zum gehörten Station vergrößern.
rb-edge-3079-dus-ts-dn.cast.addradio.de/rb/bremenzwei/live/mp3/128/stream.mp3 Bremen 2 aktiv http://stream.antenne1.de/stream2/livestream.mp3", Antenne 1 Bayern aktiv http://dradio-edge-3092-dus-ts-cdn.cast.addradio.de/dradio/kultur/live/mp3/64/stream.mp3 DLF-Kultur http://dradio-edge-3096-fra-ts-cdn.cast.addradio.de/dradio/dlf/live/mp3/64/stream.mp3 DL http://dradio-edge-3091-dus-ts-cdn.cast.addradio.de/dradio/nova/live/mp3/64/stream.mp3 https://wdr-edge-201f-fra-lg-cdn.cast.addradio.de/wdr/kiraka/live/mp3/128/stream.mp3 http://rb-edge-1079-dus-dtag-cdn.cast.addradio.de/rb/bremenvier/live/mp3/128/stream.mp3 Bremen 4 128 aktiv http://ndr-edge-203f-fra-lg-cdn.cast.addradio.de/ndr/ndrkultur/live/mp3/128/stream.mp3 NDR Kultur aktiv http://radio-player.bmr-radio.de/ballermann-radio.mp3 http://138.201.248.93:80/salsa http://138.201.248.93:80/partyhits gewöhnungsbedürftig ab 2 Promille Http://streams.rpr1.de/rpr-tanzbar-128-mp3 aktiv http://streams.rpr1.de/rpr-country-128-mp3 aktiv
VS1053 - connections detail XRST = EN (D3) MISO = D19 MOSI = D23 SCLK = D18 VCC = 5V / 3.3 V Gnd = Gnd */
// This ESP_VS1053_Library #include <VS1053.h>
#include <Preferences.h> //For reading and writing into the ROM memory Preferences preferences; unsigned int counter,old_counter,new_counter;
#include "helloMp3.h" #include <WiFi.h> #include <HTTPClient.h> #include <esp_wifi.h>
//OLED 64*32 display headers #include "SSD1306.h" SSD1306 display(0x3c, 21,22);
char ssid[] = "FRITZ!Box 7590 FV"; // your network SSID (name) char pass[] = "60993917188317084966"; // your network password
const char *host[7] = {"rb-edge-1079-dus-dtag-cdn.cast.addradio.de","rb-edge-3079-dus-ts-cdn.cast.addradio.de","stream.antenne1.de","ndr-edge-203f-fra-lg-cdn.cast.addradio.de","rb-edge-307b-dus-ts-cdn.cast.addradio.de","streams.rpr1.de","streams.rpr1.de"}; const char *path[7] = {"/rb/bremenvier/live/mp3/128/stream.mp3","/rb/bremenzwei/live/mp3/128/stream.mp3","/stream2/livestream.mp3","/ndr/ndrkultur/live/mp3/128/stream.mp3","/rb/bremeneins/live/mp3/128/stream.mp3","/rpr-tanzbar-128-mp3","/rpr-country-128-mp3"}; //const char *path = "/doomed-128-mp3", int port[7] = {80,80,80,80,80,80,80};
char *sname[7] = {"Radio Bremen 4","Bremen 2","Antenne 1","NDR-Kultur","Bremen 1","Tanzbar","Country"};
int change=13; bool x=true; int status = WL_IDLE_STATUS; WiFiClient client; uint8_t mp3buff[32]; // vs1053 likes 32 bytes at a time
// Wiring of VS1053 board (SPI connected in a standard way) #define VS1053_CS 32 //32 #define VS1053_DCS 33 //33 #define VS1053_DREQ 35 //15 #define VOLUME 85 // volume level 0-100 VS1053 player (VS1053_CS, VS1053_DCS, VS1053_DREQ);
void setup () { //Begin display display.init(); display.invertDisplay(); display.setFont(ArialMT_Plain_16); display.normalDisplay(); display.setColor(WHITE); display.drawString(0,0," ESP32 Radio"); display.setFont(ArialMT_Plain_10); pinMode(change,INPUT_PULLUP); // initialize SPI Serial.begin(115200); delay(500); // initialize SPI bus; SPI.begin();
// initialize VS1053 player player.begin(); player.switchToMp3Mode(); // optional, some boards require this player.setVolume(VOLUME); WiFi.begin(ssid, pass); while (WiFi.status() != WL_CONNECTED) { // display.drawString(0,15," Connecting.."); delay(500); Serial.print("."); } Serial.println("WiFi connected"); Serial.print("IP address:"); Serial.println(WiFi.localIP()); display.setColor(WHITE); String x1="Connected to:"+String(ssid[0])+String(ssid[1])+String(ssid[2])+String(ssid[3]); display.drawString(0,15,x1); x1="IP:"+WiFi.localIP().toString(); display.drawString(0,27,x1); preferences.begin("my-app", false); counter = preferences.getUInt("counter", 0); old_counter=counter;
String x3="Stn:"+String(counter); String x4="Playing:"+String(sname[counter]); //+String(path[counter])":"+ String(port[counter]); //.toString(); display.drawString(80,27,x3); display.drawString(0,37,x4.substring(0,60)); display.display(); x4=""; Serial.printf("Current counter value: %u\n", counter); delay(100); //player.playChunk(hello2, sizeof(hello2)); //VS1053 is wake up & running station_connect(counter); }
void loop() { if (client.available() > 0) { uint8_t bytesread = client.read(mp3buff, 32); player.playChunk(mp3buff, bytesread); } if(digitalRead(change)==0 and x==true){ x=false; counter = counter+1; if(counter>6) counter=0; preferences.putUInt("counter",counter); new_counter=counter; Serial.printf("Set counter to new_value: %u\n", counter); delay(500);
if(old_counter != new_counter) { player.softReset(); x=true; station_connect(new_counter); player.switchToMp3Mode(); preferences.putUInt("counter",new_counter); //was missing:
old_counter = new_counter;
String x3="Stn:"+String(counter); String x4="Playing:"+String(sname[counter]); //+ String(path[counter])+":"+String(port[counter]); //.toString(); display.clear(); display.setFont(ArialMT_Plain_16); display.drawString(0,0," ESP32 Radio"); display.setFont(ArialMT_Plain_10); String x1="Connected to:"+String(ssid[0])+String(ssid[1])+String(ssid[2])+String(ssid[3]); display.drawString(0,15,x1); x1="IP:"+WiFi.localIP().toString(); display.drawString(0,27,x1); display.drawString(80,27,x3); display.drawString(0,37,x4.substring(0,60));
display.display(); } } }
void station_connect (int station_no ) { if (client.connect(host[station_no],port[station_no]) ) { Serial.println("Connected now"); } Serial.print(host[station_no]); Serial.println(path[station_no]); client.print(String("GET ") + path[station_no] + " HTTP/1.1\r\n" + "Host: " + host[station_no] + "\r\n" + "Connection: close\r\n\r\n"); } |
|
|
|
|
|
Andreas
Administrator
    
Offline
Einträge: 1471

Linux von Innen
|
 |
Re:ESP32 Simple Internet Radio mit OLED Display
« Antwort #21 am: 21. November 2020, 10:56:13 »
|
|
Es kann aber sein dass die drei Zeilen in größeren Buchstaben nicht mehr auf das Display passen.
Dann stellt sich die Frage ob man die Zeile mit dem ESP32Dario überhaupt braucht und nicht einfach komplett weglässt 
LG Andreas
|
Wissen ist das einzige Gut, das mehr wird, wenn man es teilt - wenn es Menschen gibt, die es teilen, und es Menschen gibt, die bereit sind, dieses Geschenk auch mit eigenem Einsatz anzunehmen.
Freiheit zu erkämpfen reicht nicht. Man muss sie auch verteidigen.
Ohne IT-Kompetenz ist man heutzutage ein willkommenes Opfer und Spielball anderer, egal, welches System oder Gerät man nutzt. Nur Wissen schützt vor Schaden!
|
|
|
Dietrich
Full Member
  
Offline
Einträge: 174

Immer schön neugierig bleiben
|
 |
Re:ESP32 Simple Internet Radio mit OLED Display
« Antwort #22 am: 21. November 2020, 15:41:24 »
|
|
Hallo Andreas, danke für den Denkanstoß....hat mir weitergeholfen.
Meine Änderungen habe ich aber an anderer Stelle vorgenommen, mit dem Ergebnis
start = alter Bildschirm mit allem Infos zur Verbindung
nach dem ersten Senderwechsel wird die Anzeige veränder und reduziert auf den Speicherplatz und Sendername (beides groß)
|
|
|
|
Dietrich
Full Member
  
Offline
Einträge: 174

Immer schön neugierig bleiben
|
 |
Re:ESP32 Simple Internet Radio mit OLED Display
« Antwort #23 am: 21. November 2020, 16:15:08 »
|
|
Und hier das Ergebnis
|
|
|
|
Dietrich
Full Member
  
Offline
Einträge: 174

Immer schön neugierig bleiben
|
 |
beendet_Re:ESP32 Simple Internet Radio mit OLED Display
« Antwort #24 am: 21. November 2020, 16:16:54 »
|
|
Somit betrachte ich diese Aktion als beendet und bedanke mich bei Andreas und Thomas für die Unterstützung
|
|
|
|
Andreas
Administrator
    
Offline
Einträge: 1471

Linux von Innen
|
 |
Re:ESP32 Simple Internet Radio mit OLED Display
« Antwort #25 am: 21. November 2020, 17:45:35 »
|
|
Schön dass Dich mein Ansatz weitergebracht hat. Der richtige Ansatz ist in 90% der Fälle das Tor, um die "richtigen Stellen" dann identifizieren zu können. Und auf die Weise erlernt man "ganz nebenbei" auch neue Programmiersprachen - wenn man dann will...
LG Andreas
|
|
Gespeichert
|
Wissen ist das einzige Gut, das mehr wird, wenn man es teilt - wenn es Menschen gibt, die es teilen, und es Menschen gibt, die bereit sind, dieses Geschenk auch mit eigenem Einsatz anzunehmen.
Freiheit zu erkämpfen reicht nicht. Man muss sie auch verteidigen.
Ohne IT-Kompetenz ist man heutzutage ein willkommenes Opfer und Spielball anderer, egal, welches System oder Gerät man nutzt. Nur Wissen schützt vor Schaden!
|
|
|
Seiten: 1 [2]
|
|
|
|
|
|
|