Skip to content

otitbridge/esp32s3-plarail-fpv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dr.Yellow Cam — XIAO ESP32S3 カメラ付きモーター制御プロジェクト

概要

SEEED XIAO ESP32S3 を使って、カメラ映像をリアルタイムにブラウザへ配信しながら、モーターをリモート制御する組み込みシステムです。
プラレール車両(Dr.Yellow)に搭載することを想定したコックピット型Webインターフェースを提供します。


ハードウェア

項目 内容
マイコン SEEED XIAO ESP32S3
カメラ OV2640(XIAO ESP32S3 Sense 付属)
モーターピン D0 (IN1), D1 (IN2)
通信方式 Wi-Fi (SoftAP モード)

ピンアサイン

モーターピン

信号名 GPIOピン 説明
IN1 D0 モーター制御 (PWM CH 2)
IN2 D1 モーター制御 (PWM CH 3)

カメラピン (OV2640)

信号名 GPIO番号 説明
XCLK 10 マスタークロック
SIOD (SDA) 40 SCCB データ
SIOC (SCL) 39 SCCB クロック
Y9 (D7) 48 データビット 7
Y8 (D6) 11 データビット 6
Y7 (D5) 12 データビット 5
Y6 (D4) 14 データビット 4
Y5 (D3) 16 データビット 3
Y4 (D2) 18 データビット 2
Y3 (D1) 17 データビット 1
Y2 (D0) 15 データビット 0
VSYNC 38 垂直同期
HREF 47 水平参照
PCLK 13 ピクセルクロック
PWDN -1 未使用
RESET -1 未使用

ソフトウェア構成

ファイル 役割
src/main.cpp メインロジック(カメラ・モーター・Webサーバー)
platformio.ini ビルド設定(Espressif32, Arduino framework)

機能

1. Wi-Fi アクセスポイント (SoftAP)

  • SSID: Plarail_DrYellow
  • デバイス自身がAPとなり、スマートフォン・PCから直接接続可能

2. Webサーバー(デュアルコア構成)

サーバー ポート コア 内容
操作パネルサーバー 80 Core 1 (APP_CPU) コックピットHTML + モーター制御API
ストリーミングサーバー 81 Core 0 (PRO_CPU) MJPEG映像配信

3. モーター制御

  • PWM による速度制御(0〜100%)
  • 安全リミッター付き(最大 PWM 85/255 ≒ 33%)
  • 前進 / 後退 / 停止 の3モード
  • カメラPWMチャンネルとの競合を避けるため PWM CH 2, 3 を使用

4. カメラ映像配信

  • フォーマット: JPEG (QVGA: 320×240)
  • PSRAM にフレームバッファを格納(ダブルバッファ)
  • MJPEG over HTTP によるリアルタイムストリーミング
  • 上下反転設定済み(搭載向き対応)

5. ブラウザ操作UI

  • スライダーによる速度調整
  • 前進 / 停止 / 後退 ボタン
  • カメラ映像とコントロールパネルを一画面に表示

ビルド設定 (platformio.ini)

[env:seeed_xiao_esp32s3]
platform = espressif32
board = seeed_xiao_esp32s3
framework = arduino
monitor_speed = 115200
board_build.arduino.memory_type = qio_opi
board_build.f_flash = 80000000L
board_build.flash_mode = qio
build_flags = -DBOARD_HAS_PSRAM

カメラ動作に PSRAM が必須のため、-DBOARD_HAS_PSRAM フラグと QIO フラッシュ設定が必要です。


使い方

  1. PlatformIO でビルド&書き込み
  2. デバイスのWi-Fi AP(Plarail_DrYellow / 12345678)に接続
  3. ブラウザで http://192.168.4.1 を開く
  4. カメラ映像を確認しながらモーターを操作

システム構成図

[ブラウザ]
   |
   |-- HTTP GET / -----------> Port 80 (Core 1) --> HTMLページ返却
   |-- HTTP GET /action?go=fwd -> Port 80 (Core 1) --> モーター制御
   |-- HTTP GET /stream ------> Port 81 (Core 0) --> MJPEG映像配信
                                                         |
                                                    [カメラ (OV2640)]
                                                    [モーター (PWM)]

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages