« 2013年4月 | トップページ | 2013年6月 »

2013年5月の2件の記事

2013年5月30日 (木)

RaspberryPiでウェブカメラは簡単に動いた

千石でもう一台RaspberryPiをゲットした。やはり電源が不安定(5/13/2013)
 RaspberryPi(以下RasPi)でSAMBAが簡単に動いたので、すっかり気分が浮かれ、カメラのことを忘れてSAMBAサーバーと少し遊んでみた。最初テストしたディスク2.5インチHDD(40GB)だけでなく、このあいだジャンクで買った3.5インチのHDD(160GB)でも試してみる。

  これも何の問題もなく動いた。160GBのNTFSディスクがいとも簡単にPC画面に展開された。このUSBのHDDアダプター(グリーンハウスGH-USHD-IDESA ¥1611と格安)はAmazonでポチッとしたやつで、バラックだけれど、2.5/3.5 IDE/SATA四種類のHDDをつなげる。S_p5285888

  HDDのために、ノートPC並みのしっかりした電源を用意しているので、RasPi周辺には全く負担がかからない。動作に今いち不安のあるSDカードでのNAS(リモートドライブ)は考えられないけれど、HDDでならその心配もなくなる。

  速度はネットワーク転送速度(100Mbps)の半分近くある。ちょっとしたファイルの共通の置き場所にはもってこいだ。しかも消費電力は、RasPiだけで4W以下、2.5インチHDDなら全部で10W以下で納まるだろう。地球にやさしいサーバーだ。RasPiをファイルサーバー用にもう一台欲しくなった。

  このところの激しい円安で、RasPiも早晩、値上がりしそうである。折も折り、simさんのブログ(というより最近はツイッター記録だが)で千石電商でもRasPiを売り出したことを知った。値段を調べてみるとこれが安い。直販のRSコンポーネントはBモデルが$35で、今のレートで¥3500だが、送料が$8ちょっとかかるので、千石の値段¥4410なら殆ど同じだ。

 仕事の帰り、久しぶりに秋葉原に寄る。千石本店の2Fに上がって、商品棚を見回したがそれらしいものはない。店員に聞いたら中から出してくれた。ポップは、カウンター下の釣り広告の形で大きく出ていた(余り大きいとかえって目立たない)。

  買って帰って、まずとるものもとりあえず通電する。最初の目的は、前回のトラブルの個体差の確認である。SDカードは前のものを流用した。順調に立ち上がった。暫く様子を見る。ハングアップやフリーズはしなかったが、小一時間もしない間にIPアドレスが消えてネットが落ちた。

 ふーむ、やっぱり電源不調は、個体差ではなかったようである。買ってきたものに貼られたシールを見ると、型番はE1213RS2V13B1.0で、最初にRSから買った基板は、E4912RS2V13B1.0であった。これは恐らく、最初の文字列が生産週で2013年12週(3/25頃)、前のやつは、2012年49週(12/9頃)と推定される。品物の入手時期からみて、ほぼこの推定で合っているだろう。

  最近の書店には、RasPiのガイド本が沢山目に付くが、余り、このあたりに言及した記述は少ない。ウェブでも特に大きな話題になっていないが、生産年月の離れた2台が同じ症状となると、これは早晩、問題になる不具合の可能性が高い。

  当面の対策として早速、新しい基板のポリスイッチの部分もショートして対応をとる。これでとりあえずのネットの不具合はなくなった(ただし、これから安定的にRasPiを使いこなそうという方は、あとから述べる別の電源補強策をお勧めする)。

Ubuntu12 Linuxでのウェブカメラ(5/14/2013)
  それはともかく、ウェブカメラである。とりあえずはLinuxとして最近入れたPCのUbuntu12の方で、USBカメラが動くかどうかを試す。ウェブ情報によれば、UVC対応なら何の細工をしないで動くという。当研究所に現在あるUSBカメラは、ネットブック(Eee PC S101)に内蔵のものを除いて、2つある。

