80 lines
3.9 KiB
Markdown
80 lines
3.9 KiB
Markdown
# arduino_esp32_a2dp
|
||
|
||
ESP32-WROOM-32E を使用した、Arduino版 A2DP Bluetoothスピーカーのファームウェアリポジトリです。
|
||
GitHub Actions を利用して、ブラウザ上だけでファームウェアの書き換えとビルドが行えます。
|
||
|
||
ESP32-WROOM-32E 用の Bluetooth スピーカー主な機能:
|
||
|
||
- NeoPixcel:デバイスの動作モードに合わせて発光色を変化
|
||
- 音楽再生時: 楽曲名、歌手名、音量を表示
|
||
- 音楽停止時: 各種センサー値(温度・湿度・照度・土壌水分)を表示
|
||
- 環境データ出力: 1時間ごとにデータを蓄積し、Webブラウザから Bluetooth 経由でデータをダウンロード(CSV形式で保存可能)
|
||
|
||
## 手順
|
||
|
||
### 1. リポジトリのフォーク
|
||
1. GitHub アカウントを作成してサインインします。
|
||
2. [jcodeorg/arduino_esp32_a2dp](https://github.com/jcodeorg/arduino_esp32_a2dp) を開き、右上の **【Fork】** ボタンを押してご自身のアカウントにコピーを作成します。
|
||
|
||
### 2. ファームウェア(設定)の編集
|
||
1. フォークしたリポジトリで `/firmware/firmware.ino` を開きます。
|
||
2. 編集(鉛筆アイコン)ボタンを押し、以下の箇所の文字列を好みに合わせて変更します:
|
||
- **OLED初期表示(91行目付近):** `"BTスピーカー5.2"`
|
||
- **Bluetoothデバイス名(111行目付近):** `"BT_Speaker5.2"`
|
||
3. 編集後、右上の **【Commit Changes...】** をクリックして保存します。
|
||
|
||
### 3. GitHub Actions の有効化と実行
|
||
1. 上部タブメニューから **【Actions】** を選択します。
|
||
2. 初回のみ表示される **【I understand my workflows, go ahead and enable them】** をクリックします。
|
||
3. 上部タブメニューの **【Code】** に戻り、`README.md` などを適当に編集して **【Commit Changes...】** を行うと、ビルドが自動開始されます。
|
||
|
||
### 4. ビルドファイルのダウンロード
|
||
1. 上部タブメニューの **【Actions】** を選択します。
|
||
2. 進行中のビルドを選択します(約1分で完了します)。
|
||
3. ビルド完了後、ページ下部の **Artifacts** にあるダウンロードアイコンをクリックし、`esp32-a2dp-firmware.zip` を取得します。
|
||
|
||
---
|
||
|
||
### 解凍後の確認
|
||
ダウンロードした ZIP ファイルを解凍し、以下の3つのファイルが含まれているか確認してください:
|
||
|
||
* `bootloader.bin`
|
||
* `partitions.bin`
|
||
* `firmware.bin`
|
||
|
||
---
|
||
|
||
## デバイスへの書き込み手順
|
||
|
||
1. ESP32 デバイスを PC に USB ケーブルで接続します。
|
||
2. ブラウザで [ESP Flash Tool (esptool-js)](https://espressif.github.io/esptool-js/) を開きます。
|
||
3. **【Connect】** ボタンをクリックし、接続された ESP32 のシリアルポートを選択して接続します。
|
||
4. **【Add File】** ボタンを使い、以下のアドレス(オフセット)とファイルの組み合わせで 3 つのファイルをセットします:
|
||
|
||
| アドレス | ファイル名 |
|
||
| :--- | :--- |
|
||
| **`0x1000`** | `bootloader.bin` |
|
||
| **`0x8000`** | `partitions.bin` |
|
||
| **`0x10000`** | `firmware.bin` |
|
||
|
||
5. 設定項目(Flash Mode / Flash Frequency / Flash Size)は **「Keep」** のままで問題ありません。
|
||
6. **【Program】** ボタンをクリックして書き込みを開始します。
|
||
7. 画面に以下のメッセージが表示されれば書き込み完了です:
|
||
|
||
```text
|
||
Hash of data verified.
|
||
Leaving...
|
||
Hard resetting via RTS pin...
|
||
|
||
|
||
---
|
||
|
||
## 動作確認
|
||
|
||
デバイスのリセットボタンを押すか、USB を抜き差しして再起動し、以下を確認してください:
|
||
|
||
+ OLED ディスプレイに初期文字列が表示されること
|
||
+ スマホ等の Bluetooth 設定からペアリングし、音声が正常に再生できること
|
||
|
||
|
||
MTUを揃えるのが重要 |