2009年6月アーカイブ

前回の記事では、libwebcamを準備しました
 
ここでは、uvcdynctrlコマンドでWebCamera(Qcam Orbit AF)を
制御するときにコマンドをメモしておきます。

uvcsynctrlを使用したカメラの遠隔コントロール例はこちら

QcamOrbitAF.jpg

基本の使い方は
$ ./uvcdynctrl -h
でヘルプが出ますので参考にしてください。

$ ./uvcdynctrl -l で使えるカメラ一覧(デバイス一覧)が出ます。
$ ./uvcdynctrl -c で使えるコマンド一覧が出ます。
 
 
■カメラが複数の場合に、デバイス(video1)を選択してコマンド実行をする
./uvcdynctrl -d video1 -c
のようにオプションを併用することでできます。
 
■xmlファイルのインポート
libwebcam-trunk/Apps/uvcdynctrl/data/046d
配下にあるlogitech.xmlを使います。uvcdynctrlの各種コマンド説明もこのファイルに書いてあります。
 
logitech.xmlを読み込むと、パン、チルト、LEDなどLogitechカメラ特有の制御ができるようになります。
sudo ./uvcdynctrl -d video1 -i /home/bird/logitech.xml
↑管理者権限が必要
 
 
他のコマンドについては長いので、続きから

libwebcamのuvcdynctrlを使うと、Linuxのuvcドライバを使い、
WebCameraをコントロールすることができるようです。
Qcam Orbit AFについては、パン、チルト、フォーカス等の特有機能もコントロールできるため、貴重です。

ここでは、準備についてメモをしていきます。
※コマンドについてはこちらの記事を参考にしてください。
 
 
(コンパイル等の準備については続きから)
make_libwebcam.png
 

Apache2でダイジェスト認証を使えるように設定を行いましたので、
メモをしておきます。

digest_dialog.png
↑のようなダイアログがでてWebページにパスワードをつけられるようになります。
 
  
■パスワードファイルの生成
/etc/apache2/.htdigest にユーザ「bird」のファイルを新規作成する例です

$ sudo htdigest -c /etc/apache2/.htdigest 'secret zone' bird
Adding password for bird in realm secret zone.
New password:
Re-type new password:
↑パスワードを二回入力
 
  
$ ls -la
-rw-r--r-- 1 bird bird 50 2009-06-19 07:06 .htdigest
↑ファイルができました

Apacheの設定は続きから
 

サーバへFTPSで接続できればセキュアなため、インストール済みのproftpに
追加で設定を行いました。
 
  
---
※サーバ証明書の作成はApacheでSSLを使用するときに作った物を代用しました。
 
証明書作成手順は以下の@ITサイトが参考になりました
・ApacheでSSLを使うには
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/702apachessl.html
--- 
 

■proftpの設定

・proftpの設定ファイル
/etc/proftpd/proftpd.conf
の適当なところに以下を追記します(必須)

<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP

# Are clients required to use FTP over TLS when talking to this server?
TLSRequired off

# Server's certificate
TLSRSACertificateFile /etc/apache2/server.crt
TLSRSACertificateKeyFile /etc/apache2/server.key

# Authenticate clients that want to use FTP over TLS?
TLSVerifyClient off
>/IfModule<

・以下を変更してTLSを有効に(たぶん必須)
# This is used for FTPS connections
Include /etc/proftpd/tls.conf

・ftpdの再起動
sudo /etc/init.d/proftpd restart

これでとりあえずつながります。
他の詳細な設定は続きから。
 

GMAILから添付ファイル付きのメールを送信するPerlスクリプトを探していたら
見つかりましたのでメモしておきます。
 
■リンク
GmailのSMTPを利用してPerlからメール送信(添付ファイル付) - memo.mzt
http://d.hatena.ne.jp/mzt/20080219/p1 
↑基本的には上記のサイトの通りでできますが、
 必要なライブラリをLinux(Ubuntu)に導入する際に苦戦したので、
 エラーと対処方法をメモしておきます。
 
 

2009/04/18~はじめていたプランターでのミニトマト栽培ですが、
順調に大きくなっています。
 
