« 2009年6月14日 - 2009年6月20日 | トップページ | 2009年7月5日 - 2009年7月11日 »

2009年6月21日 - 2009年6月27日の2件の記事

2009年6月26日 (金)

電子工作の次の方向が決まらない

 BeagleBoardへのUbuntu導入で時間をとられてしまったが、本来の電子工作を全くやってなかったわけではない。日にちは前後するがこの一週間の出来事を報告しておこう。

リチウム電池の充電実験をブレッドボードでする(6/19/09)Dslitebatt1
 このあいだ千石に行ったら、店が拡張されていて新装セールをやっていた。道路上のかごに任天堂のゲーム機(DS-Lite)の補充用リチウムバッテリーが山盛りにされ、¥480という安値で出ていた。最近、我が家でもこのゲーム機がはやっている。予備があれば喜ばれる。この前の携帯の余った電池より少し厚いが面積は小さい。3.7Vで1000mAhと容量も十分だ。PCMプレーヤーなどの電池に使えば、さらに小型化できる(6/24まだ少し残っていた)。

 もちろん純正品ではないが、純正品なら¥2000近くするバッテリーだ。思わず2つ買ってしまった。そういえば充電用のICのLTC4054もこのあいだここで買ったきり試していない。ちょうど良い機会なので、このバッテリーを充電してテストすることにした。Dslitebatt2

 あらためてLTC4054のデータシートをダウンロードし仔細に調べる。殆ど何もしないで完全な充電が出来そうだ。これは楽だ。ただ、チップが小さい。ピッチ変換基板にはベタアースなどない。700mAまで充電できるそうだが発熱が心配だ。データシートにちゃんと熱抵抗値がでていたので計算してみる。

 うむ、50mm平方(7mm四方)の金属接続面積で、接合点と表面の間の150°C/Wで計算してみても、400mAぐらいまで流して平気なようだ。安全のため200mAくらいから始めることにする。

 ブレッドボードで組む。ものの5 分もあれば組みあがる。実験を開始する。LEDが点き、充電が始まった。用心のため、テスターふたつをつけ、充電電流と電圧を測る。ついでに温度計をICの上にセロテープで固定し、温度も測る。制御抵抗を5KΩにしたら、180mAくらい流れた。この程度では、チップは殆ど熱をもたない。Ltc4054test

 定電圧充電に入ってICが充電を終えるのに3時間余りもかかってしまった。10分ごとに測っていたのだが、電流がシャットダウンされる最後の瞬間を見逃す。サッカーのゴールシーンを見逃した感じだ。もう午前3時近い。慌てて床に就く。

いずれにしても、これで安全にリチウム電池を充電する基盤はととのった。これは楽しみである。注文を受けているLPCMプレーヤーに充電回路を内蔵すれば実用性はいっそう高まる。人にあげるのでなく自分のためにも2号機が作りたくなってきた。

秋月で買った小さなケースがこの電池にピッタリ(6/24/09)
 最近は仕事で事務所に出ても、仕事の合間は電子工作のことを考えていることが多い。充電ICが思いのほか順調に電池を充電することがわかったので、今までの電子工作のロードマップをあれこれ検討した。

 これまでのロードマップでは、次はARMのSTM32 でのSDカードアクセスだった。しかし、SDカードは既にAVRやH8で実現しているので新味は薄い。それにSDカードは手段で目的ではない。フォトフレームが最終目的だが、LPCMプレーヤーの演奏中の経過表示を適当なOSを入れて作ってみたい気もする。DACにひたすらデータを送り、バッファーのデータが少なくなればSDカードを読みに行き、そのかたわらLCDにデータを表示すると言うマルチタスクをOSなしで作るのは至難の業である。Photo_2

 しかし、OSを入れるには準備が必要だ。それにSTマイクロのファームライブラリをV3に上げておきたい。あれやこれやでなかなか具体的な行方が定まらない。そんな日の仕事の帰り、秋月に寄ったら、これまでのLPCMプレーヤーに使ったケースよりさらに小さなケースを見つけた(アクリルケース蝶番式[小] 117-TSS 77x51x22)。

 Photo_3ここまで小さくするのは無理だと思うが、¥100と安いので試しに買ってみた。家に帰って、先のDS-Liteの電池を入れてみる。何とこれがピッタリ入ってしまう。1ミリの狂いもない。それに前々から気になっていた、ここの(ストロベリーリナックス)の3Vで動く超小型LCD(¥700) の長さが、これがまた測ったようにきれいに入る(はずだ)。これはもうLPCMプレーヤーの2号機を作れと言う電子工作の神の天啓だ。作るしかない。

 はずみというのは恐ろしい。LCDを発注するときに、どうせ同じ送料ならと前から欲しいと思っていたXbeeチップ(¥2730 2ヶ)も一緒に注文してしまう。確かに1ヶだけではテストもできないし、2つというと¥5000以上になるのでためらっていたパーツである。これは前から計画している電力ロガーの無線通信手段になる。

 いやいやプロジェクトの方向が定まらなくなってきた。嬉しい悲鳴である。旅行はその時より計画しているときの方が楽しいと言う。電子工作も同じようなものだ。作り始めると苦しいことばかりだものね。I2c_lcd_4