S_p5285889  ひとつは随分昔に秋葉原の安売り店(秋葉王だったか)で買った、接写用のマイクロスコープ(ピントを調節すれば遠景撮影可能)で、もうひとつは、先日このために買ったワイヤレスウェブカメラ(エレコムBSW3KMW01)である。

  まず、マイクロスコープを試してみる。ディバイスをUSBハブに差すと、/dev/video0があらわれた。教わったコマンド、lsusbで中味を確かめる。Aver technologyというメーカー名が出る。ウェブによると中国製のチップメーカーのようだ。

  Linuxでの画像キャプチャーソフト、fswebcamをインストールする。それにしても、このapt-getというインストールシステムは実に具合が良い。どんなパッケージもいとも簡単にインストールしてしまう。昔の苦労がうそのようだ。

 今度も、apt-get install fswebcam と入れるだけで順調にインストールできた。コマンドとしてfswebcam output1.jpgなどとやると、カレントディレクトリのoutput1.jpgファイルに画像をキャプチャーしてくれる。試してみた。何の問題もなく画像がとれた。

  何だ簡単じゃないか。ただし、JPEGの静止画のキャプチャーだけである。もともとはマイクロスコープなので画質は今ひとつだが、これをスクリプトか何かで連続して画像をキャプチャーし、その画像をリンクするcgiを作ってapacheあたりで公開すれば、ウェブカメラの実現である。夢がぐっと近づいた気がする。

S_p5285892 気を良くして、いよいよ本命のワイヤレスウェブカメラの方のテストに移る。このあいだウェブであまりの安さに衝動買いしたワイヤレスカメラだ。2.4GHzで画像を飛ばす装置が、¥1000台で買えることを知って、思わずポチッとしてしまったやつである。

  WindowsXPでは、先のマイクロスコープのビュワーで問題なく映ったので、これもUVC対応ではないかと考えられる。ただ画質はマイクロスコープより少しましという程度でお世辞にも良いとはいえない(恐らく30万画素)。

  しかし、これはLinuxでは、うまく映らなかった。USBドングルを差すと/dev/video0というUSBカメラのディバイスファイルが生成され、はずすとファイルは消える。UVCカメラとしての認識はしているようだが、fswebcamはエラーを吐いて動かない。

Photo  USBの状況を表示するコマンド、lsusb -v -sY:XX (Yはバス番号、XはディバイスID)で見てみると、詳しいディバイス情報が出てくる。それによると、このディバイスは、wireless web cameraという通常のUSBカメラと別のカテゴリーになっている。やはり別の設定が必要なようだ。

 どこかのステージまではUVCとして生きているようだが、ワイヤレスのところでひっかかる。残念ながら、ドライバーが未対応のようである。まあ、安いパーツなのでこれ以上深追いするのはよそう。

RaspberryPiでUVCカメラを動かす(5/16/2013)
  ワイヤレスウェブカムは無理だったが、USBマイクロスコープはすんなりUbuntuで動いたので、いよいよRasPiで試してみることにした。まず、何もしないで、マイクロスコープのUSBケーブルをRasPiにつないで立ち上げてみる。

  おおう、dmesgでそれらしいディバイスを認識したメッセージが出ている。これは良さそうだ。起動が終わる。早速ログインして、/dev/video0のディバイスファイルを確認する。あった!UVCカメラが動きそうである。とるものもとりあえず、apt-getでfswebcamをRasPiにインストールする。

  少し時間はかかったが、fswebcamは、RasPiでも順調にインストールされた。動かしてみる。PCのUbuntu同様、何事もなくあっさり絵が保存できた。グラフィックのデスクトップで画像を確認する。問題ない。余りにも楽に画像が出てきたので、完全に拍子抜けである。

 何だ、何だ。ウェブ上で簡単だとは書いてあっても、信じていなかったのだが、問題なく画像がとれた。ライブカメラの一番重要な部分、画像キャプチャーの機能は、いとも簡単に実現された。

Output530  さあ、これからライブカメラのためのストリームサーバー構築だと張り切って、ウェブを調べているうち、もっと簡単な方法を見つけた。Linuxのパッケージにmotionというのがあり、これだけで、いちいちcgiなどでストリームサイトを作らなくても、ストリーミングできるというのだ。

  最初、このmotionというのは、動体検知などロボットなどに使う高度な機能を持った専門的なパッケージだと思っていたのだが、色々なサイトで、これを使って簡単にライブカメラを実現している報告を見つけた。

  LinuxやUnixの開発の流儀は、要素の部品だけをプロ集団が作り、それをユーザーが組み合わせて大きなシステムにするというやりかただと思っていたのだが、昨今は、こういう統合的なパッケージも盛んに開発されているようだ。

 RasPi程度のマシンでmotionが動くか少し心配だが、ウェブ上にはちゃんと動いている例もある。まあ重すぎて動かなければ、当初考えた方法に戻れば良い。導入して試してみるに越したことはない。

