Webcam稼動開始!

さぁ、植物観察用PCに無線LANも入ったことだし、本題のWebCAMを搭載させましょう!

おいらの持っているWebcamはこれ。実はLinuxでWebcamを利用しようとすると、ドライバーが用意されていないこともあって、機種を吟味して選ぶ必要がある。その点でLogicoolのQCAMシリーズはサポートされているものが多くて、なかなかに良い。しかも値段が最近はこなれてきているので、これもうれしい。

実は以前もこれ使ってLinuxで動かした経験があるので、それを元にこちらのブログを見て設定を~なんて思っていたら、こんなことが書いてあるじゃないですか

これはうれしいということで、早速やってみよう!まずは、USBにぶっさす!そして

lsusb

すると

Bus 001 Device 002: ID 046d:08f0 Logitech, Inc. QuickCam Messenger
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

こんな風に見える!おぉGoodJob!

では、次に画像取得するためのツール群をインストールしましょう!

aptitude install webcam

ちなみに、これ以外にwebcamdとwebcam-serverがあります。これらはどう違うかちゃんと調べていませんが、どうやらwebcamdはX上でごにょごにょするためのものらしく、芋づる式にかなりのパッケージがインストールされてしまうので却下、webcam-serverはこのサーバ上で公開するときに役に立つパッケージのようで、これも却下。シンプルなwebcamを利用することにしました。

さて、このページにも書いてありますが、manをみると、webcamの設定方法が書いてあります。これにしたがってとりあえず以下のように設定ファイルを書いてみます。

[grab]
device = /dev/video0
text = %Y-%m-%d %H:%M:%S
width = 320
height = 240
quality = 70
archive = /tmp/live_%Y%m%d%H%M%S.jpg
delay = 10

/dev/video0はちゃんと存在していることを確認すること。これで、

webcam

とすると、10秒ごとに/tmpにjpegファイルが出来上がり、カメラの画像が保存されていくはず。これはいいですな。

目標である植物観察は、この画像を連続させて動画にすることにあるので、まだ途中ですが、ここまでくればかなりそれっぽいものになってきてますね。うれしぃ~w

ではでは。

Debianでの無線LAN

昨日稼動させたDebianノートマシンを無線LANで使えるようにしたいっ!

ってことで、こんな無線LANカードを持っていたので、それを利用することにしました。

まずは、無線LANの設定のために色々調べました。そこでわかったのが、このLANカードはBroadcomのもので、チップセットはBCM4306らしい。これ、実はDebianのb43-fwcutterっていうパッケージを導入するだけで利用できるという、なんとも使い勝手のいいやつでしたw

そこでまずはb43-fwcutterをインストール。

aptitude install b43-fwcutter

よくほかのページをみると、この前のバージョンでbcm43xx-fwcutterをインストールしてとあるけど、これがlennyだとb43-fwcutterになっていて、contribに入っている

さらに、以前はWindows用のドライバーとかが必要だったようだけど、それは必要なくて、このパッケージを入れる際に質問されるドライバーのダウンロードでYesとすれば、上記のBCM43~に対するドライバーを落としてきてくれる。(パッケージに入っていないのは、ライセンスの問題のようですね。表示されるので英語を解読してください)ん~便利だ。

さて、インストールし終わったら、というか、先にこっちをやっておくべきかw 刺さっているPCMCIAの様子をチェック

lspci

で、こんなのが見れたらOK

05:00.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)

BCM4306ですな。次に

iwconfig

で様子を見る。ん~たぶんこの時点では、wlan0ってのがいるとわかるくらいで、ESSIDもないし、Tx-Powerも0dBのはず。カードのランプもついてないはずだね。さぁ、いよいよつなぐぞ。

まずは/etc/network/interfaceを編集

# for wireless
auto wlan0
iface wlan0 inet dhcp
wireless_essid essidname
wireless_key s:wepkey0123456

essidnameはESSIDを、wepkey0123456はWEPキーを記入する。ちなみに、WEPキーは「s:」の後ろに書くことで文字列で記入できる。(そうでなければ、延々と長い英数字を書かなきゃならんもんね)

さて、これで、

ifup wlan0

とする。これで、おそらくカードのランプがつくと思う。さらにiwconfigは、

