###WiFi shoutcast player based on ESP8266 and VS1053b chips
##Basic informations
####Version: 1.0.2
Added: "Now playing" informations are now given with the help of a websocket. The display is immediatly updated on the browser.
Reading 320Kb/s is improved
Stability tested during many days and nights....
Video on https://youtu.be/cT8cGp9pvcs
#####Version: 1.0.1
A static ip at the first start is a problem if you are not in 192.168.1.xxx network.
The first start will now be in dhcp mode. See the allocated ip in the uart traces or scan your network.
This can be done with fing for mobile for example:
IOS: https://itunes.apple.com/fr/app/fing-network-scanner/id430921107?mt=8
Android: https://play.google.com/store/apps/details?id=com.overlook.android.fing&hl=fr
#####Version: 1.0.0 (KaraWin)
Status: under design and development
First step, Final release done.
- Read up to 320 kB/s stream,
- New web page, Fit well on mobile or computer.
- Embedded wifi configuration via the web site (see below)
- Metadata displayed,
- all settings saved (sound setting, stations, wifi)
- server multi clients with automatic refresh for all,
- The stations can be dowloaded and uploaded within the web site,
- very quick responsive web by caching local information in the browser.
- additional hardware: a led indicates the state of the equipment (gpo16->resistor->led->3.3volt). Speed blink: init, 90%in 10%out: connexion in progress, 10% in 90%out: Equipment ready.
- ...
- https://github.com/karawin/ESP8266-WebRadio/blob/master/ESP8266-Firmware/bin/boot_v1.5.bin at 0x0000
- https://github.com/karawin/ESP8266-WebRadio/blob/master/ESP8266-Firmware/bin/upgrade/user1.4096.new.6.bin at 0x1000
- If the acces point of your router is not known, the webradio inits itself as an AP. Connect your wifi to the ssid "WifiWebRadio",
- Browse to 192.164.4.1 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. Dont 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 is given by dhcp.
- a sample of stations list is on https://github.com/karawin/ESP8266-WebRadio/blob/master/ESP8266-Firmware/WebStations.txt . Can be uploaded via the web page.
Please tell me if you succeded or something more can be done, thanks.
The second step will add some hardware buttons (vol + -, station + -, play ...)
- Based on https://github.com/PiotrSperka/ESP8266-WebRadio
- New development based on the new https://github.com/espressif/ESP8266_RTOS_SDK
- Compiled with esp-open-sdk
- software improved, new web control
- Compatible with mobile
- Stable
- tools to save and restore the stations database
- prototype made with:
-- http://fr.aliexpress.com/item/MB102-Breadboard-Power-Supply-Module-3-3V-5V-For-Solderless-Breadboard/2027279953.html (0.74 euros)
-- http://www.ebay.fr/itm/121775761053?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT (3,09 euros)
-- http://www.ebay.fr/itm/401046111343?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT (6 euros)
-- http://www.ebay.fr/itm/131683794035?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT (1.05 euros)
-- http://fr.aliexpress.com/item/USB-to-TTL-converter-UART-module-CH340G-CH340-3-3V-5V-switch/32392228218.html?detailNewVersion=2 (0.59 euro)
-- some wires ... - Wiring:
From ESP8266_ESP12( 3.3 v) to VS1053 (5 v)
REST
ADC
CH_PD to 3.3v
GPIO16 (a 1Hz output)
GPIO14 to VS1053 SCK
GPIO12 to VS1053 MISO
GPIO13 to VS1053 MOSI
TXD to CH340G UART rx
RXD from CH340G UART tx
GPIO05 to VS1053 XDCS
GPIO04 to VS1053 DREQ
GPIO00 to VS1053 XRST
GPIO02
GPIO15 to VS1053 XCS
##Used hardware WiFi and main MCU: ESP8266 (ESP-12 with 32Mbits flash)
Additional MCU (as a bridge UART<=>UI): AVR
Audio decoder: VS1053
##TODO list ###ESP8266 -**[NORMAL]**Metadata processing
-**[LOW]**External SRAM implementation
-**[LOW]**Code cleanup and optimization ###AVR -Hardware design
-Code ##Changelog ###v0.13 -**[ESP8266]**Some kind of beta version of web interface is ready.
-**[ESP8266]**Works saving and loading stations and settings to/from flash
-**[ESP8266]**Added "How to run" document ###v0.12 -**[ESP8266]**Development of functions for saving and reading settings from flash "eeprom"
-**[ESP8266]**Functions for driving GPIO16
-**[ESP8266]**Development of webinterface
-**[ESP8266]**Webclient is using socket ###v0.11 -**[Hardware]**Finished first revision of schematic (main board) and PCB
-**[Hardware]**Added GERBER files for main board (NOT TESTED YET)
-**[Hardware]**AVR is going to be only an interface between UART in ESP8266 and UI (which is LCD, encoder and buttons) ###v0.10 -**[ESP8266]**Support for user data (stations, config, etc.) storage in last 64kb of flash -**[Hardware]**Schematic of main board ###v0.9 -**[ESP8266]**Sound settings through web interface
-**[ESP8266]**Web interface improvements ###v0.8 -**[ESP8266]**Webserver uses sockets - improved stability
-**[ESP8266]**Improvments of webinterface (now supports Instant Play)
-**[ESP8266]**Improvments of webserver (simple POST parser)
-**[ESP8266]**DNS lookup ###v0.7 -**[ESP8266]**Simple and rough sketch of VS1053 driver (working)
-**[ESP8266]**Rough sketch of webclient is working
-I can say that alpha version of player works for now, because I can listen to some SHOUTcast streams. ###v0.6 -**[ESP8266]**Started making new firmware based on esp_iot_rtos_sdk with bare LwIP and freeRTOS
-**[Hardware]**New conception of hardware, where main MCU is ESP8266 and some small AVR is only to provide user interface (LCD, etc.) and configure ESP via UART
-First tests of new firmware are very promising, because HTTP server based on Netconn is very responsive (much better than previous version of firmware) ###v0.5 -**[ESP8266]**Improved: HTTP server configuration
-**[ESP8266]**Added: HTTP client UART output
-**[STM32]**Added: Unclean sketch of firmware for basic testing purposes ###v0.4 -**[ESP8266]**Added: Simple CGI parser
-**[ESP8266]**Added: ICY header parser ###v0.3 -**[ESP8266]**Added: Simple admin panel mockup
-**[ESP8266]**Added: Connecting to client ###v0.2 -**[ESP8266]**Added: Running simple http server on port 80
-**[ESP8266]**Added: Simple UART command parser for wifi configuration ###v0.1 -**[ESP8266]**Initial release - ESP8266 firmware based on cleaned nodemcu source (deleted lua, flash-fs, etc.)