motionであっけなくウェブカメラ稼動(5/17/2013)
  言われるままmotionとffmpegパッケージ(motionの部品として必要)をインストールする。RasPiはエラーもなく、2つのパッケージの導入を受け入れた。

  わくわくしながら、設定ファイルを定義し、システムを立ち上げ直す。何とストリーミングサーバーがあっけなく稼動した!全くトラブルなし。320X240のサイズだが実に簡単に動く。フレームレートが低いので、手を振ると飛び飛びの映像になるが、画像が送られていることに間違いはない。

  一体これは何なのだ。フレームレートが低いのは設定のせいか、Raspiの性能限界かわからない。カメラはマイクロスコープ用のものなので、遠景は綺麗に写らない。それでも、ウェブ上で時々公開されているライブカメラ程度には映っている。

  こんなに早く映像ストリーミングが実現して何か狐につままれたような気分である。何度も画像を確かめる。間違いない。フレームレートが低いので、人間が動くとボケ映像が出るだけで、2~3fps程度にしかなっていないようだが、そこで何が起きているかくらいなら判別可能である。

  カメラを換えれば画質の向上は期待できそうだ。いやいや宿願のウェブカメラは、全くソフトの開発なしに、しかも何のトラブルもなく実現してしまった。1Fの居間にカメラを置き、地下の工作室(応接間、オーディオルームを兼ねている)のPCでライブ映像を暫く楽しむ。

  猫が通ったり、家族がTVを見たりしているのが確認できる。家族は事情を知らないのでまるで「覗き」をしているような、後ろめたいけれど何かぞくぞくした気分になる。自分の家族でも変な気分である。

Raspi0517  フレームレートが低いので動きを捉えるのは難しいが、カメラが左右上下に動けば、もう実用性は十分だ。まだまだ先の話だと思っていたライブカメラが急速に現実に近づいてきた。あとは、自宅のネットワークから外に画像ストリームが出せるようにすれば、遠隔地ライブカメラの実現だ。

UVC対応の高品質のウェブカメラを入手。これも問題なし(5/19/2013)
 画質の向上のため、ワイヤレスウェブカメラを諦め、別のカメラを導入することにした。といってもわずか¥1000少々の値段である。UVC対応では名の通った、Logitech(日本ブランドLogicool)のC270を買うことにした。

 Amazonはどんな安い商品でも送料無料なのでつい不要なものまで買ってしまうが、今度は躊躇せず大威張りで発注のボタンを押す。3日で届いた。早速試してみる。まずWindowsのローカルで動作確認する。いやあ、実に綺麗だ。地デジテレビ並み(720dpi)の画質である。

S_p5265872

 Ubuntuでも問題なく映った。今度はRasPiでのストリーミングだ。前のマイクロスコープ(30万画素)に比べるとフレームレートが落ちるだろうと危惧したが、殆ど変わらない。画質は320X240に落ちているのだが、はるかに解像度は高い。これでフレームレートが上がれば、もう実用的には申し分ない。

 フレームレートの向上は手を焼いた。motionには沢山の設定パラメーター(/etc/motion/motion.conf)があるのだが、色々いじっても改善される気配がない。試しに、PCのUbuntuにもmotionをインストールして動かしてみた。これが何と、RasPiと同じようなパラパラとした映像しか流れないではないか。

 何ということだ。フレームレートが低いのはCPUパワーのせいではないことがこれではっきりした。フレームレート向上に大きな望みが出てきた。しかし、どこから調べて良いのかわからない。apt-getでインストールが楽になった反面、中味を全く知る機会がなくなってしまった。

 これは少し時間がかかるようだ。とりあえずは画像が出るので、色々調べながら次のステップに移ることにする。この画像ストリームを自宅外から見られるようにするステップである。

そろそろ外部に出すしかけを調査し始める(5/24/2013)
  当研究所のネットワーク環境は、KDDIのAUひかりである。もちろん固定のグローバルIPアドレスなど持っていない。 自宅内のLANの中にいるRasPiを外からアクセスするには、色々な仕掛けを作らなければならない。

  ネットワークについては、現役時代、理論や仕組みをずいぶん勉強したが、実際にこうした自宅環境で外とのサーバー接続をするのは初めての経験である。ネットで改めて復習する。昔と状況は余り変わっていないようだ。

  まず、グローバルアドレスが不定なので、ドメインネームを貰うことが必須になる。そのためには、そのときのIPアドレスとドメインネームを動的につなぐDDNS(ダイナミックDNS)のサービスを受ける必要がある。

  DDNSのサービスは国内外あわせてさまざまな会社が提供しているが、無料サイトというのは継続性に欠けて少し不安なので、有料を探す。やっぱり使い慣れたプロバイダーにしておくのが無難だろう。20年近く付き合っているNiftyが有料サービス(サブドメインなら月¥200)をしているので、これを使うこととする。

  ところが、NiftyのDDNSは、取得したIPアドレスと、そのドメインネームとの接続は、手動が原則で、DiCEのような自動的な接続サービスは、サポート外だと言う。これは困った。ライブカメラは無人運転が原則なので、自宅に割り当てられたIPアドレスが変わるたびに、繋ぎ直すようなことはしていられない(グローバルアドレスはプロバイダーが勝手に変える)。

  なおもネットを調べていくうち、Niftyはサポートしないだけで、DiCEなどのツールを使うことに特に制限はないということがわかった。どうもこのあたりのサービスに対してプロバイダーは、極めて冷淡で、だいたいNiftyのポータルサイトからDDNSの情報には簡単にたどり着けない。

  最近のプロバイダーは新しい無線系のインフラ普及にばかり熱中していて、手間ばかりかかって余り金にならないこうしたサービスはなるべくやりたくないと見える。本当は、こうしたエンドユーザーからの情報発信が容易になって始めて、地についたネットワーク社会になると思うのだけれど、まあ、愚痴を言ってみても始まらない。

  DiCEも調べて、必ずしもこれを使わなくても自動接続は出来るということがわかる。RasPiのほうで、crontabなどに常駐スクリプトを入れてネットを監視し、変更があればプロバイダーのサイトにアクセスして修正するソフトを開発すれば良い。そう、これがUnix流である。

 DDNSについてひととおり目途がたったので、次は、ルーターの設定の検討に入った。一旦ポートを開けたら最後、世界中を飛び回っているネット荒らしのクラッカーやロボットの来襲(ポートスキャンなど)を覚悟しなければいけない。安易な設定ではRasPiが乗っ取られる。

 書棚からマニュアルを探し出し当研究所のルーター、Aterm BL190HWのセキュリティ機能を調べ始める。まあ基本的なことは大体出来そうだ。パケットフィルタリングのエントリも十分あるし、ポートマッピングでRasPiのローカルIPアドレスを決めうちにして、このマシンにだけ、ストリーミングのTCPパケットを許可する。当面はこれくらいで良さそうだ。

RasPiを直給電でテストしている。全く問題なし(5/27/2013)  
  2台目のRasPiが安定しない。1台目はポリフューズ(スイッチ)をバイパスして全く安定したのだが、2台目も同じ処置をしたのに安定しない。長時間ネットにつないでいるとたまに落ちる。SAMBAやウェブカメラは長時間、無人で動かすのが前提だから、これでは困る。

  ストリーミングも最初、長時間動かすと受け側のPCが不安定になるので心配したが、これは、ブラウザーのFireFoxの不具合であることがわかった。motionで送られた画像を長時間見ていると、仮想メモリが際限なく増えていき、最後にハングする。いわゆるメモリーリークである。

  そもそもIEは、最初からこのmotionのストリーム映像を受け付けない。GoogleのChromeは全く問題がなかった。これを常用のビュワーソフトにしよう。

 ビュワーのトラブルはともかく、Raspiの安定化は急務である。ライブカメラなので長期間の安定稼動が必須である。解決策を色々模索する。やはり、GPIOピンにでているVccに直接5Vを供給するのが一番の解決のような気がする。

S_p5265881  そこで、シリアル端末のケーブルと一緒にピンソケット(2X6)からUSBタイプAプラグにつなぐ電源ケーブルを作った。ケーブルは少し太いワイヤーを使う。Aプラグは半田付け後、ホットボンドをつけて絶縁し、セルフパワーのハブにつなぐ(スレーブ側であることに注意)。

 このソケットをRasPiのGPIOピンヘッダーに差し込む。これで電源は、細いUSBマイクロソケットを経由せず、直接Vccに供給される。一式を1Fの居間に持ち込んで長期テストに入った。半日以上放置したが、2台目のRasPiも見事に稼動し続けた。

 これからRasPiを安定的に稼動させようと目論んでいる方は、このGPIOからの通電が一番のお勧めである。ここからなら普通のACアダプターからの給電も問題ない。

| | コメント (1) | トラックバック (0)

2013年5月12日 (日)