wlan0     IEEE 802.11  ESSID:”essidname”
Mode:Managed  Frequency:2.452 GHz  Access Point: xx:xx:xx:xx:xx:xx
Bit Rate=54 Mb/s   Tx-Power=20 dBm
Retry min limit:7   RTS thr:off   Fragment thr=2352 B
Encryption key:xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xx
Link Quality=81/100  Signal level=-48 dBm  Noise level=-72 dBm
Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
Tx excessive retries:0  Invalid misc:0   Missed beacon:0

みたいに表示されて、ちゃんと54Mb/sで通信されていることがわかる。

ん~快適だw

ちなみに、Airstationのデフォルト設定で、同じAirstation上の無線LAN機器同士で通信ができないようになっている。これ外してやらないと、通信できなぁい!ってことで、おいらみたいにオロオロするかもです。気をつけてくださいw(有線⇔無線はOKです)

ではでは~

植物観察用ノートPCの構築

ずっと前からやってみたかった、植物観察用のアプリ作成をこの休みを利用して(というか、雨が降ってしまったので出かけるのもおっくうだからかなw)作ってみます。

まずはサーバを用意しなくちゃと思ったんで選定をば。

相方用に利用していた古いマシン(Dynabook3440)が、ASUS EeePC901-x購入→別途ノートPCを仕事で使うことに→EeePCを使わなくなる→相方へEeePCを譲渡 ってな感じで空いたので、これを利用することに。Windowsなんかをいまさら入れるつもりは毛頭なく、さっそくDebian化を。このノートPCは何度かこのようなインストールを続けてきたのだけど、実はそのたびにネットワークインストールだったり、フロッピーブートしたりして、結構面倒なことをしてきた。現在は、4000円という安さに惹かれて購入したBuffaloの外付けDVDドライブがあるので、これからブートすればいいのかもしれないが、いちいちUSBを認識させるだのなんだのがあると面倒くさい(実際にはインストーラーがこなれてきたので、そんな煩わしさはないのだろうけど)

そこで、またもやネットワークインストールをばと思ったが、これまでの経験がまったく残っていない。ほかの方のブログを参考にまた行うのもいいのだけど、自分でも備忘録として残しておかねばということでここに記述しようかと。

まずは、ここここに記述があるように、自分のメインマシンにVMware上にDebianを入れて、そこへtftpdサーバを立ち上げることに。この方法は以前から利用していて、研究で利用していたRedHat7をよみがえらせるために利用していたりした。

では、長くなりましたが、インストール方法を。

まずはVMware上にDebian(lenny)を入れる。もう最低限(基本ソフトだけ。Xも入れない。)でOK。インストール後にopenssh-serverをインストール。これで外部からアクセス可能なので、puttyでアクセスして作業を行う。(だって、VMware2.0のWebClientって使いにくいし、しかも2.0.1になったらInfrastructure Clientもなくなってるんですもの…orz)

以後puttyでアクセスして作業続行。

まずはDHCPサーバのインストール。

aptitude install dhcp3-server

インストール中に起動できねぇって怒られるけど、まだ設定ができていないので当たり前。気にしない~♪

Starting DHCP server: dhcpd3check syslog for diagnostics. failed!
failed!
invoke-rc.d: initscript dhcp3-server, action “start” failed.

次に設定。/etc/dhcp3/dhcpd.confの設定はこんな感じ。

#option domain-name “example.org”;
#option domain-name-servers ns1.example.org, ns2.example.org;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.210 192.168.1.213;
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
option domain-name-servers 192.168.1.1;
next-server 192.168.1.10;
}

host notepc {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 192.168.1.212;
filename “/pxelinux.0”;
}

重要部分しか載せていないので注意してね。

このサーバ自身のIPアドレスが「192.168.1.10」、ルータのIPが「192.168.1.1」。hardwareのところは、tftpbootする側(今回はノートPC)のEthernetのMACアドレスを記入する。filenameはこのあと用意するネットワークインストール用のファイル。

ちなみに、同じネットワーク環境上でルータが存在していて、これはDHCPサーバでもあるわけだけど、おいらの環境では問題なく、今回立ち上げたサーバからIP取得してくれる。今まで何度となくやってみたけど、この辺で問題になったことはない。なぜだかわからんので、今度調べてみたいなぁ。

次はtftpdのインストール。Debianでは3つのパッケージがあるけど、推奨されているのはtftpd-hpaなので、それを利用する。

aptitude install tftpd-hpa

すんなり入るはず。次に設定。/etc/default/tftpd-hpaを編集。(これは明示的にtftpdを動かすためのものなので、特に必要はない)