花が咲き、実がなりました。
ただし、赤くなる気配はないです。日照不足かも・・・!?
 
mini_tomato_20090607_m.jpg
↑2009/06/07 実がなってしばらくたちますがまだ赤くなりません
 
★成長記録は続きから

Ubuntuに無線LANドライバをいれ、なんとかつながるようになりましたが、
無線LAN接続まで時間がかかり、何度もタイムアウトになるようなので、設定をしてみました。
以下はそのときのメモです。
 
(間違いもあるかもしれないですが、参考までに)
 

以前の記事
で書いたmotionについて、ストリーミング配信をする場合のメモを載せておきます。
 
QcamS5500.jpg
  
詳細は続きから

LinuxでWebカメラを使うには「motion」というアプリケーションが便利です。
動体検知をして動きがあったときだけ録画することもできます。

また、一定時間ごとに画像をキャプチャすることもできるので、
インターバル撮影(微速度撮影)もできます。

■リンク
・アプリケーションのダウンロードは以下から。
 英語の詳しいマニュアルもあります。
WebHome < Motion < Foswiki
http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome

・参考サイト(コンフィグの設定などが参考になります)
Motion でライブカメラ+動体検知サーバー構築 | 自宅サーバー Debian/Ubuntu
http://debianj.com/ubuntu/webcam/motion.html

基本的な使い方は続きから

EcoLinuxUbuntu)にApache/2.2.8をインストールしたのでコンフィグ設定等をメモを残しておきます。

# Apache 2.2系は(?)コンフィグファイル httpd.confに何もかかれていなくて
# 戸惑ったためです。詳しくないので違っているところもあるかも。。
 
 
■apacheの設定ファイル

/etc/apache2/sites-enabled
apache2.conf
 ↑基本の設定ファイル。ここから他の設定ファイルが読み込まれる。

/etc/apache2/sites-enabled
000-default
 ↑その他の設定ファイル。CGI設定などもここに書くとよい

/etc/apache2
ports.conf
 ↑その他の設定ファイル。待ちうけポートなどの設定を書くようになっているみたい。

 (読み込まれるコンフィグファイルはapache2.confに以下の記述等があるので、確認するとよいです)
 # Include the virtual host configurations:
 Include /etc/apache2/sites-enabled/


■Apache制御

・apache起動
sudo /etc/init.d/apache2 start

・停止
sudo /etc/init.d/apache2 stop


・設定を書き直したとき
読み直しまたは再起動
sudo /etc/init.d/apache2 force-reload

sudo /etc/init.d/apache2 restart


■主要な設定値

・ドキュメントルート(デフォルト設定)
DocumentRoot /var/www/
(000-defaultに記載あり)

・エラーログ(デフォルト設定)
ErrorLog /var/log/apache2/error.log
(000-defaultに記載あり)


■CGI

・CGIを使う
/etc/apache2/sites-enabled/000-default
に以下を追加
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

・CGIがエラーのときは
 /var/log/apache2/error.log
 を確認する

例1)
error.logに以下が出力
 [Tue Jun 02 08:35:16 2009] [error] [client 192.168.0.3] Options ExecCGI is off in this directory: /var/www/index.cgi
 ↑CGIを許可する設定をしていないときに出力された

例2)
error.logに以下が出力
 [Tue Jun 02 20:04:21 2009] [error] [client 192.168.0.3] script not found or unable to stat: /var/www/cgi-binindex.cgi
 ↑ ScriptAlias /cgi-bin/ /var/www/cgi-bin
  <Directory "/var/www/cgi-bin">
   ↑コンフィグでスラッシュが抜けていた(/var/www/cgi-bin/が正解)

例3)
Internal Server Errorが出力された

error.logに以下が出力
 [Tue Jun 02 20:12:00 2009] [error] [client 192.168.0.3] malformed header from script. Bad header=test!: index.cgi
 ↑CGIのソースの中で、
  print "Content-type: text/html;charset=EUC-JP\n\n";
  を行っていなかった(ヘッダ出力忘れ)