Windows 11での環境設定から画像AI動作までの覚書
2025年10月、CQ出版 トランジスタ技術 主催の「SpresenseとHDRカメラで学ぶエッジAIワークショップin大阪」での濃厚な講習を自分が再現するためのメモです。講師の方にお礼申し上げます。(Connpassの開催ページ https://toragi.connpass.com/event/370236/ に講師名が記載されていないので、お名前は伏せています)
注意点:拡張ボードと組み合わせて使う場合、メインボードが拡張ボードにしっかりはまっていないと、うまく動きません。調子悪いなと思ったら、はまっていると思っても、「もう一押し」するとさらに深くはまるはずです。
Arduinoの環境設定
「Spresense Arduino スタートガイド」の通りですが、簡単なメモを以下に示します。
-
USBドライバーをダウンロードし、zipファイルを解凍してインストールする。インストールは右クリックで「インストール」を選択。
CP210x USB to serial driver (v11.1.0) for Windows 10/11
https://github.com/sonydevworld/spresense-hw-design-files/raw/master/misc/usb-to-uart-bridge-vcp-drivers/CP210x_Universal_Windows_Driver-v11.1.0.zip -
Arduino IDE をダウンロードしてインストール(2025/10/25時点の Ver.は 2.3.6)。
https://www.arduino.cc/en/software/ -
Arduino IDEを起動、 ファイル → 基本設定 で開いた窓の下の方にある「追加のボードマネージャ」の空欄に以下の URL 入力し、 OK をクリック。
https://github.com/sonydevworld/spresense-arduino-compatible/releases/download/generic/package_spresense_index.json -
ツール → ボード → ボードマネージャ で検索欄に Spresense を入力し、出てきたパッケージを選択して インストール をクリック。150MB をダウンロードするので、インストール完了を待つ。インストールが終わると、ツール → ボード で以下を選択する。
「Spresense Reference Board」→「Spresense」 -
ツール → ポート →「Spresenseに接続されたポート(COM#)」を選択 。どのポートかは、device manager で確認しておくこと。
-
micro USB Type-B の USB ケーブルで PC と Spresense を接続する。ボード上の青いLEDが点灯する。
-
ボード(Spresense)とポート(COM#)の設定を確認後、ツール → 書き込み装置 で Spresense Firmware Updater を選択。
-
ツール → ブートローダーを書き込む を選択し、「End User License Agreement ダイアログ」で Accept をチェックしてから OK ボタンをクリック。以下が表示されれば完了。ブートローダーの書き込みは初回のみ実施。
----------------------------
updater# Restarting the board ...
reboot
L チカを実行する
-
Arduino IDE で、ファイル → 新規ファイルを開き、冒頭で紹介した「Spresense Arduino スタートガイド」の中にある LED サンプルスケッチをコピペする。
-
マイコンボードに書き込む ボタン(右向き矢印 → )をクリックすると、コンパイルと書き込みが始まる。書き込みが完了すると以下が表示される。
----------------------------
updater# Restarting the board ...
reboot -
書き込み完了と同時にスケッチプログラムが動作を開始するので、Spresenseボード上の赤いLED4個が点灯・消灯を繰り返すのが確認できる。
-
以上で Lチカ が完了
カメラ撮影した画像をSDカードに保存
- Arduino IDE 上から ファイル → スケッチ例 → Spresense用のスケッチ例 Camera → camera
- スケッチ 23-26行目 SDHCI.h stdio.h Camera.h ヘッダーファイルをインクルード
- スケッチ 29行目 #define TOTAL_PICTURE_COUNT (10) 撮影画像枚数を指定
- スケッチ 82行目 void CamCB(CamImage img) 画像取得できてたらRGB565へ変換
- スケッチ 114行目 void setup()
- スケッチ 137行目 theCamera.begin カメラモード開始(defaultで VGA、30FPS設定)
- スケッチ 149行目 theCamera.startStreaming 画像取得コールバック CamCB 設定+tureで有効化)
- スケッチ 169行目 theCamera.setStukkOuctyreUnageFirnat QVGA,JPG のパラメータ
- スケッチ 183行目 void loop()
- スケッチ 185行目 sleep(1) 1秒毎に画像を取得するためにウェイト時間を指定
- スケッチ 197行目 29行目で指定した枚数になったかを判定
- スケッチ 206行目 theCamera.takePicure 実際に画像取得
- スケッチ 216行目 画像ファイル保存 ファイル名は PICT%03d.JPG で PICT##.JPG に
- スケッチ 248行目 theCamera.end() カメラモード終了
- スケッチ 251行目 カウンター take_picture_count の値を 1 増やす
SDカードの内容を USBケーブルを通じて PCとやりとり
拡張ボードからSDカードを抜いて PC に挿せば、画像ファイルにアクセスできる。しかし、拡張ボードにSDカードを刺したまま、USBでアクセスする場合は、以下を実行する。
- Arduino IDE で、ファイル → スケッチ例 → DSHCI → UsbMsc を選択し、メインボードに書き込み
- USBケーブルを拡張ボードにつなぎ替えると、PCのエクスプローラーで認識、やり取りできる。
注意
メインボードが拡張ボードにしっかりはまっていないと、130行目の "Insert SD card." が無限にシリアルモニタに表示され続ける。はまっていると思っても、「もう一押し」するとさらに深くはまります。
謝辞
ハンズオン講習会で大変お世話になり、Qiita記事の掲載をご了承して頂いた講師の方、ハンズオンを開催していただいたCQ出版株式会の皆様に感謝申し上げます。
Spresense (2) に続く・・・
https://qiita.com/tech888/items/98b76b342e3adfd455a5