Coder Social home page Coder Social logo

esp-radio's Introduction

Esp-radio

Internet radio based on Esp8266 and VS1053. Will compile in Arduino IDE. New version 24-may-2017.

NOTES:

  • If you are using V2.4.0 of the core library: set IwIP Variant to "V1.4 Prebuilt" in the Tools of the IDE.
  • The radio will NOT play AACP streams.

Features:

  • Can connect to thousands of Internet radio stations that broadcast MP3 or Ogg audio streams.
  • Can connect to a standalone mp3 file on a server.
  • Can connect to a local mp3 file on SPIFFS.
  • Support for .m3u playlists.
  • Uses a minimal number of components; no Arduino required.
  • Handles bitrates up to 320 kbps.
  • Has a preset list of maximal 100 favorite radio stations in configuration file.
  • Configuration file can be edited through web interface.
  • Can be controlled by a tablet or other device through a build-in webserver.
  • Can be controlled over MQTT.
  • Can be controlled over Serial Input.
  • Optional one or three button control to skip to the next preset station.
  • The strongest available WiFi network is automatically selected.
  • Heavily commented source code, easy to add extra functionality.
  • Debug information through serial output.
  • 20 kB ring buffer to provide smooth playback.
  • SPIFFS filesystem used for configuration of WiFi SSIDs, passwords and small MP3-files.
  • Software update over WiFi possible (OTA).
  • Saves volume and preset station over restart.
  • Bass and treble control.
  • Configuration also possible if no WiFi connection can be established.
  • Can play iHeartRadio stations.

See documentation in pdf-file.

Last changes:

  • 10-feb-2022: Add redirection.
  • 05-apr-2018: Fixed crash when no known WiFi network was found.
  • 18-apr-2018: Work-around for wifi.connected() bug.
  • 31-may-2017: Volume indicator on display.
  • 26-may-2017: Correction playing .m3u playlists.
  • 24-may-2017: Correction. Do not skip first part of .mp3 file.
  • 11-may-2017: Convert UTF8 characters before display, thanks to everyb313.
  • 09-may-2017: Fixed issue on analog input.
  • 04-may-2017: Integrate iHeartRadio, thanks to NonaSuomy
  • 03-may-2017: Prevent to start inputstream if no network.
  • 26-feb-2017: Better output webinterface on preset change.
  • 01-feb-2017: Bugfix uploading files.
  • 30-jan-2017: Allow chunked transfer encoding of streams.
  • 23-jan-2017: Correction playlists.
  • 16-jan-2017: Correction playlists.
  • 02-jan-2017: Webinterface in PROGMEM.
  • 28-dec-2016: Add support for resume after stop.
  • 23-dec-2016: Add support for mp3 files on SPIFFS.
  • 15-nov-2016: Support for .m3u files.
  • 22-oct-2016: Correction mute/unmute.
  • 14-oct-2016: Update for AsyncMqttClient version 0.5.0. Added extra documentation for MQTT.
  • 11-oct-2016: Allow stations that do not specify bitrate. Allow standalone MP3s.
  • 04-oct-2016: Version with MQTT and configuration in radio.ini file.
  • 04-jul-2016: WiFi.disconnect clears old connection now (thanks to Juppit)
  • 27-may-2016: Fixed restore station at restart.
  • 26-may-2016: Bugfix BUTTON3 handling (if no TFT). Update pdf-document.
  • 23-may-2016: Bugfix EEPROM handling.
  • 17-may-2016: 3 button control over analog or digital input.
  • 13-may-2016: Better detection of Ogg streams.
  • 07-may-2016: Added selection of preset stations to sketch and web page.
  • 06-may-2016: Added hidden SSID, added feature to web page.
  • 04-may-2016, Allow stations like "skonto.ls.lv:8002/mp3".
  • 03-may-2016, Add bass/treble settings (see also new index.html).

esp-radio's People

Contributors

edzelf 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  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

esp-radio's Issues

Way to gain extra pins

Has any one consider introducing a PCF8574 chip to handle all the control lines? The chip even has an interrupt pin so the handling of DREQ on the vs1053 would be fairly générique. I might give it a look this weekend, cause you seam to use 5 pins +2 for reset where you only need 3

Have a good one you all :D

Whole house audio sync?

Hello could you make all the esp8266 radios play the same songs at the same time :) around the whole house? (synced audio) That would make this project even better :).

url with /xxxx

