[Armadillo:04660] Re: Armadillo-500 FXによるUSBカメラの制御について

mizo email@hidden
2009年 10月 9日 (金) 19:06:45 JST


動作確認をしてみました。

動作させるポイントは、記事の中にある「UVCとXUを透過的に利用するには」に
なります。

記事の中に手順はありませんが、UVCとXUではコマンドが異なるため、マッピン
グ情報を初期化する必要があります。

この操作は、uvcdynctrlを使用して行なうことができます。

まずは、arm用のuvcdynctrlをビルドします。
ビルドには、libxml2のクロスライブラリが必要になります。以下のHOWTOを参考
にしてください。

[HOWTO: クロス開発用ライブラリをインストールする方法]
http://armadillo.atmark-techno.com/howto/install-cross-libraries

$ svn co http://svn.quickcamteam.net/svn/qct/Linux/ libwebcam
$ cd Common/include/
$ wget
http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk/uvcvideo.h
$ wget
http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk/uvc_compat.h
$ cd ../../
$ mkdir build
$ cd build
$ cmake ..
$ find ../../ -type f -exec sed -i 's/gcc/arm-linux-gcc/' {} \;
$ make

- build/Apps/uvcdynctrl/build/Apps/uvcdynctrl-0.2
- build/Libs/libwebcam/libwebcam.so.0.1.2
- Apps/uvcdynctrl/data/046d/logitech.xml
- libxml2.so.2

をそれぞれArmadillo-500 FXにコピーします。

Armadillo-500 FXで以下のコマンドを実行して、マッピング情報を初期化します。
# ./uvcdynctrl -d video0 -i logitech.xml


次にhello-sdl-inputをビルドします。一部コマンドに誤りがあるため修正する
必要があります。

hello-sdl-input.c
- #define V4L2_CID_PAN_RELATIVE_LOGITECH  0x0A046D01
- #define V4L2_CID_TILT_RELATIVE_LOGITECH 0x0A046D02
+ #define V4L2_CID_PAN_RELATIVE_LOGITECH  0x009A0904
+ #define V4L2_CID_TILT_RELATIVE_LOGITECH 0x009A0905

次にmakeします。

[PC]$ FX=1 make hello-sdl-input

hello-sdl-inputとsapporo.jpgをArmadillo-500 FXに転送して動作確認を行なっ
てみてください。

起動時にカメラの位置が初期化され、Armadillo-500 FXのLCD右側にある↑↓→←
キーを押すとカメラが動くのが確認できると思います。

以上です。

佐藤 智也 wrote:
> 佐藤です。
> 
> ご指摘のとおり、UVCドライバーをインストールしたら
> ATDE2(作業用PC)側でもUSBカメラを認識できました。
> ありがとうございます。
> 
> 対応しているコマンドの確認ですが、
> Pan/Tilt (reset)が表示されることを確認できました。
> 実行結果を以下に示します。
> $ uvcdynctrl -d video0 -c
> Listing available controls for device video0:
>   White Balance Temperature
>   White Balance Temperature, Auto
>   Exposure (Absolute)
>   Exposure, Auto
>   Pan/Tilt (reset)
>   Pan/Tilt (relative)
>   Sharpness
>   Power Line Frequency
>   Backlight Compensation
>   Gain
>   Saturation
>   Contrast
>   Brightness
> 
> そうすると、やはり、ioctl(fd, VIDEOC_S_EXT_CTRLS, &ctrls);の
> &ctrlsパラメータの値が違っていることになるのでしょうか?
> 正しい値を教えていただけますでしょうか?
> 
> 以上、よろしくお願いします。
> 
> 
>> 溝渕です。
>>
>> 佐藤 智也 wrote:
>>> 1.ctrlsの設定した値について
>>>> ioctl(fd, VIDEOC_S_EXT_CTRLS, &ctrls);
>>>> でエラーが発生しているようです。ctrlsに設定した値のいずれかが誤って
>> いる
>>>> 可能性があります。
>>> 特集記載のソースをそのまま利用していますが、パラメータの値が違うので
>> しょうか?
>> その可能性もあるかもしれません。
>>
>>> 2.libwebcam(uvcdynctrl)のインストールについて
>>> 下記、詳細な導入手順ありがとうございます。
>>> ただ、開発経験が浅く次のような確認をさせていただきたい事項があります。
>>>
>>> ATDE2(作業用PC)へのインストールと判断して、
>> その通りです。
>>
>>> ATDE2(作業用PC)側でインストール作業を行い、ATDE2(作業用PC )上で
>>> uvcdynctrlコマンドを実行できていますが、USBカメラを認識できませんで
>> した。
>>> ATDE2(作業用PC)はVM上で動作しております。
>>> ATDE2(作業用PC)にてUSBカメラを利用する場合について、ご教示下さい。
>>> $ uvcdynctrl -h は実行できています。が、
>>> $ uvcdynctrl -l
>>> Listing available devices:
>>> No devices found.
>> uvcドライバはインストールされていますか?
>>
>> # module-assistant get linux-uvc-source
>> # module-assistant build linux-uvc-source
>> # module-assistant install linux-uvc-source
>>
>> とするとインストールされると思います。
> 
> 
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo



armadillo メーリングリストの案内