機嫌の悪いRaspberryPi基板を飼いならす

 暮に買って、そのままになっていたRaspberryPi(以下、Raspi)を次の電子工作プロジェクトのテーマにすることにした。

 Raspiを動かす目的は、宿願のウェブカメラを実現することである。ステッピングモーターで、カメラのパン(左右角)とチルト(仰角)が出来るようにし、遠隔地から制御する。最初は妄想に近かったが、秋月でステッピングモーターを買い揃えるなど少しづつ準備を進めてきている。

 ウェブカメラには、追い風もある。以前は自宅の様子が外から見えるなどと言うと、それだけで家族の強い反対が予想されたが、最近は飼い猫の状態監視という強力な使用目的ができた。いたずら好きの猫なので、外から何をしているのかがわかると言うとカメラ設置に諸手を上げて賛成された。

 Raspiの動作例は、このところネット上で沢山見ることができる。BeagleBoard(以下BB)に比べれば1/3のコストだし、GPIOが簡単に制御出来そうなのも魅力だ。最近のInterFace誌もRaspberry特集を組んでいる。

 まだまだ下調べが必要だが、気分を高めるためにケースに入ったRaspiをPC S_pc225522机の上に持ち込んだ。これまでの工作、FETスイッチはブレッドボードにつけたまま、デジタルアンプごと横の棚に文字通り棚上げする。スピーカーのミュートスイッチが今壊れているわけではないので、急ぐ話ではない。

 Raspi動作に必要な付属機器、ケーブル類を用意する。シリアル端末用のUARTケーブル、USBハブや、マウス、キーボードなど、以前のBBに使ったものがそっくり流用できる。

 電源をどこからとるかが悩ましい。それに基板が小さいから仕方がないのだが、コネクターが基板の4辺全部についているので、たくさんのケーブルが基板から飛び出し、扱いにくい。いずれもう少し大きなケースに入れてケーブルをまとめる必要がある。

 数多くの導入記録や、ウェブカメラの稼動例もある。簡単に動きそうだと気楽にとりかかった。ところが、このRaspi意外と気難しいのだ。BBに比べるとコストが安いだけ電源のマージンが少ないのだろう。安定して動作するまで結構な時間がかかった。以下は、その顛末である。

色々な理由でUbuntu12をPCにインストールしなおす(5/1/2013)
 プロジェクトの工程は、PCのLinuxのインストールから始める。4年前のBBのときにUbuntu9 を入れて以来である。時間が経ちすぎているのでupgradeは諦めて、最初から入れ直す。なぜRaspiの前にPCのLinuxをインストールし直そうとしているのか。

 ウェブカメラのインターフェースはUSBのUVC(USB Video Class)を予定している。実際のカメラも用意してある(BSW3KMW01ワイヤレスウェブカメラ ¥1580という安さ)。Skypeなどの普及で、この種のカメラは驚異的に安くなった。

 無線とはいえ、UVCクラスをサポートしているので(別の会社のUSBカメラビュワーで簡単に動いた)、Linuxでも特別なドライバーを必要とせず、動くはずだ。

 ただ、RaspiのLinuxがこのUVCをサポートしているかが問題である。Ubuntuなら最初からドライバーが入っている。まずLinuxで動くことを確認しておこうと思った。

 調べたところでは、UVCはカーネル 2.6.26以降は標準で入っているようだ。Ubuntuは10.04以降が2.6.37なので問題なし。現在のUbuntu最新バージョンは、12.04である。ただ、Raspberryで動くUbuntuは今のところ探し出せていない。ARMで動くかが問題だ。

 Raspiの代表的なOS、RaspbianのLinuxのカーネルバージョンは調べたら、3.6.1だった。バージョン的には全く問題ない。仕様上は、UVCはあくまでもUSB上のプロトコルであり、USBが動くのであれば、固有のハードのディバイスドライバーは必要としないはずなのだが、こればっかりは動かしてみないことにはわからない。まずはLinuxでのテストをやっておきたい。