UbuntuがWindowsのファイルを壊したが何とか修復(6/25/09)
 ついでに、Linuxネタをひとつ。BeagleBoardの騒ぎの後、ふとPCのデスクトップを見ていて見かけないアイコンを発見した。アイコンの名前が000で特定のicoファイルのない裸のアイコンである。誰がこんなゴミを作った、と気楽に消そうとしたら、これが消えない。このPCは、このあいだ2つあるハードディスクのひとつをデフラグして、10GばかりのスペースをつくりUbuntu9.04のLinuxをインストールしたばかりである。

 これはおかしい。そういえば昨日、LinuxからこのCディスクを色々いじった。そのとき悪さをしたのだろうか。用事があったのでMy Documentを開く、あれれ、ここにも000のファイルがある。同じように消せない。Windowsでは全くこれを操作することが出来ない。

 顔が段々青ざめていく。これはまずい。バックアップは今年の始めにやって以来さぼっている。思い当たることは、Ubuntuのインストール以外考えられない。とるものもとりあえずWebで調べてみる。

 キーワードを「000 Ubuntu ファイルが消えない」で検索をかけたら、一発でそれらしいサイトにぶつかり、原因が判明した。やっぱりUbuntuの仕業だ。インストールのとき、すべてのパーティションに対してファイルチェックをするのだが、ファイルタイプvfat(Windowsファイル)に対してもLinuxのfsck(ファイルチェック)をかけてしまい、シフトJISの日本語名ファイル・フォルダーを不良として修復をかけてしまうのだ。被害にあうのは、FAT32のファイルだけで、NTFSでは起きない。「ポソ表構十申」などの日本語がファイル名に使われるとやられる。

 Ubuntu7.10のときの問題だというけれど、現実に9.04でも同じことが起きている。フォーラムをよく読む。良かった。Ubuntu上では、renameが可能だ。本体は消されていない。悪さをするのはインストールの時だけで、そのあとは大丈夫らしい。色々な修復方法が載っている。DOS窓で、dir c:\ /A- /S > HOGEHOGE.TXTとやってすべてのディレクトリ名をファイルに書き、000のファイル・ディレクトリを探せとある(同一フォルダー内では001,002と増えていく)。

 やってみた。15MBのテキストファイルが出来た。行数にして32万行。結構なサイズだ。指定の秀丸エディターはなかったので、Linux上で、grepをかける。いやあ昔を思い出す。数だけ示す-cでやると1582と出た。肩の力が抜ける。こりゃ人間の力では無理だ。少しlessなどで見てみる。ああこれはファイルサイズが XXX,000などの場合もヒットしているので実体はもっと少ない。

 ' 000'でやってみる。うむ、158と出た。これが被害の数のようだ。これくらいなら何とかなる。日本語名のファイル、ディレクトリだけが被害を受けるのでWindowsそのものの動きには影響はなさそうだ。最初はWindowsの再インストールまで覚悟したが、それはしなくても大丈夫なようだ。良かった。

 実際の修復にとりかかる。自分のドキュメントはバックアップが不完全ながらあったので、それを見ながら、Ubuntu上で元へ戻せたが、困ったのは、Windows自体にある大量の日本語ファイルであった。Windowsのテーマファイルがごっそり000に変わっている(スポーツテーマなど)。少し直し始めたけれど、どうせ使わないテーマを元にもどす必要もない。結局、自分のファイルだけの回復作業でやめることにする。

 それでも30個近いファイル・ディレクトリの修復をさせられた。やれやれ、えらいところで時間をとられてしまった。デスクトップで発見の端緒となった000になったアイコンは、ソリティア.lnkだった。ははは。

 余り腹が立たないのは、何故だろう。まあ、Linuxびいきということもある。これが現実にファイルそのものを消していたらこんな笑い話ではすまないが、この程度の被害と言うことと、問題解決に当たっての、このオープンなところが何とも清々しい。かなり致命的な問題なのだが、みな感情的にならず寄ってたかってその修復に力を合わせている。これがオープンソースの良いところだ。それでもFAT32でWindowsを作り、そこへあとからUbuntu Linuxをインストールする人は要注意である。

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