Can you include support for url's like http://skonto.ls.lv:8002/mp3 ??
I can listen radio by adding "skonto.ls.lv:8002" to favourites and "/mp3" part in code: mp3client.print ( String ( "GET /mp3 HTTP/1.1\r\n" ) but this will breaks functionality for other radio streams.
Sooory, bad english

power supply

Hi Ed, thanks again for this wonderful project, working well now.
Some notes that might be of interest; when i tried to power both ESP and amp (small 5V stereo class D amp) from the same 5V, i found out that the VS1053 audio output is DC biased to 1.25V, which seems to be the case on most boards. There's an application note explaining how to get rid of the bias (blocking caps etc), but that still had a lot of noise probably due to the shared power supply (or the breadboard setup). So i also opted for 2 separate power supplies, and the sound is very clean.
I like the switch circuit in your PDF but i was wondering if this is not a little dangerous, to charge 2 lithium cells at the same time, with 1 charger which cannot know the state of both cells. Additionally, when you switch your radio off, the (presumably) fully charged batt1 is directly connected to the less than fully charged batt2, which i think can lead to high currents, potentially dangerous if your lithium cells do not each have protection circuits.
The ESP seems to need more than 100mA constantly, just out of interest, how many hours do you get out of your battery approximately?
As above is not really an issue, feel free to close it.

This is an updated Version with additional features

Esp_radio.txt

This is an updated version. I didn't manage to fork from the source, so I just renamed and uploaded the new file. Please check and feel free to integrate the code into your codebase.

New Features for TFT-Version with one button are:

  • Long button press (between 300 ms and 2 secs) go back one channel
  • Wrap channel up and down (so back form preset zero goes to last preset)
  • Long press (>2 secs) mutes, every press afterwards unmutes the sound.

Problem with library AsyncMqttClient

Thank you for super project.
New version i can not compile.
I have error in line 1566 mqttclient.onConnect ( onMqttConnect ) ;
Please advice and help
Lubosno from Czech rep.

This is my error report:

Arduino: 1.6.8 (Windows XP), Vývojová deska: "Generic ESP8266 Module, 160 MHz, 80MHz, DIO, >115200, 4M (1M SPIFFS), ck, Disabled, None"

C:\Documents and Settings\sklad\Dokumenty\Arduino\Esp-radio-master (1)\Esp-radio-master\Esp->radio-master.ino: In function 'void setup()':

Esp-radio-master:1566: error: no matching function for call to 'AsyncMqttClient::onConnect(void (&)())'
mqttclient.onConnect ( onMqttConnect ) ;

C:\Documents and Settings\sklad\Dokumenty\Arduino\Esp-radio-master (1)\Esp-radio-master\Esp->radio-master.ino:1566:44: note: candidate is:

In file included from C:\Documents and Settings\sklad\Dokumenty\Arduino\libraries\async-mqtt-client->master\src/AsyncMqttClient.h:4:0,

from C:\Documents and Settings\sklad\Dokumenty\Arduino\Esp-radio-master (1)\Esp-radio->master\Esp-radio-master.ino:116:

C:\Documents and Settings\sklad\Dokumenty\Arduino\libraries\async-mqtt-client->master\src/AsyncMqttClient.hpp:43:20: note: AsyncMqttClient& >AsyncMqttClient::onConnect(AsyncMqttClientInternals::OnConnectUserCallback)
AsyncMqttClient& onConnect(AsyncMqttClientInternals::OnConnectUserCallback callback);
C:\Documents and Settings\sklad\Dokumenty\Arduino\libraries\async-mqtt-client->master\src/AsyncMqttClient.hpp:43:20: note: no known conversion for argument 1 from 'void()' to >'AsyncMqttClientInternals::OnConnectUserCallback {aka std::function<void(bool)>}'
exit status 1
no matching function for call to 'AsyncMqttClient::onConnect(void (&)())'

Feature Request - Bootstrapping to Wifi

It would be really cool if you could make it so that one can connect to the ESP-radio via their phone using a browser (kind of like you do a wifi router upon initial config). From there, it would be nice if you could search for wifi spots available, select one, and provide credentials to connect to it.
I love the current setup but right now it requires one to have to know what wifi spots they might be connecting to and to preprogram them. It would be cool if one could press a button to put the device in learn mode so you can configure the wifi credentials on the fly.

webserver doesnt work correct

hi

thanks for this project, i use your software with a nodemcu clone from china and a vs1003 board.
streaming and audio works fine, but i am unable to use the webinterface. Some time the site loads nearly full, only the presets are missed , mostly i got a broken website which starts with "hr.open ( "GET", theUrl, false ........... and shows the html code instead the site.
And if the site is visible i am unable to use any of the buttons, because loading never ends.
i have reflashed the esp some times also with a blink sketch and different flash sizes. nothing changed.
if i stop the site loading and use only the functions like "/?uppreset=1" it changes the channel without a delay. the other functions are also working. hope you can help to find my problem with the website.
i used safari or firefox on osx, both the same

How to erase EEPROM Radio station

Dear Edzelf
Im trying to create new url radio station through sketch, but eeprom is already filled, how to erase the eeprom and begin to upload only 5-10 station that i need

Thank you in advance

ESP Record voice by vs1053

Hello,
According to your shematic, i have an wierd esp wroom and vs1053 mudule (geeethec) , then use your esp radio code (that is great and useful source code) , it works fine.
You wrote a comment on your code about start up modules in midi mode , i have to change PGIO DDR and ODATA for record voice?
I am trying to record voice but i have a problem . Dreq pin gone low when start to record.
At the first, in my code :
cs pin ==> HIGH
dcs pin==> HIGH
dreq pin define as an INPUT
SPISettings => 250000, MSBFIRST, SPI_MODE0
and then soft reset (SCI_MODE= SM_SDINEW | SM_RESET)
Now, SCI_STATUS register equals 72 (0010 1010). Sine Test is OK,
record initiation :
SCI_CLOCKF = 0xC000 // set max clock
wait for rising DREQ pin
SCI_BASS = 0 // clear Bass
SCI_MODE= SM_SDINEW | SM_RESET // soft reset
wait for rising DREQ pin
SCI_WRAMADDR =0xC01A
SCI_WRAM = 0x02
SCI_AICTRL0= 1024
SCI_AICTRL1= 1024
SCI_AICTRL2= 0
SCI_AICTRL3= 0;
loadPlugin...
Active
SCI_MODE = SM_ADPCM | SM_SDINEW
SCI_AIADDR = 0x34
wait for rising DREQ pin ==> INFINITY LOOP, because the DREQ pin stay down.

I can not find my mistake , If is possible guide me, Thanks

sound comes out in chunks

Hi, thanks a lot for this excellent project. I almost got it working and maybe you can help me to troubleshoot. I hear very short chunks of music from my VS1053. The webserver test says:
Free memory is 8992, ringbuf 0, stream 0 (is this normal?)
At startup, the Serial monitor reports that the VS1053 is not properly installed, as below.
There seems to be a problem with the reset of the VS1053, if i connect the pull-down resistor to the diodes' output, it stays LOW in permanent reset and i don't get any sound; if i disconnect the pull-down, then i get those sound chunks.
Thanks fro any suggestions- Tom

D: Reset VS1053...
D: End reset VS1053...
D: VS1053 not properly installed!
D: Fast SPI, Testing VS1053 read/write registers again...
D: VS1053 error retry SB:0000 R1:FFFF R2:FFFF
D: VS1053 error retry SB:0003 R1:FFFF R2:FFFF
D: VS1053 error retry SB:0006 R1:FFFF R2:FFFF
D: VS1053 error retry SB:0009 R1:FFFF R2:FFFF
D: VS1053 error retry SB:000C R1:FFFF R2:FFFF
D: VS1053 error retry SB:000F R1:FFFF R2:FFFF
D: VS1053 error retry SB:0012 R1:FFFF R2:FFFF
D: VS1053 error retry SB:0015 R1:FFFF R2:FFFF
D: VS1053 error retry SB:0018 R1:FFFF R2:FFFF
D: VS1053 error retry SB:001B R1:FFFF R2:FFFF
D: VS1053 error retry SB:001E R1:FFFF R2:FFFF
D: VS1053 error retry SB:0021 R1:FFFF R2:FFFF
D: VS1053 error retry SB:0024 R1:FFFF R2:FFFF
D: VS1053 error retry SB:0027 R1:FFFF R2:FFFF
D: VS1053 error retry SB:002A R1:FFFF R2:FFFF
D: VS1053 error retry SB:002D R1:FFFF R2:FFFF
D: VS1053 error retry SB:0030 R1:FFFF R2:FFFF
D: VS1053 error retry SB:0033 R1:FFFF R2:FFFF
D: VS1053 error retry SB:0036 R1:FFFF R2:FFFF
D: VS1053 error retry SB:0039 R1:FFFF R2:FFFF
D: endFillByte is FF
D: * Scan Networks *

TFT display not working

I use a 1.8 TFT, but it does not work. I used standalone. (Test code), works properly. please look picture this link http://www.mx7.com/view2/zrLdZLyC7TSCjbPc

standalone (test code)

include <Adafruit_GFX.h> //Adafruit_GFX.h

include <TFT_ILI9163C.h> //TFT_ILI9163C.h

include <SPI.h> //SPI.h

// Color definitions for the TFT screen (if used)

define BLACK 0x0000

define BLUE 0xF800

define RED 0x001F

define GREEN 0x07E0

define CYAN GREEN | BLUE

define MAGENTA RED | BLUE

define YELLOW RED | GREEN

define WHITE 0xFFFF

define TFT_CS 15

define TFT_DC 2

TFT_ILI9163C tft = TFT_ILI9163C ( TFT_CS, TFT_DC ) ;

void setup() {
SPI.begin() ;
tft.begin() ; // Init TFT interface
tft.fillRect ( 0, 0, 160, 128, BLACK ) ; // Clear screen does not work when rotated
tft.setRotation ( 3 ) ; // Use landscape format
tft.clearScreen() ; // Clear screen
tft.setTextSize ( 1 ) ; // Small character font
tft.setTextColor ( WHITE ) ;
tft.println ( "Starting" ) ;

}

void loop(){
//
}

VS1063 - mistyped?

I was reading through the PDF and it mentions using a "VS1063 module". Was that supposed to be VS1053 module?

Web page not loading completely

Hi,
First of all, i would like to thank you for all what you have done, great work!
But I have one issue:
When opening web page of the esp, page is not loaded completely (see attach).
Everything else works, I can listen to music, issue additional commands thru web and so on...
Can you, please help?

Thank you

esp

Wow! Great work

The fact is that I have a Vs1003, so now you can say it also work with this serie. So far, to day, I only done the plain no tft montage. works to the perfection, not considering a rare and few skips here and there that I was expecting any way,.

Now this is the first time that this damn module work correctly, the "Hello" example sucked, and the library that attempt to cover the subject, well they lack of every thing, and did not work very well on esp8266. But you, you made it happen.

Ok, now that I know it work, I going to make the modifications, tomorrow, to introduce the PCF8575 to free up some pins, I would like to trow the gestion of All the control pins over I2C, so this way, it might be possible to add few button, and an SDCard to the beast.

Give you news about it, I should have lot of time within the next few week, since it's winter vacation now.

Take good care of you self Ed, and thank you some much, I really appreciate you job

Connect To Website

Hello,

Ed, I have a question, I'm trying to make a ESP8266 with a Temprature Sensor (DS18B20), How can I send data to a url with parameter like this: example.com/add.php?room=livingroom&temp=20.5
Could you please help me?

Regards,
Sander Jochems

Slightly changed config.html

I added a "back" button to the config.html which now leads back to the index.html. See attached file (rename to "config.html")
config.txt
and use this if you like.

esp board, do not connect to internet..what I doing wrong?

Hi Ed,

first, thank you for your work, I really need something like this !
I have two modules, one esp8266 like ESP-12F :

http://g02.a.alicdn.com/kf/HTB1gXfyLVXXXXafXFXXq6xXFXXXk/221078962/HTB1gXfyLVXXXXafXFXXq6xXFXXXk.jpg

and other like ESP-12E I think:

http://g01.a.alicdn.com/kf/HTB18APYLVXXXXaOaXXXq6xXFXXXb/221815479/HTB18APYLVXXXXaOaXXXq6xXFXXXb.jpg

Now, i change the file name ssid.pw, to my ssid network, and text inside with my password. then I copy into folder Data, where the schetch it is, also folder ESP8266FS with jar file in it.
When I upload file, I selected NodeMCU 0.9 board, then NodeMCU 1.0.
not work at all.. (firmware is uploaded ok)
I not see on router this connection, and LCD is blank.
please some advice I'm blocked :(

(or on my mail - yo2ldk a r r o u n d yahoo dot c o m )
thank you in advance

Where to hookup audio amplifier

Hi,
One thing I could not figure out from the circuit diagrams is how you are connecting the audio amplifier to the VS1053 board.
The VS1053 board has a 3.5mm output which can be connected to headphones.
What is a bit unclear to me is how you can connect the audio amp to the VS1053 board. Do you have a cable plugged into the 3.5 jack and are you tapping into the audio from the line level out or do you somehow connect the amplifier to the VS1053 board directly?

Also, can you please let us know an example of the type of amplifier you used in your circuit?

Connect to the radio web server then esp reset (new version)

The new version is workin proberly, but if connect to radio webserver then esp8266 is be restart.
Serial Monitor show below

Exception (28):
epc1=0x4000bf70 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

ctx: sys
sp: 3ffff8f0 end: 3fffffb0 offset: 01a0

stack>>>
3ffffa90: 00000002 00000001 3ffffaf0 40214dee
3ffffaa0: 00000002 00000000 3fff8f0c 0000473d
3ffffab0: 00000002 00000001 3fff8f0c 4020950c
3ffffac0: 00000000 00000000 00000000 3fff0aa0
3ffffad0: 00000010 3ffffb60 3ffea0a0 00000000
3ffffae0: 000003e8 3ffffb98 00000000 00000000
3ffffaf0: 3fff90dc 0000000f 0000000a 3fff9154
3ffffb00: 0000000f 00000001 3fff8d14 0000000f
3ffffb10: 00000004 00000003 3ffffb60 00000018
3ffffb20: 00000000 00000002 3ffffb80 40214d1c
3ffffb30: 3ffe8c14 00000000 3ffffb80 00000002
3ffffb40: 00000002 3fff8f0c 3fff8f0c 40216640
3ffffb50: 3fff8f20 3fff90f4 3ffffb80 4020e88d
3ffffb60: 3ffe8c14 3fff90f4 3fff8f20 40214cbc
3ffffb70: 3fff8f20 3fff8bb4 3fff8f20 40214f3d
3ffffb80: 00000000 3ffeb372 3fff8f0c 4020cd58
3ffffb90: 00000002 3ffeb372 3fff8f20 40214fa0
3ffffba0: 3ffeb372 00000000 00000000 00000002
3ffffbb0: 00000002 3ffeb372 3fff8f0c 4020d146
3ffffbc0: 3fff8f20 3fff8bb4 3fff8f20 00000018
3ffffbd0: 0000001a 3ffeb35a 3fff8f0c 4020cd8e
3ffffbe0: 3fff8f20 3ffeb35a 3fff8f20 40214fa0
3ffffbf0: 3ffeb35a 00000000 00000000 00000018
3ffffc00: 0000001a 3ffeb35a 3fff8f0c 4020cf7c
3ffffc10: 3fff8f20 3fff8bb4 3fff8f20 00000022
3ffffc20: 0000003c 3ffeb338 3fff8f0c 4020cd8e
3ffffc30: 3fff8f20 3ffeb338 3fff8f20 40214fa0
3ffffc40: 3ffeb338 00000000 00000000 00000022
3ffffc50: 0000003c 3ffeb338 3fff8f0c 4020cf7c
3ffffc60: 3fff8f20 3fff8bb4 3fff8f20 00000020
3ffffc70: 0000005c 3ffeb318 3fff8f0c 4020cd8e
3ffffc80: 3fff8f20 3ffeb318 3fff8f20 40214fa0
3ffffc90: 3ffeb318 00000000 00000000 00000020
3ffffca0: 0000005c 3ffeb318 3fff8f0c 4020cf7c
3ffffcb0: 3fff8f20 3fff8bb4 3fff8f20 00000042
3ffffcc0: 0000009e 3ffeb2d6 3fff8f0c 4020cd8e
3ffffcd0: 3fff8f20 3ffeb2d6 3fff8f20 40214fa0
3ffffce0: 3ffeb2d6 00000000 00000000 00000042
3ffffcf0: 0000009e 3ffeb2d6 3fff8f0c 4020cf7c
3ffffd00: 3fff8f20 3fff8bb4 3fff8f20 00000049
3ffffd10: 000000e7 3ffeb28d 3fff8f0c 4020cd8e
3ffffd20: 3fff8f20 3ffeb28d 3fff8f20 40214fa0
3ffffd30: 3ffeb28d 00000000 00000000 00000049
3ffffd40: 000000e7 3ffeb28d 3fff8f0c 4020cf7c
3ffffd50: 3fff8f20 00000001 3fff8f20 00000056
3ffffd60: 0000013d 3ffeb237 3fff8f0c 4020cd8e
3ffffd70: 3fff8f20 3ffeb237 3fff8f20 40214fa0
3ffffd80: 3ffeb237 00000000 00000000 00000056
3ffffd90: 0000013d 3ffeb237 3fff8f0c 4020cf7c
3ffffda0: 3ffe8c14 3fff8f20 3fff8f20 00000017
3ffffdb0: 00000154 3ffeb220 3fff8f0c 4020cd8e
3ffffdc0: 3fff8f20 3ffeb220 3fff8f20 40214fa0
3ffffdd0: 3ffeb220 00000000 00000000 00000017
3ffffde0: 00000154 3ffeb220 3fff8f0c 4020cf7c
3ffffdf0: 3ffe8c14 3fff8f0c 3fff8f20 00000032
3ffffe00: 00000186 3ffeb1ee 3fff8f0c 4020cd05
3ffffe10: 3fff8f20 3ffeb1ee 3fff8f20 40214fa0
3ffffe20: 3ffeb1ee 3ffee350 3fff8ec8 00000032
3ffffe30: 00000186 3ffeb1ee 3fff8f0c 4020cf7c
3ffffe40: 3ffeb140 00000000 00000000 4010068c
3ffffe50: 00000000 01164119 4010292a 00000100
3ffffe60: 3fff8f20 3ffeb140 3ffeb140 00000001
3ffffe70: 00000001 00007fff 000000f6 3fff8ea0
3ffffe80: 00000001 3fff2b7c 3fff8e4c 4020d171
3ffffe90: 3fffc278 401026c4 3fff8e4c 4020b31c
3ffffea0: 3fff8264 3fff07c4 3fff8264 40235679
3ffffeb0: 3fff23b4 3fff23c0 00000006 3fff21c8
3ffffec0: 3fff8264 3fff21d0 3fff21cc 4020b36f
3ffffed0: 3fff8264 3fff21d0 3fff21cc 4023adf4
3ffffee0: 00000186 ea01a8c0 00000018 00000186
3ffffef0: 00000018 00000000 3fff28e4 40106d84
3fffff00: 00000000 00000000 3ffebf07 3fff23b8
3fffff10: 3ffeb1c6 3fff23c0 3fff2b7c 402392ed
3fffff20: 3fff20f4 3fff2874 3fff2874 3ffef470
3fffff30: 00000000 3fff2b7c 0000001c 3fff2874
3fffff40: 3ffeb1b8 00000000 3fff2b7c 402386e9
3fffff50: 0901a8c0 000001e4 00000000 00000026
3fffff60: 00000002 0000001a 40219137 3ffee350
3fffff70: 3ffeb190 3fffdcc0 3ffea988 3ffea988
3fffff80: 402190aa 3ffee350 00000000 3fff28ec
3fffff90: 3fffdc80 00000000 3fff2b7c 4022d17b
3fffffa0: 40000f49 3fffdab0 3fffdab0 40000f49
<<<stack<<<

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v3de0c112
~ld

Why not move mp3client to AsyncTCP as well?

Since I see you already have the Async server up (yeah! :)), why not move the mp3 stream to async as well? You will not need to buffer the client and you can write to the VS1053 as data comes. Using that will also ACK the data only after you have it loaded to the VS, which will make networking a little more predictable :)
Let me know what you think, I can help if needed :)