P5125867  それと、PCにUbuntuを入れ直したのは別の理由がある。以前インストールしたUbuntu9がアップデートに失敗し、動かなくなっていたので、RaspiのインストールにLinuxマシンが必要だと思っていたことである。しかし、これは結果として必要なかった。RaspiのOSインストールはBBに比べると遥かに簡単でLinuxを必要としない。

 PC上でのUbuntu12のインストールは順調に進んだ。4年前にBBの導入の時入れたUbuntuは9で、今度のバージョンはもう12である。早いものだ。最初、最新版を入れようと思ったら、インストールCDは何と、CD-Rでなくて、DVD-Rを要求された(800MBを超える)。

 最新版より少し前の、CD-Rに入る最終バージョン、12.04.01にして、この前のLinuxのディスクスペースにreplaceする。ブートセッションのGRUBの部分の切り替えが余り上手くいかなくて、2段ブートになってしまったが(最初のGRUBでWindowsを選ぶと、さらに前のGRUB選択画面が残っていて出る)、とりあえずLinuxとWindowsXPは動いた(後述:この2段ブートは、Windows側のboot.iniをいじって解消できた)。

RasberryPiはあっけなく動いたが(5/3/2013)
 PCにLinuxが入ったので、次はいよいよRasPiである。ウェブにはもう無数の導入記がアップされていて、何を参考にすれば良いのか迷うほどだ。

 BeagleBoard(BB)のときのようにディスクをフォーマットしたり、中間的なブートローダーのインストールも必要ない。出来上がったシステムディスクのイメージをそっくりSDカードに焼いて、そこから直接ブートして立ち上げるようだ。

 沢山のインストール記の中から、このあたりや、ここなどを参考に、2GB近くのディスクイメージをネットからダウンロードし、CDを焼く時のように、一気にSDカードに放り込む。OSは最も定番のRapbian(バージョン"wheezy")を選んだ。

 ディスプレイが1台しかないので、HDMIからの出力はとりあえず後にして、参考にした記事のようにRaspiのGPIOピンにあるシリアルにUARTをつないでPCにコンソール端末を作る(TeraTerm)。これはとても重宝した。どんなときでもこのシリアル端末だけは生きていて、今、システムが生きているのか、死んでいるのかがすぐわかる。

 BB用に買ってあった電源つきUSBハブに、これもBBで使ったワイヤレスキーボードやUSBマウスをつなぎ、いよいよ動作テストに入る。

 マイクロUSBの電源用のUSBプラグにはPCからのUSBハブを差して電源ON。おお、順調にコンソールにブートメッセージが出て、一発でRaspbian OSが起動した。あっけないものである。

 UARTコンソールからログインする。問題ない。ネットはどうだろう。よーし、pingが通る。すごいぞ。HDMIケーブルをディスプレイにつけて、次はGUI関係だ。うむ、Raspberryのおなじみのロゴが出た。マウスも動いている。端末を出してみる、と、カーソルが止まった。

S_p5055851  シリアル端末を見ると、カーネルパニックで落ちているようだ。正確にはカーネルデバッガーのKDBのプロンプトで止まる。どうも電源が不安定なようだ。PCのUSBハブから給電したり、専用の5Vアダプターからも供給してみる。

 しかし、専用の5VアダプターをUSBプラグに給電する最も安定しているはずの電源が一番不安定で、まともに立ち上がらない。USBのハブからの給電であるかどうかをソフト的にチェックしているのだろうか。

 BB用の専用のUSBハブからの電源供給が一番安定しているようだが、それでもちょっと重いアプリを立ち上げるとひんぴんと落ちる。そのうち、ページエラーなどのメッセージを吐いてシステムそのものが立ち上がらなくなった。ファイルシステムはSDカードなので、ファイルを壊してしまったらしい。

 仕方なく、SDカードのカーネルイメージを元から作り直した。さらに専用のハブのスレーブ機器側からUSBコードをRaspiの電源用マイクロUSBに接続し(今まで逆にしていた)、これで殆ど落ちることはなくなった。しかし今度は、ネット接続が不安定になって度々回線が切れる。それにキーボードがまだ動かないので、HDMIから出力するXのデスクトップはまだ使い物にならない。

ワイヤレスキーボードが動かないのは別の理由(5/5/2013)
 この写真を見ていただきたい。これはワイヤレスキーボードの電池ホルダーの拡大写真である。良く見ると、電池のプラス極が、両側のケースの枠に微妙に遮られて端子と接触していない。その差は恐らく0.1ミリ以下なのでちょっと見ただけでは接触しているように見える。