2009年6月23日 (火)

BeagleBoardにUbuntu9.04をインストールする

日経Linuxの記事があてにならない(6/21/09)
 今月(7月号)の日経Linuxは、電源プラグに差すだけで動くLinuxサーバーや、BeagleBoardの新版(RevC)の紹介という組み込み系の特集である。なかでも最近リリースされたばかりのARM用のUbuntu 9.04 LinuxをBeagleBoardにインストールする記事は、当研究所がこれからやろうとしていたこととぴったり一致する。Thumb_200_cover_200907

 BeagleBoardは余技にすると言ったばかりなのだが、タイミングが良すぎた。これは買ってくるしかない。それに、この前のAngstromのインストールでは、knoppixで誤魔化したけれど、そろそろPCにもLinuxを入れておきたい。各種の最新Ubuntuディストリビューションの入ったDVDも付録についているというので、早速、購入してきた。

 通読すると、BeagleBoardへのUbuntu9.04のインストールは、SDカードのフォーマットから、最後の日本語フォントのインストールまで事細かに解説してある。とても簡単に見えた。BeagleBoardの当面の目標は日本語化だったが、Angstromの日本語化はそう簡単ではない(動かしたのはデモ版)。これならすぐ日本語が見られそうだと気楽に作業を始めた。

 ところが、これが一筋縄では行かなかった。雑誌の記事の通りやっても動かないのである。あとでわかったことだが、この雑誌の記事にはミスが多いのだそうだ。普通は、印刷された、しかも大手の出版社の活字情報は、Webの情報より信頼度が高いと思うのが常識なのだが、これが違ったのである。

 結果としては、インストールは成功し、BeagleBoardのブラウザーで日本語を表示できるところまで進んだ。この雑誌の記事の通りにやって動かないで困っている人がまだ沢山いると思うので、とりあえず経過だけでも紹介しておくことにする。

 まず、はまったのが、パーティションを切る、GPartedというソフトのインストールである。apt-get installを入れても一瞬のうちにエラーで帰ってくる。こちらは最近のLinux情勢にうとい。とくにDebian関係は全く経験がない。始め、apt-get updateをしないで、ない、ないと騒いでいた。

 これはGPartedでなく、gpartedで探したら一発で見つかる。やれやれUNIX関係は、大文字、小文字に厳密なので、こんなことではまる。コマンドは正確に記述して欲しい。

(誤) sudo apt-get install GParted    -----> (正) sudo apt-get install gparted

 しかもページを沢山使って説明したGPartedのやっていることは、単に、SDカードの残りの部分をext3で定義し、ここと頭の部分をそれぞれフォーマットするだけのためだった。これくらいなら、何故、fdiskとmkfsでやってしまわない。記事を良く読まなかった自分が悪いことを棚に上げて無駄な作業手順をやらされて腹の虫が納まらない。

 いよいよ付録DVDからrootfsイメージの展開である。記事の通りtarコマンドを入れる。おやあ、このコマンドのオペランドの順がおかしいなあ、最近は順序が変わったのかしら。入力する。やっぱりシンタックスがおかしいと、はねられる。

(誤)
$ tar /media/cdrom/article/toku3/ xvzpf armel-rootfs-lxde-200905161138.tar -C /mnt/
  (傍線 筆者)