Include default http port 80 if not set in URL (URL redirection HTTP 302)

Please add support for default http port if not set in URL (especially wit URL redirection HTTP 302) :

D: Preset 1 found in .ini file
D: Remember preset 1
D: Connect to new host kiraka.akacast.akamaistream.net:80/7/285/119443/v1/gnl.akacast.akamaistream.net
D: Stop client
D: Slash in station
D: Connect to preset 1, host kiraka.akacast.akamaistream.net on port 80, extension /7/285/119443/v1/gn
D: Connected to server
D: HTTP/1.0 302 Found
D: Location: http://195.27.154.151/7/285/119443/v1/gnl.akacast.akamaistream.net/kiraka?akacasthops=1
D:
D: No data input

Resume player after stop command

Tried to add a new command "resume". It should start to play music after it was stoped. For this command I do the next logic:

hostreq = true ;

But it looks like something else is missing.

Panic & reboot

It's unable to play or use the radio .... just reboot after reboot.

Here is the serial monitor ... ¿any idea?

`D: /config.html - 3817
D: /favicon.ico - 766
D: /index.html - 6769
D: /radio.ini - 538
D: Added SSID 00 = Wlan_99d5_2 to acceptable networks
D: * Scan Networks *
D: Number of available networks: 7
D: 1 - ONO_2016 Signal: -87 dBm Encryption Auto
D: 2 - _AUTO_ONOWiFi Signal: -86 dBm Encryption None
D: 3 - Orange-5F28 Signal: -89 dBm Encryption Auto
D: 4 - Ptv Maria Jose Signal: -91 dBm Encryption Auto
D: 5 - MOVISTAR_B888 Signal: -93 dBm Encryption WPA
D: 6 - Wlan_99d5_2 Signal: -82 dBm Encryption WPA2 Acceptable
D: 7 - Ptv_4729_2 Signal: -83 dBm Encryption WPA2
D: --------------------------------------
D: Command: mqttbroker with parameter broker.hivemq.com
D: Command: mqttport with parameter 1883
D: Command: mqttuser with parameter none
D: Command: mqttpasswd with parameter none
D: Command: mqtttopic with parameter espradio
D: Command: mqttpubtopic with parameter espradioIP
D: Command: wifi_00 with parameter Wlan_99d5_2/xxxxxxx
D: Starting ESP Version 22-oct-2016... Free memory 16880
D: Sketch size 321056, free size 724992
D: Reset VS1053...
D: End reset VS1053...
D: Slow SPI,Testing VS1053 read/write registers...
D: Fast SPI, Testing VS1053 read/write registers again...
D: endFillByte is 0
D: Selected network: Wlan_99d5_2
D: Try WiFi Wlan_99d5_2
D: IP = 10.0.0.70
D: Start server for commands
D: list request from browser

Panic C:\Users\Jose\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\core_esp8266_main.cpp:98 __yield

ctx: sys
sp: 3ffff840 end: 3fffffb0 offset: 01b0

stack>>>
3ffff9f0: 3fff7ac8 00000007 3ffffa40 40216b35
3ffffa00: 0000000a 3ffffa58 3ffffa40 402153a5
3ffffa10: 3ffe0070 0000021a 3ffffa58 4021434d
3ffffa20: 3ffe8be0 3fff865c 3ffffa40 402143db
3ffffa30: 00000000 3fff865c 3fff8bc4 4020858e
3ffffa40: 3fff8ac4 0000001f 0000001e 40214139
3ffffa50: 00000000 00000000 3ffea0d8 00000000
3ffffa60: 000003e8 00003b60 3fff921c 3fff8b94
3ffffa70: 3ffe90fc 3fff0ad4 3fff0298 3fff925c
3ffffa80: 0000005f 0000005a 3fff9314 0000005f
3ffffa90: 0000005a 3fff87ec 0000000f 0000000a
3ffffaa0: 3fff8ac0 3fff2bcc 3fff865c 00003b56
3ffffab0: 00000002 00000001 3fff865c 40209715
3ffffac0: 00000000 00000000 00000000 3fff0aac
3ffffad0: 00000010 3ffffb60 3ffea0d8 00000000
3ffffae0: 000003e8 3ffffb98 00000000 00000000
3ffffaf0: 00000010 3ffffb80 00000000 3fff2abc
3ffffb00: 0000000f 00000001 3fff2bcc 0000000f
3ffffb10: 00000004 00000003 3ffffb60 00000000
3ffffb20: 00000000 3ffffb80 3ffffb80 4021490c
3ffffb30: 3ffe8ca0 00000000 3ffffb80 00000002
3ffffb40: 00000002 3fff865c 3fff865c 40216288
3ffffb50: 3fff8670 3fff8804 3ffffb80 4020eb69
3ffffb60: 3ffe8ca0 3fff8804 3fff8670 402148ac
3ffffb70: 3fff8670 3fff292c 3fff8670 40214b2d
3ffffb80: 00000000 3ffeb9c0 3fff865c 4020d000
3ffffb90: 00000002 3ffeb9c0 3fff8670 40214b90
3ffffba0: 3ffeb9c0 00000000 00000000 00000002
3ffffbb0: 00000002 3ffeb9c0 3fff865c 4020d3f6
3ffffbc0: 3fff8670 3fff292c 3fff8670 00000018
3ffffbd0: 0000001a 3ffeb9a8 3fff865c 4020d036
3ffffbe0: 3fff8670 3ffeb9a8 3fff8670 40214b90
3ffffbf0: 3ffeb9a8 00000000 00000000 00000018
3ffffc00: 0000001a 3ffeb9a8 3fff865c 4020d228
3ffffc10: 3fff8670 3fff292c 3fff8670 0000001c
3ffffc20: 00000036 3ffeb98c 3fff865c 4020d036
3ffffc30: 3fff8670 3ffeb98c 3fff8670 40214b90
3ffffc40: 3ffeb98c 00000000 00000000 0000001c
3ffffc50: 00000036 3ffeb98c 3fff865c 4020d228
3ffffc60: 3fff8670 3fff292c 3fff8670 00000020
3ffffc70: 00000056 3ffeb96c 3fff865c 4020d036
3ffffc80: 3fff8670 3ffeb96c 3fff8670 40214b90
3ffffc90: 3ffeb96c 00000000 00000000 00000020
3ffffca0: 00000056 3ffeb96c 3fff865c 4020d228
3ffffcb0: 3fff8670 3fff292c 3fff8670 00000036
3ffffcc0: 0000008c 3ffeb936 3fff865c 4020d036
3ffffcd0: 3fff8670 3ffeb936 3fff8670 40214b90
3ffffce0: 3ffeb936 00000000 00000000 00000036
3ffffcf0: 0000008c 3ffeb936 3fff865c 4020d228
3ffffd00: 3fff8670 3fff292c 3fff8670 00000049
3ffffd10: 000000d5 3ffeb8ed 3fff865c 4020d036
3ffffd20: 3fff8670 3ffeb8ed 3fff8670 40214b90
3ffffd30: 3ffeb8ed 00000000 00000000 00000049
3ffffd40: 000000d5 3ffeb8ed 3fff865c 4020d228
3ffffd50: 3fff8670 00000001 3fff8670 00000057
3ffffd60: 0000012c 3ffeb896 3fff865c 4020d036
3ffffd70: 3fff8670 3ffeb896 3fff8670 40214b90
3ffffd80: 3ffeb896 00000000 00000000 00000057
3ffffd90: 0000012c 3ffeb896 3fff865c 4020d228
3ffffda0: 3ffe8ca0 3fff8670 3fff8670 00000011
3ffffdb0: 0000013d 3ffeb885 3fff865c 4020d036
3ffffdc0: 3fff8670 3ffeb885 3fff8670 40214b90
3ffffdd0: 3ffeb885 00000000 00000000 00000011
3ffffde0: 0000013d 3ffeb885 3fff865c 4020d228
3ffffdf0: 00000002 40100fab 3fff8670 00000033
3ffffe00: 00000170 3ffeb852 3fff865c 4020cfa9
3ffffe10: 3fff8670 3ffeb852 3fff8670 40214b90
3ffffe20: 3ffeb852 3ffee370 3ffffe70 00000033
3ffffe30: 00000170 3ffeb852 3fff865c 4020d228
3ffffe40: 3ffeb16c 00000000 00000000 4010068c
3ffffe50: 00000000 00e7c449 4010292a 00000100
3ffffe60: 3fff8670 3ffeb16c 3ffeb16c 00000001
3ffffe70: 00000001 00007fff 000000d6 3fff2b60
3ffffe80: 00000001 3fff2a8c 3fff2b0c 4020d421
3ffffe90: 3fffc278 401026c4 3fff2b0c 4020b50c
3ffffea0: 3fff85a4 3fff07d8 3fff85a4 402350d1
3ffffeb0: 3fff23c4 3fff23d0 00000006 3fff21d8
3ffffec0: 3fff85a4 3fff21e0 3fff21dc 4020b55f
3ffffed0: 3fff85a4 3fff21e0 3fff21dc 4023a84c
3ffffee0: 00000170 4600000a 00000018 00000170
3ffffef0: 00000018 00000000 3fff2c8c 40106d84
3fffff00: 00000000 00000000 3ffeb84a 3fff23c8
3fffff10: 3ffeb82a 3fff23d0 3fff2a8c 40238d45
3fffff20: 3fff2104 3fff2c44 3fff2c44 3ffef490
3fffff30: 00000000 3fff2a8c 0000001c 3fff2c44
3fffff40: 3ffeb81c 00000000 3fff2a8c 40238141
3fffff50: 0700000a 000001ce 00000000 00000014
3fffff60: 00000002 0000001a 40218b8b 3ffee370
3fffff70: 3ffeb7f4 3fffdcc0 3ffea9c0 3ffea9c0
3fffff80: 40218afe 3ffee370 00000000 3fff2c94
3fffff90: 3fffdc80 00000000 3fff2a8c 4022cbcf
3fffffa0: 40000f49 3fffdab0 3fffdab0 40000f49
<<<stack<<<

ets Jan 8 2013,rst cause:2, boot mode:(3,7)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v3de0c112
~ld
…CáD: FS Total 2949250, used 14056
`

