dasdgw / yoradio

Web-radio based on ESP32-audioI2S library
GNU General Public License v3.0
1 stars 1 forks source link

ёRadio

Web-radio based on ESP32-audioI2S or/and ESP32-vs1053_ext library

https://github.com/e2002/yopcb


More images in Images.md

Hardware

Required:

ESP32 board: https://aliexpress.com/item/32847027609.html \ I2S DAC, roughly like this one: https://aliexpress.com/item/1005001993192815.html \ https://aliexpress.com/item/1005002011542576.html \ or VS1053b module : https://aliexpress.com/item/32893187079.html \ https://aliexpress.com/item/32838958284.html \ https://aliexpress.com/item/32965676064.html

Optional:

Displays

(see Wiki for more details)

Controls
RTC

Connection tables

Use this tool to build your own connection table and myoptions.h file.


https://e2002.github.io/docs/myoptions-generator.html


Dependencies

Libraries:

Library Manager: Adafruit_GFX, Adafruit_ST7735*, Adafruit_SSD1306*, Adafruit_PCD8544*, Adafruit_SH110X*, Adafruit_SSD1327*, Adafruit_ILI9341*, Adafruit_SSD1305*, TFT_22_ILI9225* (* depending on display model), OneButton, IRremoteESP8266, XPT2046_Touchscreen, RTCLib \ Github: ESPAsyncWebServer, AsyncTCP, async-mqtt-client (if you need MQTT support) <<< starting with version 0.8.920, these libraries have been moved into the project, and there is no need to install them additionally.

Tool:

ESP32 Filesystem Uploader

See wiki for details


Hardware setup

Don't edit the options.h! \ Hardware is adjustment in the myoptions.h file.

Important! You must choose between I2S DAC and VS1053 by disabling the second module in the settings:

// If I2S DAC used:
#define I2S_DOUT      27
#define VS1053_CS     255
// If VS1053 used:
#define I2S_DOUT      255
#define VS1053_CS     27

Define display model:

#define DSP_MODEL  DSP_ST7735 /*  default - DSP_DUMMY  */

The ST7735 display submodel:

#define DTYPE INITR_BLACKTAB // 1.8' https://aliexpress.ru/item/1005002822797745.html
//#define DTYPE INITR_144GREENTAB // 1.44' https://aliexpress.ru/item/1005002822797745.html

Rotation of the display:

#define TFT_ROTATE 3 // 270 degrees
Note: If INITR_BLACKTAB dsp have a noisy line on one side of the screen, then in Adafruit_ST7735.cpp:
  // Black tab, change MADCTL color filter
  if ((options == INITR_BLACKTAB) || (options == INITR_MINI160x80)) {
    uint8_t data = 0xC0;
    sendCommand(ST77XX_MADCTL, &data, 1);
    _colstart = 2; // ← add this line
    _rowstart = 1; // ← add this line
  }

Quick start


See wiki for details


Update

  1. Backup your settings: \ download http://\<yoradioip>/data/playlist.csv and http://\<yoradioip>/data/wifi.csv and place them in the yoRadio/data/data/ folder
  2. In ArduinoIDE - upload sketch data via Tools→ESP32 Sketch Data Upload
  3. Upload the sketch to the board
  4. Go to page http://\<yoradioip>/ in the browser and press Ctrl+F5 to update the scripts.
  5. Well done!

Update over web-interface

  1. Backup your settings: \ download http://\<yoradioip>/data/playlist.csv and http://\<yoradioip>/data/wifi.csv and place them in the yoRadio/data/data/ folder

  2. Get firmware binary: Sketch → Export compiled binary

  3. Get SPIFFS binary: disconnect ESP32 from your computer, click on ESP32 Data Sketch Upload. \ You will get an error and file path

  4. Go to page http://\<yoradioip>/update and upload yoRadio.ino.esp32.bin and yoRadio.spiffs.bin in turn, checking the appropriate upload options.

  5. Well done!


MQTT

  1. Copy file examples/mqttoptions.h to yoRadio/ directory
  2. In the mqttoptions.h file, change the options to the ones you need
  3. Well done!

Home Assistant


  1. Requires MQTT integration
  2. Copy directory HA/custom_components/yoradio to .homeassistant/custom_components/
  3. Add yoRadio entity into .homeassistant/configuration.yaml (see example)
  4. Restart Home Assistant
  5. Add Lovelace Media Player card to UI (or mini-media-player card)
  6. Well done!

More features


Plugins

There is no documentation yet, you will have to deal with the examples, which is in directory examples/plugins/.\ Work is in progress...


Version history

v0.9.300

v0.9.280

v0.9.273

v0.9.260

v0.9.259

v0.9.250

v0.9.242

v0.9.236

v0.9.235

v0.9.220

v0.9.201

v0.9.200

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!!

v0.9.180

v0.9.177

v0.9.174

v0.9.161

v0.9.156

v0.9.155

v0.9.143

v0.9.142

v0.9.141

v0.9.130

v0.9.122

v0.9.110

v0.9.084

v0.9.058

v0.9.045

v0.9.022

v0.9.001

v0.9.000

v0.8.990

v0.8.988

[*ps] - glcdfont.c from the Adafruit_GFX_Library library has been changed to add new icons, so for the correct display of all this, you need to replace the specified file in the Adafruit_GFX library with the file from the yoRadio/fonts/ folder

v0.8.962

v0.8.950

v0.8.933 (homeassistant component)

v0.8.933

v0.8.920

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!! \ Please backup playlist.csv and wifi.csv before updating.

v0.8.901

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!! \ Please backup playlist.csv and wifi.csv before updating.

v0.8.173

v0.8.138

v0.8.137

v0.8.135

v0.8.112

v0.8.100

v0.8.089

v0.8.03b

v0.8.02b

v0.8.01b

v0.8.00b

v0.7.540

v0.7.534

v0.7.490

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!! \ Please backup playlist.csv and wifi.csv before updating.

PS: A bug was found with the lack of sound on some (not all) green VS1053 boards. If there is no sound, you need to assign in myoptions

#define VS_PATCH_ENABLE false

On red boards and normally working green boards, nothing else needs to be done.

v0.7.414

v0.7.402

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!! \ Please backup playlist.csv and wifi.csv before updating.

v0.7.355

v0.7.330

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!! \ Please backup playlist.csv and wifi.csv before updating.

PS: Due to the change in the storage location of settings in the ESP memory, settings such as: \ smartstart, audioinfo, time zone, IR remote, last volume level, last played station, equalizer \ will have to be configured again through the web interface. Please understand and forgive.

v0.7.017

v0.7.010

v0.7.000

v0.6.530

v0.6.494

v0.6.450

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!!

v0.6.400

v0.6.380

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!!

v0.6.357

v0.6.355

v0.6.348

v0.6.345

v0.6.344

v0.6.320

v0.6.313

v0.6.290

v0.6.278

v0.6.263

v0.6.262

v0.6.250

v0.6.220

v0.6.210

v0.6.202

v0.6.200

v0.6.120

v0.6.110

v0.6.012

v0.6.010

v0.5.070

v0.5.035

v0.5.020

v0.5.010

v0.4.323

v0.4.322

v0.4.320

v0.4.315

v0.4.298

v0.4.297

v0.4.293

v0.4.292

v0.4.260

v0.4.251

v0.4.249

v0.4.248

v0.4.210

v0.4.199

v0.4.197

v0.4.183

v0.4.182

v0.4.180

v0.4.177