0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ESP32+I2S DACでシンプルにMP3とWebRadioを再生する

Last updated at Posted at 2021-02-02

色々ネットサーフィンしていたところ、schreibfaul1さんが公開されているライブラリで簡単に
MP3とWebRadioをMP3コーデックで再生できたためそのメモです。

#準備

  • ESP32とSDカードアダプタとI2S DACを接続しておく→ こちら 参照
  • こちらからライブラリをダウンロードしてArduino¥librariesにインストールしておく
  • ESP32のボードライブラリを最新にしておく

※ボードマネージャのESP32ライブラリが古いとコンパイルエラーが出てコンパイルができませんでした。
どうやらコンパイル時のエラーメッセージから1.05.0c以上が必要なようです。
(2021/02/02時点)
image.png

現時点でStable Releaseの1.04が最新となってますので、Arduino IDE→環境設定→追加ボードマネージャのURLに下記Dev Release用のURLを記入後、ESP32で検索すると最新版がインストールできます。今回は1.0.5-rc6を入れました。

https://raw.githubusercontent.com/espressif/arduino-esp32/ghpages/package_esp32_dev_index.json

■環境設定
image.png

■ボードマネージャの起動
image.png

■ESP32で検索して更新
image.png

#ソースコード
★1のSSIDとpasswordはWiFiに合わせて選択する。
★2でSDカードからmp3を再生するかWebから再生するかコメントアウトで切り替えて試してみてください

#include "Audio.h"

// SDCard Pinout (SSCK to IO18, MOSI to IO23 MISO to IO19
#define SD_CS   5

// I2S to DAC pinout difinition
#define I2S_DOUT  22
#define I2S_BCLK  26
#define I2S_LRC   25

Audio audio;

const char* wifi_ssid = "xxxxxxxxx";            // ★1ここにWiFi ssidを記入
const char* wifi_password = "xxxxxxxxxxx";      // ★1ここにWiFi passwordを記入

void setup(void) {
  
  Serial.begin(115200);
  Serial.println(F("Hello! this is Audio player Test"));

  //Mount sdcard
  if(!SD.begin(SD_CS)){
      Serial.println("Card Mount Failed");
  }

  WiFi.disconnect();
  WiFi.mode(WIFI_STA);
  WiFi.begin(wifi_ssid, wifi_password);
  
  // WiFi connection try forever
  while (WiFi.status() != WL_CONNECTED) {
    Serial.println("...Connecting to WiFi");
    Serial.print(".");
    delay(1000);
  }
  
  Serial.print("Connected to ");
  Serial.println(WiFi.localIP());

  audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT); 
  audio.setVolume(21); // 0...21

  audio.connecttohost("http://listen.181fm.com/181-beatles_128k.mp3"); //  128k mp3  ★2 ←どちらか選択 WebRadio
//audio.connecttoSD("/pno-cs.mp3");                                                  ★2 ←どちらか選択 MP3
  
}

void loop(){
  audio.loop();
}

以上

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?