SPIFFS destroyed after OTA

OTA uses esp's upper flash for buffering, how to avoid SPIFFS from destroy?
is it possible to update sketch data wirelessly?

ESP-01

Dear Edzelf
Im newbie for esp8266, but interested with your project, i try following your pdf guide from preparing Arduino IDE to Install Library. i dont understand how to upload the sketch what is the different update through Tools/ESP8266Sketch Data Upload with Upload like usual arrow in the main panel of Arduino IDE.
So far is unsuccesfull when i try with ESP-01 and use arduino uno as ISP, is it possible to upload and test with this board ? what should i do to get esp-01 can receive upload sketch
Thank you in advance

Which type of diodes

Hi,
I saw in the circuit diagram in the PDF that you use 2 diodes.
Can you please specify which types of diodes you suggest using?

Website

Hello,

I have created an website interface that looks better, I'll include a download once I'm done with testing.

Regards,
Sander Jochems

App

Hello,

This is not an issue, but i'am making an app and I was wondering if I have to use the buttons or can use some urls like ip/index.html?paramete=value
Is this possible, because I dont have the radio right now.

Regards,
Sander Jochems

How to Support rtmp

Hi
I found this link. How to use.
rtmp://203.145.115.34/Eazy/Eazy-Listen-High

file=efm.sdp&volume=100&streamer=rtmp://real3.atimemedia.com/live&autostart=true&repeat=always&stretching=exactfit

