# トラブルシューティングガイド

このガイドは、`M5StackWiFiUploader` ライブラリ使用時に発生する可能性のある一般的な問題とその解決策を提供します。

---

## 1. WiFi接続の問題

### 症状
- シリアルモニタに `Connecting to WiFi...` と表示されたまま進まない。
- IPアドレスが取得できない。

### 解決策
1. **SSIDとパスワードの確認**: `WIFI_SSID` と `WIFI_PASSWORD` が正しいか再確認してください。
2. **電波強度の確認**: M5StackがWiFiルーターの電波範囲内にあることを確認してください。
3. **ルーター設定の確認**: 2.4GHz帯のWiFiが有効になっているか、MACアドレスフィルタリングが設定されていないか確認してください。

---

## 2. サーバー起動の失敗

### 症状
- `Failed to start server` と表示される。

### 解決策
1. **ポートの競合**: 他のサービスが同じポート（デフォルト: 80）を使用していないか確認してください。`uploader.begin(8080)` のように別のポートを試してください。
2. **メモリ不足**: 他のライブラリとの併用によりメモリが不足している可能性があります。不要なライブラリを無効にしてみてください。

---

## 3. ファイルアップロードの失敗

### 症状
- Web UIでファイルを選択してもアップロードが開始されない。
- アップロード中にエラーが発生する。

### 解決策
1. **SDカードの確認**:
   - SDカードが正しく挿入されているか確認してください。
   - SDカードがFAT32でフォーマットされているか確認してください。
   - SDカードの空き容量が十分にあるか確認してください。
2. **ファイルサイズの確認**: アップロードしようとしているファイルが `setMaxFileSize()` で設定したサイズを超えていないか確認してください。
3. **拡張子の確認**: ファイルの拡張子が `setAllowedExtensions()` で許可したものか確認してください。
4. **ネットワークの安定性**: ネットワーク接続が不安定な場合、タイムアウトが発生することがあります。再試行機能が有効になっているか確認してください。

---

## 4. Web UIが表示されない

### 症状
- ブラウザでM5StackのIPアドレスにアクセスしてもページが表示されない。

### 解決策
1. **IPアドレスの確認**: シリアルモニタに表示されるIPアドレスが正しいか確認してください。
2. **ネットワーク接続の確認**: PCやスマートフォンがM5Stackと同じWiFiネットワークに接続されているか確認してください。
3. **ファイアウォールの確認**: PCのファイアウォールがM5Stackへのアクセスをブロックしていないか確認してください。

---

## 5. エラーコード別の対処法

| コード | 名称 | 対処法 |
|---|---|---|
| 1 | `ERR_FILE_TOO_LARGE` | `setMaxFileSize()` で上限を増やすか、より小さいファイルをアップロードしてください。 |
| 2 | `ERR_INVALID_EXTENSION` | `setAllowedExtensions()` で許可する拡張子を追加してください。 |
| 3 | `ERR_SD_WRITE_FAILED` | SDカードの状態を確認してください（空き容量、フォーマットなど）。 |
| 5 | `ERR_TIMEOUT` | ネットワーク接続を確認してください。再試行機能が自動で処理します。 |
| 7 | `ERR_CONNECTION_LOST` | ネットワーク接続を確認してください。再試行機能が自動で処理します。 |
| 8 | `ERR_SD_FULL` | SDカードの不要なファイルを削除してください。 |
| 9 | `ERR_SD_NOT_READY` | SDカードが正しく挿入されているか確認してください。 |

---

## 6. デバッグ方法

問題が解決しない場合は、以下の手順でデバッグ情報を取得してください。

1. **デバッグレベルの変更**: `setup()` 内で `uploader.setDebugLevel(4);` を呼び出し、最も詳細なログを有効にします。
2. **シリアルモニタの確認**: シリアルモニタに出力されるログを確認し、エラーメッセージや警告を特定します。
3. **GitHub Issues**: 解決しない場合は、シリアルモニタのログを添えて [GitHub Issues](https://github.com/tomorrow56/M5StackWiFiUploader/issues) に報告してください。
