See http://www.instructables.com/id/Wifi-Webradio-With-ESP8266-and-VS1053 for the description of the minimal prototype.
See the lcd +IR software's on Github AddOn
See some realizations of users at KaraDio
For more informations or questions, you can enter to the Karadio facebook group
Built on 2017/08/07
- Deeply tuned and optimized
- Added: a button erase on the station edit
- Little change of the menu labels.
- If the same meta is repeated in the stream, it is filtered
- telnet server now accepts the negociation.
- Only one task for all servers: websocket, web interface and telnet.
- Optimized threshold to start playing.It depends now of the size of the reception buffer.
- New web command: version, infos and list. See the interface.txt file on setting menu.
Bugs resolved: (Thanks Kim)
- autoplay was broken
- monitor doesn't always start well.
- A bug in meta for low stream stations removed.
- A telnet server multi clients on port 23. It is the same interface as the uart one. So the low level management can be done via the network and it offers a complete interface for remote addons.
- A deep modification of the memory management. More free room.
- new commands: help and sys.adc.
- The web volume command is now on a POST if the websocket is not ready.
- New command: sys.version : Display the current Release and Revision.
- As always, more free ram memories. The websocket and telnet tasks are now one task for both.
- The web interface loading speed is improved.
- Blink task replaced with an os timer. More memories.
- Edit station now in modal window
- Added a mouse event on full url
- New control buttons on the web interface
- A potential huge bug removed
- A problem when a control panel and an addon are present is removed
- A problem with the AP2 password not working is removed (regression).
- Volume correction for the control panel.
- The volume is now saved every second if needed (less stress for the flash).
- ---------- more ----------
New No needs to parse the url of stations on the web interface. Now it can be done automatically.
- New uart command: cli.info Display nameSet, all icy and volume. Used to synchronize the lcd extension.
- cli.list command modified.
- Now Both AP SSID and AP Password are encoded to permit special characters like & : etc
- "Restore stations" corrected for some heavy lists
- Station information now give the number of the current station
- retry client connection modified to avoid blocking situation.
- Modification of the list of uart command. See uart and html interfaces
- New sys.patch command. Inhibit or permit (default) the load of a vs1053 patch for AAC stations.
- New sys.led command. Default is blinking mode, or Play mode: the led is on when a station is playing.
- Modification of the wifi.con command. Now the AP can be set in the AP
mode (192.168.4.1) without the need of the web interface.
- New print button on the Stations panel: Print the list of stations, number and name.
- New logo ;-)
- Many bugs removed thanks to users feedback's.
- Modification of the list of uart command. See uart and html interfaces
- New IR and LCD software
- Autoplay corrected
- Now 2 AP's can be set. The second one will be tested if the first is not detected.
- The Mac address of the radio is displayed
- An offset volume can be set for each station in Station editor.
- Added: a reset button for the equalizer
- Pb on Autostart not correctly checked: corrected
- New html command: instant="http://your url"
- The path of a station can now include some & parameters.
-- Uart command list now can take a parameter: the number of the station to display.
.If no parameter, the complete list is sent.
- New wake and sleep features. Two modes: Time mode: "hh:mm" to wake or sleep at a given hour, or the delay mode "mm".
- Many minors html adjustments.
- The user agent for http request can be set for some special streams.Example: http://pcradio.ru/player/listradio/pcradio_ru.xml
which need a user agent= pcradio.
This pcradio user agent is already implemented automatically in the code when a pcradio station is encountered.
- Drag an drop on the stations list: rearrange the list by dragging a line to another one. Save the change when asked.
- Themes toggle between light blue and dark marron theme with a click on the logo.
- Sleep mode to stop the play after a delay.
- Functions on the web page are optimized.
- Many minor improvements on the code and the web page.
- New uart interface command: cli.uart("x")
With x the uart baudrate at the next reset and permanently.
List of valid baudrate: 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 76880, 115200, 230400
The command will reply with
##CLI.UART= 115200# on the next reset.
- New Station selection with number
- Stations management in one page
- abort button on station edition.
- New html interface. Can receive basic commands (play, stop, volume from wget or browser)
- New I2S external DAC interface on the vs1053. The I2S is enabled by default to 48kHz. To change the speed permanently use the uart interface with the command :
cli.i2s("x") with x =0 for 48kHz, x=1 for 96kHz and x=2 for 192kHz
The i2s interface is available on the alientek vs1053 with i2s_sclk on SCLK (GPIO16), i2s_sdata on SDIN (GPIO07), i2s_mclk on MCLK (GPIO05), i2s_lrout on LRCK (GPIO04).
- New Autostart: If autoplay is checked on the web interface, the current station is started at power on even with no web browser.
- Optional external ram (23LCV1024) support (1:CS/=GPIO16 2:MISO=GPIO12 3:NC 4:GND 5:MOSI=GPIO13 6:SCK=GPIO14 7:GND 8:3.3v)
The optional led is now on GPIO2. The blue led on the ESP8266 is blinking at the same rate.
GPIO16 is now the Chip select for the external ram if any.
The external ram is detected at boot time if present.
To upgrade to this release, please flash user1.4096.new.4.bin at 0x1000 ,
user2.4096.new.4.bin at 0X81000 and blank.bin at 0x7e000 & 0x3fe000
After that, all next updates are done with the On The Air (OTA) feature.
New binaries are hosted at http://karadio.karawin.fr .
Loading the esp8266
- https://github.com/karawin/Ka-Radio/blob/master/ESP8266-Firmware/bin/boot_v1.5.bin at 0x0000
- https://github.com/karawin/Ka-Radio/blob/master/ESP8266-Firmware/bin/upgrade/user1.4096.new.6.bin at 0x1000
- If the access point of your router is not known, the webradio initializes itself as an AP. Connect your wifi to the ssid "WifiWebRadio",
- Browse to 220.127.116.11 to display the page, got to "setting" "Wifi" and configure your ssid ap, the password if any, the wanted IP or use dhcp if you know how to retrieve the dhcp given ip (terminal or scan of the network).
- In the gateway field, enter the ip address of your router.
- Validate. The equipment restart to the new configuration. Connect your wifi to your AP and browse to the ip given in configuration.
- Congratulation, you can edit your own station list. Don't forget to save your stations list in case of problem or for new equipments.
- if the AP is already know by the esp8266, the default ip at the first start is 192.168.1.254
- a sample of stations list is on https://github.com/karawin/Ka-Radio/blob/master/ESP8266-Firmware/WebStations.txt . Can be uploaded via the web page.
Please tell me if you succeeded or something more can be done, thanks.
The second step will add some hardware buttons (vol + -, station + -, play ...)
From ESP8266_ESP12( 3.3 v) or nodeMCU(5v) to VS1053 (5 v)
CH_PD to 3.3v
GPIO16 (a 1Hz output)
D5:GPIO14 to VS1053 SCK
D6:GPIO12 to VS1053 MISO
D7:GPIO13 to VS1053 MOSI
TXD to CH340G UART rx
RXD from CH340G UART tx
D1:GPIO05 to VS1053 XDCS
D2:GPIO04 to VS1053 DREQ
D3:GPIO00 to VS1053 XRST
D8:GPIO15 to VS1053 XCS