thank you.

local mp3 file

Is it possible to play local mp3 file that is located in spiffs?

MQTT client

All was good when I when to bed, last night, and this morning, BANG! it's dead, I've comment from line 1598 to 1611, and all is back on line, without the MQTT part.

What is MQTT, any way?

Some error message

I finally got to the point where it was your project turn to try. But I got these error message, myust be nothing but...

Arduino: 1.6.5 (Windows XP), Board: "Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 921600, 4M (3M SPIFFS), ck, Disabled, None"

In file included from C:\Documents and Settings\So sory\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h:25:0,
from C:\Documents and Settings\So sory\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFi.h:39,
from Esp_radio.ino:115:
c:\documents and settings\so sory\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_vector.h: In member function 'std::vector<_Tp, _Alloc>::size_type std::vector<_Tp, _Alloc>::_M_check_len(std::vector<_Tp, _Alloc>::size_type, const char*) const':
C:\Documents and Settings\So sory\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:253:18: error: expected unqualified-id before '(' token
#define max(a,b) ((a)>(b)?(a):(b))
^
c:\documents and settings\so sory\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_bvector.h: In member function 'std::vector<bool, _Alloc>::size_type std::vector<bool, _Alloc>::_M_check_len(std::vector<bool, _Alloc>::size_type, const char*) const':
C:\Documents and Settings\So sory\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:253:18: error: expected unqualified-id before '(' token
#define max(a,b) ((a)>(b)?(a):(b))
^
Error compiling.

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.

Version without VS1053

Is is also possible to run this without the VS1053 as described here? This would shorten the long waiting time for the China module to arrive...

MetaName

Hello,

Is there a way to get the song title in the website?

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.