Keyboard_trouble  このワイヤレスキーボードを使ったのは、4年前のBeagleBoardのインストール以来である。Raspiで動かす前に、PCで確認したところでは、USBに差すアダプターは問題なく認識されたが、キーボードとアダプターの間の無線接続ができていなかった。

 電池電圧を調べると、完全にへたっている。そりゃそうだもう4年も経っている。新しい電池に取り替える。しかし、前と変わらない。ありゃあ、もう壊れたのか。試しにテスターで電池ホルダーの接点電圧を測ってみた。何と0V。ショートは考えられないので接触不良だろうが、電池はしっかりホルダーに固定されている。

 念のため、接触面をやすりで磨いて見るが変わりはない。分解したところで原因がわかるわけでもないが、とにかくおかしいのだから中を見るしかない。10個以上もあるネジをはずして(一つが、分解されたくないのか6角のトルクスネジ)、キーボードを分解した。

 中はきれいなもので、ショートなどの形跡はない。間違いなく接触不良だ。しかし、ホルダーと配線の導通はあるので断線でもない。それなのに電池を入れても電圧が出てこない。電池との接点も特にさびてもいない。一体これはどうしたことか。

 で、写真のような状況を発見した。電池のプラス極の高さは規格があるのだろうけど、このケースは何かいやがらせをするように接点端子の枠が高い。まあ、原因がわかれば解決は簡単である。ナイフで両側の邪魔している枠を削りだすだけである。

S_p5125862  とにかく、このトラブルで半日つぶれてしまった。分解しなければこの不具合は発見できなかったことは間違いない。このエレコムのワイヤレスキーボードTK-FDP001WHをお使いのみなさんは、電池交換のときには十分注意されることをお勧めする。

すごいHDDまでマウントできた。しかし、まだ薄氷状態(5/6/2013)
  机の上を配線で一杯にしながら、RasPiのテストを続ける。ディスクイメージを入れなおし、電源をひとつのUSBハブに設定して何とか安定して動くようになった。キーボードも動いた。しかし、Net関係がしっくり動かない。IPアドレスが消えるのだ。

 不思議なことに、ifconfigやrouteなどで消えたIPアドレスやゲイトウエイアドレスを設定すると元へ戻る。これで暫くネットがつながり、SSHなどのtelnet端末も動くが、インターネットなど少し負荷の大きいデータ通信をやると、いつのまにかネットが切れてしまう。謎である。

S_raspi_  それにしてもUNIXのコマンドを見事に忘れている。何かの度に、ウェブのお世話になる。それでも少しづつ、デスクトップの整備も進んできて大分色々なものが動くようになった。

 ネット上には、沢山の人が、あらゆるLinuxの機能をRaspiで試し成果を発表されている。リモートデスクトップも出来るようなので、これもやってみた。 言われるままパッケージをインストールし、コマンドtightvncserverというコマンドを入れるだけである。見事に、PC上でRaspiのデスクトップが動いた。

S_p5125859  IDEのハードディスク(こわれたノートPCから取り出した40GB)をUSBアダプターにつけてマウントしてみた。Raspiは、これも苦もなく認識する。もちろん、Vfatでマウントも出来る。驚いた。

ハングはしなくなったが、ネットが落ちる(5/7/2013)
 ウェブサイトの薦めるままスワップ領域を広げるなどして、カーネルが落ちることは殆どなくなった。日本語化パッケージも何とかインストールできた。しかし、ネットワークは依然安定しない。

 telnetくらいの少量のデータでは落ちないが、Raspiのブラウザー(Midori)で外部のサイトから重いデータを取ろうとすると大抵途中で回線が切れる。内蔵のEtherNetよりUSBのEtherアダプター(FEther USB-TXC)の方が安定している。

 画面の描画など全体の速さは、前のBBより少し早くなっているが、まあ、まだ実用的な速さではない。ただ、今度のウェブカメラの解像度は、320X240程度なので問題はないだろう。

 環境整備は進んでいるのだが、ネットでは不可思議な現象が続いている。ネットの状態を表示したり設定したりするコマンドifconfigからIPアドレスだけが消えるのである。試しに外から設定したアドレスでpingをかけると、ちゃんと戻る。しかし、Raspiからはネットに出られない。

 ifconfig eth0 inet XXX.XXX....と設定し直すと何事もなく復帰する。このとき大抵ゲイトウェイアドレスもなくなるので、route add default gw XXX.XXX....を追加すると元へ戻る。しかし、暫くするとまた切れる。

 ネットに負荷がかかると落ちるようだ。内蔵のEtherより、USBを経由した外付けEtherの方が安定しているので、どうもハード臭い不具合なのだが、外付けEtherでもたまに落ちることがある。エラーメッセージが出ているわけでもないので手の出しようがない。

 あらためてネットを探すと、これが結構、みんなが難儀していることがわかった。ただ、ハングアップやフリーズの問題だけで、ネットがおかしいと言う報告は余りない。