RUN_DAEMON=”yes”

で、起動。

/etc/init.d/tftpd start

そしたら、tftpdのルートディレクトリに、ネットワークインストール用のデータを用意してやる。

cd /var/lib/tftpdboot
wget ftp://ftp.riken.jp/Linux/debian/debian/dists/stable/main/installer-i386/current/images/netboot/netboot.tar.gz
tar xzvf netboot.tar.gz

これで準備完了。ノートPC側でネットワーク起動をしてやればいい。今回のノートPCでは、起動時にF2キーを押して、Nキーを押すとネットワークブートする。自動でDHCPサーバからIPとって、filenameで指定したファイルを持ってきて、インストーラが起動するはず。

あぁ、書くのに疲れたw

まぁ備忘録なんで人の参考になるかはわからないけど、誰かの何かの足しになれば…。ではでは。

Cron.dailyの罠…

罠…ってほどでもないんだけどね。

運用しているサーバで、DynamicDOのDDNSサービスを利用しているのだけど、IP更新スクリプト(ファイル名「ddo.jp」)を自前で書いてcron.daily配下においておいたら…どうやら、更新されていない。で、1ヶ月以上経っちゃうからアクセスしないと削除しちゃうよ~的なメールが来た。

ついでに、NTPで時刻合わせもしたいので、まぢめに調べることにした。で、なぜだろう?なんて思っていたら、これまたネット徘徊の結果、以下のページにぶち当たる。

2007/04/16-05、ntpdate – debian-etch に関するメモ:

う~ん、「.(どっと)」が含まれてるとアカンのですか…しらなかったよ、そんなこと。で、修正したら、直りましたとさ。めでたし、めでたしw

IEって、ほんとにまぁ…

ApacheでDigest認証をさせていたのだけど、サーバ移転やら何やらでゴタゴタしてたら、IEでアクセスできないことに気づいた。ちゃんと説明すると、

  • トップページにはつながるけど、CSSが読めていないので、PukiWikiがおかしく表示される。
  • ほかのページへのリンクは、404がでる。
  • Tracなんかはちゃんと表示される。

ん?どしたの?って感じだったのだけど、出てくるエラーは。

Digest: uri mismatch – does not match request-uri , referer: http://hogehoge.com/hoge.php

みたいなもの。

症状からPukiWikiのバグかなぁなんて思っていたのだけど、これが何をやっても解消されない。。。(>_<) で、いつものごとくネット徘徊の結果、おんなじ現象の人にたどりつく。こういう方がいるのは本当にありがたい。

Apache on Linuxと格闘

しかし、この記事、2007年の記事だな…。ってことは、それ以降進歩なし!?ん~何とかしてくらさい、M$さん。orz

具体的には、/etc/apache2/apache2.confに以下を追記。

BrowserMatch “MSIE” AuthDigestEnableQueryStringHack=On

これで、ちゃんと表示されましたとさ。

PukiWikiでのHTTPSの扱い

びっくりした。

まず、httpsでの接続をデフォルトポート(443)から、別のポートに変更して、PukiWikiにアクセスしようとしたら…。

フロントページはちゃんとSSLでアクセスするのに、そこからのリンクは、どのページも通常のhttpになってしまう。

これはなんぞバグですかい!?って感じだったのだけど、解決方法を見つけた。先人に感謝。

ようするに、リンク張る部分のバグですな。まぁ、あまりポートを変更して表示するような人がいないってことかな(w

なんにしても、解決してよかったよかったw

Debian Lennyリリース

気づかなかった。。。さっきまで。2月の頭にリリースされてたのね。。。。

仕事でDebianインストールして、Etchが最新版だと思っていたら、ネットで情報集めていたときに「Stable(Lenny)」って。。。w

いや、毎日チェックしているわけではないけれど、昔ほど追っかけなくなったなぁw

Debianized Apache…. なんでですか!?

現在構築して利用しているDebianのサーバ。これのConfigureなんかもどっかに掲載しないとなぁ。

で、苦しんでいるのが、Apacheのmod_dbdによる認証。これ行おうとして、モジュールロード・設定って行うと、Apache再起動やリロードを行うと必ず、

*** glibc detected *** corrupted double-linked list: 0x0835a778 ***

みたいなのがログに残る。どうやら、このモジュールの潜在的なバグが出てきてるみたい。取り急ぎは問題ないから、これで使ってしまおうかなと思うw(^^;