この記事の目的
・社内でRasPi、Jetsonを使っているが、教材(情報)として作成。
・会社の資料の代替でソフトウェア的に設定・確認が必要な情報を 教材として残しておく。
・HW側からの要望もそれなりに応えて、 ソフトウェアエンジニアの後継者が活用してくれることを期待。
・社内のプラットフォームに置くと置いてけぼりになりそうなので、 いつでもどこでも見られるようにする。
目次
1.なんで使えるの
2.MIPIとCSIで混乱してます
3.基本的な設定
4.最後に
1. なんで使えるの
気になるワードもあると思いますが、まずは簡単に列挙します。
(Raspberry Pi は特に記載がなければ RasPiと書記載)
RasPiに使える代表的なカメラは以下の3種になります。
RasPi カメラ | センサー | センサーメーカ |
---|---|---|
V1 | OV5647 | OmniVision |
V2 | IMX219 | SONY |
HQ | IMX477 | SONY |
- このうち、V2についてはSONYのIMX219センサーが採用されており、
こちらのドライバがRasPi、JetsonともにL4T(Linux for Tegra)に含まれているので簡単に動作します。
Jetson Nano/NX のHQカメラ対応について
JetPack 4.6より標準機能で使える様になりました(設定は後述)
- また、両者ともMIPI CSIコネクタを搭載しているのでケーブルの取付も問題ありません。
RasPi でいうV2がJetsonに対応しています。- HWでいうとRasPi カメラV2 がMIPI CSI-2で使えるカメラで、
さらにJetsonも同じような構成となっていて使用可能になっています。 - さらっと書いていますが、FPC(平たいケーブル)とコネクタ、信号のやり取りも
同じ仕様になっているので、動作させられる訳です。
- HWでいうとRasPi カメラV2 がMIPI CSI-2で使えるカメラで、
-RasPi 、Jetsonについて ハードウェア的に詳しく見たい方はこちらを参照ください。
Jetson Nano/NX ドキュメントについて
Developer登録しているとJetPack 4.6のドキュメントが参照できます。
(7.1.1、カメラの信号情報Chapter8,図8-1等)
2. 名前で混乱
- RasPi ,Jetson対応カメラを調べると、
両者ともMIPI CSIコネクタを搭載しているのでケーブルの取付も問題ありません。 - RasPi でいうV2カメラがJetsonに対応しています。
-MIPI:モバイル業界プロセッサインターフェイス(MIPI®)規格
スマートフォン、タブレット、ラップトップ等々モバイルデバイスの設計に関する
業界使用を定義しています。それらは中心メンバーであるMIPI Allianceに管理されています。
- MIPI規格は、MIPID-PHY®、M-PHY®、C-PHY®の3つの固有の物理(PHY)レイヤー仕様があります。
- MIPI D-PHYおよびC-PHY物理層はカメラおよびディスプレイアプリケーションサポート
- 高性能カメラ、メモリ、およびチップ間アプリケーションはM-PHY層の上でサポート
- その中にMIPI CSI (Camera Serial Interface)があり、カメラの物理レイヤーオプションを
定めたものがMIPI CSI-2になります。
ホストプロセッサとカメラモジュール間の高速シリアルインターフェイスを使用します。- RasPi V2カメラやJetsonに使用するカメラはMIPI CSI-2に対応していてます。、
MIPI CSI-2 各バージョンのサポートの詳細は本家のサイトの表を参照してください。
- HW技術的に深い興味のある方は「エンジニアの電気屋さん」のサイトを参照下さい。
3. 基本的な設定
IMX219センサー
- 先ずデバイスが認識しているか確認(Raspberry Pi OS JetPack共通)
ls /dev/video0
#または
ls /dev/
- Jetsonでの動作確認
nvgstcapture
- これで映像が出てくればカメラは動作可能だと判断できます。
- RasPi での動作確認
raspistill(スチル撮影)、raspivid(ビデオ出力)、raspiyuv(無圧縮静止画撮影)
と分かれていたのが、
Bulls eyeからは
libcamera-〇〇で対応するようになりました。
- 参照先公式サイト
IMX477(RasPi HQ相当)カメラを使用する場合
- Jetsonでの動作確認
注意
JetPack 4.6から対応です。また、Jetson Nano Developer Kit B01のボードで動作確認しています。
cat /etc/nv_tegra_release
#R32 (Release), REVISION 6.1 であればOK.
#Jetson Nano/NX Developer Kitで IMX477カメラを有効化する
sudo /opt/nvidia/jetson-io/jetson-io.py
#Jetson IOツールが起動してきます。
- メニューについて Jetson Nano
- B01では両方のスロットをどちらかのカメラで統一するか、片側ずつ分けるか設定できます。、
- 設定が済んだら、保存してリブートする項目を選んでリブートします。
- コマンドは nvgstcaptureで表示確認できました。
- B01では両方のスロットをどちらかのカメラで統一するか、片側ずつ分けるか設定できます。、
- RasPi 4BでのBulls eyeでの動作設定
cat /boot/config.txt
#私は vi 使いなので
sudo vi /boot/config.txt
#ファイルの末尾に追加
dtoverlay=IMX219
#他のセンサーも記載(公式の一覧にあるものを入力)
-公式のカメラ情報はこちら
4. 最後に
・調べてみると奥が深いのですが、どこまで掘り下げていくかは
状況に応じて今後改訂するかによります。