13.1.3. カメラの接続¶
すべてのセッションは接続ボタンから始まります。これは左ツールバー下部のプラグアイコン、または Ctrl+E です。クリックすると、IDE は USB シリアルポートをスキャンしてカメラを探し、見つかったものに接続します。複数のカメラを接続している場合は、どのシリアルポートを使うか尋ねるダイアログが表示され、前回の選択があらかじめ選ばれています。1台もない場合は、その旨が表示され、列挙されなくなったカメラのための復旧手段が提示されます(ファームウェアの更新と復旧 を参照)。
13.1.3.1. 接続時に何が起こるか¶
接続は単にシリアルポートを開くだけではありません。IDE はボードを識別し、そのファームウェアバージョンを読み取り、IDE に同梱されているリリースと比較します。カメラのファームウェアが古い場合は、更新を提案するプロンプトが表示されます。このプロンプトが、カメラが通常ファームウェア更新を受け取る経路です。更新ダイアログには、内部フラッシュファイルシステムを併せて消去するチェックボックスと、ROM ファイルシステムをリセットするチェックボックスがあります。どちらも初期状態ではオフで、前回の選択を記憶し、通常の更新ではどちらも不要です。最初の接続に成功した後、IDE はカメラの LED の点滅色が何を意味するかを説明する一度限りのダイアログも表示します。
通常のシリアルデバイスとしてではなく、ブートローダー(DFU)モードで接続されたカメラは、接続時に専用のダイアログが表示され、最新のリリースファームウェアのインストール、特定のファームウェアファイルの読み込み、内部フラッシュファイルシステムの消去、または ROM ファイルシステムの編集やリセットを選択できます。
IDE はプラットフォーム固有の問題も報告します。Windows では、接続時にシステムのデバイスリストを確認し、見つかった USB ドライバの問題を、関係するデバイス名を挙げて報告します。Linux では、シリアルポートを開く際の権限エラーは、ほぼ確実にユーザーが dialout グループに属していないことを意味します。エラーダイアログには、それを修正する正確な adduser コマンドが表示されます。
13.1.3.2. ステータスバー¶
接続すると、ウィンドウ右下のステータスバーがカメラのダッシュボードになります。
Board -- カメラが報告するボードの種類。
Sensor -- 接続されているカメラセンサーモジュール。
Firmware Version -- 実行中のファームウェアバージョン。クリックすると、同梱リリースに対してバージョンを再確認し、より新しいものがあれば更新できます。
Serial Port -- 接続に使用しているポート。
Drive -- カメラに関連付けられたフラッシュドライブのマウントポイント。クリックするとファイルマネージャでドライブを開きます。候補となるドライブが複数接続されている場合、IDE はどれがカメラのものか尋ね、その答えをシリアルポートごとに記憶します。ドライブの関連付けがなくてもカメラは問題なく接続しスクリプトを実行できます。ドライブに依存する操作、たとえばドライブフォルダを開くことやスクリプトを
main.pyとして保存することだけが、関連付けが設定されるまで無効のままになります。FPS -- フレームが IDE に届く速度。これはプレビューの速度であり、必ずしもカメラの撮影速度ではありません。スクリプトは、USB リンクがフレームをストリーミングできる速度よりも速く動作することがあります。
切断は寛容です。切断をクリックするのがきれいな終わり方ですが、ケーブルを抜くだけでも機能します。IDE はカメラがなくなった(または応答を停止した)ことに気づき、自動的に切断します。
13.1.3.3. 自動再接続¶
Tools → Auto Reconnect to OpenMV Cam を使うと、接続が完全に自動化されます。カメラが USB に現れるたびに IDE が接続し、このオプションがオンの間は手動の接続・切断ボタンは無効になります。カメラ1台と IDE 1つの構成では、これが便利なモードです。カメラを差し込めば接続されます。複数のカメラを扱っているときや、ポートを別のプログラムと共有しているときはオフにしてください。
関連する Tools → Stop Script on Connect/Disconnect オプション(デフォルトでオン)は、IDE が接続または切断する際に実行中のスクリプトを停止させるため、接続したばかりのカメラは常に既知のアイドル状態になります。IDE が観察のために接続している間もカメラに保存済みのスクリプトを実行し続けさせたい場合は、これをオフにしてください。