基板のポリスイッチの抵抗値が高い(5/9/2013)
 Raspiのトラブルの殆どの原因は電源関係のようである。去年の秋あたりから問題になっている。china製以外にも、本国でつくるUK製もあって、こちらは大丈夫だという話だったが、あとの報告でUK製もトラぶったようだ。

 結局、本家のフォーラムで紹介された、USB電源入力についているポリスイッチをバイパスする手法で、この問題は解決したようである。このあと、ネットへの障害報告が急減している。

 ただ、Raspiは、このポリスイッチを経由せず、電源を供給することも出来る。RaspiのGPIOには、5Vピンが出ており、こちらはポリスイッチを通らない。そこで、GPIOピンからジャンパーでACアダプターの5Vを供給してみた。

S_p5085857  これが完全な「当たりー」であった。ハングはおろか、ネットも全く問題なくなった。どれだけ大量のデータを受信しても、何時間放置してもびくともしない。やっぱり電源が悪かったのだ。

 考えてみれば、Raspiの正規の電源供給コネクターは、USBの中でも一番小さなマイクロBコネクターである。ここへ1A近い負荷がかかる(0.7A)。ただでさえレギュレーションが問題になるところに、ポリスイッチが入っている。電源環境はお世辞にも良いとはいえない。

 試しに、秋月で買った例の精密LCR計(DE5000)を取り出し、Raspiのポリスイッチの抵抗値を調べてみた。0.4Ω。ふーむ、ちょっと大きいか。手持ちのポリスイッチ(0.9A 1.8Aで遮断)を測ってみると、0.1Ω以下である。

 折角ついている保護装置をはずすのには少し抵抗があるので、Raspiについていたポリスイッチを低温ハンダではずし、この手持ちのポリスイッチをつけて動かしてみた。小一時間動かして、ネットが落ちた。やっぱり、バイパスするしかないようだ。とりはずしたRaspiの表面実装のポリスイッチは、熱をかけすぎたのか抵抗値は、4Ωに増大していた。

S_p5125858  専用のピンソケットで5Vを供給するのが究極の解決だと思うが、しばらく、このポリスイッチもバイパスして動かすことにする。それにしても電源って本当に大事なものだと痛感する。バイパスしたあとは、前のGPIOピンからの供給と同じように安定している。

SAMBAはあっけなく動く。いやあLinuxだ(5/10/2013)
 カメラはPC Linuxでのテストも済んでいない。どうしようか迷ったけれど、カメラの前にやりたいことが沢山ある。で、そのひとつ、BBでもやりたかったこと、NAS(Network Attatched Storage)の実験をすることにした。

 娘が次々に嫁いだ(嫁ぐ)ので、実際の需要は少なくなったのだが、家の中の共通ファイルサーバー構築である。昔からある、LinuxでWindowsのリモートフアイルをサポートするSAMBAサーバーを動かす。BBでやるつもりがそのままになっている。

 折角の機会なのでこれを実装してみることにした。BBのときと比べると情報が豊富になっている。調べてみると至極簡単なようだ。2つくらいのパッケージを落としてきてインストーラーを動かすだけである。

 15年以上前、乏しい情報を頼りに、会社でこのサーバーを立ち上げた時のことを思い出す。高価なWindowsNTのライセンスを買わずにいくらでもネットワークサーバーが作れたのだから大いに喜ばれた。ただ、ユーザーには評判になっても、関係者には「部長の道楽」と不評だった。

 おっと昔話はこれくらいにして、現実に戻ろう。実際の操作は、例のapt-getというパッケージインストーラーを2つ出すだけである。やってみた。ネットワークが安定したので安心してみていられる。

S_samba  順調にパッケージがダウンロードされ、勝手にインストールが始まった。設定ファイルを書き足して、あとは再起動するだけである。30分もかからない。PCを立ち上げマイネットワークからサーバーを探す。おお、ちゃんとraspberrypiが見える。ドライブを開く。うはあ、簡単に中味が出た。

 実際にファイルを取り出してみる。うーむ、結構早い。転送速度は、6MB/sもある(370MBのzipファイルで1分)。100Base/Tの理論速度は、12.5MB/sだが、半分近く行けば全く言うことはない。いやあ、たいしたものだ。実用性は十分である。こんなちっぽけな基板でもさすがLinuxである。

| | コメント (3) | トラックバック (0)

« 2013年4月 | トップページ | 2013年6月 »