(正)
$sudo tar xvzpf   /media/cdrom/article/toku3/armel-rootfs-lxde-200905161138.tar -C /mnt/

 何と、tarコマンドのオプションが入出力引数の中間に入っているまま印刷記事になっている。こういうコマンド行は校正の時には真っ先に、入念にしなければならないところである。どうしてこんな間違いが起きるのだろう。理解に苦しむ。しかもこのtarの前には、sudoがない。

 まあ、この程度なら少しUNIXを知っている人ならすぐわかる間違いだが、次の不具合はもう少し深刻である。正しく入れなおしたtarが全く展開できていない。エラーメッセージを見てわかった。SDカードのルートディレクトリは、root以外の書き込みを許可していない。雑誌の記述では、この先のファイルの作成ではroot権限になれと書いてあるが、tarはsudoで動かしている。

 ファイルの生成は微妙で、誰が作ったかでパーミッションが変るので、こういう作業はユーザーはrootでやるのが間違いがない。いくら管理者権限があってもrootでないと失敗するときがあるのだ。しかし困った。何かの手違いで新しくいれた現在のPCのUbuntuではrootのパスワードが設定されてしまい、現在rootになれない(これはその後、sudo su - で、# passwd によってrootのパスワードの設定が出来ることがわかった。 Ubuntuでは最初、rootが設定されていない)。

 仕方がないので、SDカードのルートディレクトリをchmod 777 /(SDカード)で、パーミッションを強引に変えて(これはsudoでも出来る)、tarを入力する。正規には、ここでrootになってインストールしなければならない。

 何とか順調にtarボールが展開され始めた。おや、最後の方で少しエラーが出た。うーむ、rootではないからな。いくつかのディレクトリ生成やリンクが失敗に終わっている。だめもとで出来上がったカーネルを立ち上げてみる。いや大丈夫なようだ、順調にブートされていく。いや、やっぱりだめだ。途中で止まってしまった。no initial consoleのメッセージで止まっている。確かtarの展開のときのエラーはディバイス関係のディレクトリでのエラーだった。このあたりでひっかかっているのだろう。

 やれやれ、アマチュアのWebの記事を参考に入れたAngstromは一発で動いたが、雑誌の記事を見て、しかもミスを回避しながらのインストールは失敗に終わった。恐らく沢山の人がこの記事の通りやって動かない動かないと悩んでいることだろう。A6221987

 もういちどrootからやってみよう。それに雑誌のrootfsイメージは信用がならないので、正規のサイトから落としたほうが良いかもしれない。

BeagleBoardでやっと日本語が出る(6/22/09)
 翌日、仕事から帰って、もういちどSDカードをフォーマットし直し、正式にrootになってtarで展開する。とりあえずは雑誌のDVDから展開する。うむ、全くエラーもなく、きれいにrootfsはインストールされた。omap3のカーネルイメージも順調に展開された。

 新しく入れたUbuntuのターミナルでcuコマンド(いや、なつかしい。接続終了が、~.という変なコマンド)でシリアル端末を立ち上げる。おやあ、最初のブートローダーがリセットしてしまう。どうした。あ、USBのハブの電源を入れていなかった。入れ直す。よしよし、Linuxのブートが始まった。画面を切り替える。

 おお、PCのUbuntuと全く同じログイン画面が出た。しかしログインでまたはまる。rootでは入れない。これは雑誌にちゃんと書いてあった。BeagleBoardのUbuntuはユーザー名 ubuntu パスワード ubuntuで入るのだ。

 Angstromと同じようなGUI画面があらわれる。ロケールが日本語になっているので字化けしている。日本語フォントが入っていないからだ。これは自分でいれなければならない。最後の難関、日本語化キットのインストールである。BeagleBoardがネットワークにつながっていないと出来ない。幸い、Net関係は一発で通ったようだ。インストールコマンドの入力だ。何い、こんなコマンドを入れるのか。

(誤)
$ sudo -y apt-get install language-support-fonts-ja

(正)
$ sudo  apt-get install language-support-fonts-ja

 とんでもないところに -y が入っている。これ違うよね。念のため、その通り入れてみる。もちろんシンタックスエラーではねられる。-yをとりのぞいて入力。順調にパッケージがインストールされた。Debianは初めてだが、このapt-getは実に便利である。昔々RedHat Linuxを入れて、rpmに感激したことを思い出す。

 ウェブブラウザーを探す。おや、Conkerorという簡易なブラウザーしかない。こいつキーボードからURLを入れさせる。コマンドガイドを頼りに日本語サイトを入れる。出た出た。おおう、きれいな日本語フォントだ。A6231991

 いやあたいしたものだ。たかだか8センチ四方のボードでここまで動くのである。ボードのCPUチップに触ってみる。結構熱くなっているが、やけどしそうなほどの熱さではない。せいぜい数ワットというところだ。地球に優しい。

 画面の動きは、一昔前のノート PC、そうちょうど今ターミナルに使おうとしているPentium133Mhz時代のLet'sNoteの画面の動きをもう少し遅くした感じだ。ウインドウを激しく動かすと軌跡が残る。まあ、これが目的ではない。これだけ動けば十分だ。こちらは今のところNASあたりを予定している。

 それにしても、今度の雑誌の誤植には驚いた。信頼性について活字メディアを一段高い位置に置いて考えていた自分がもう古いのかもしれない。Web情報ならいくらでも訂正が効くが、活字はそういうわけにはいかない。だから校正には念には念を入れ、読者もそれを信じていた。そういう自覚が今は薄れているのだろうな。

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

« 2009年6月14日 - 2009年6月20日 | トップページ | 2009年7月5日 - 2009年7月11日 »