カテゴリ
リンク

ご迷惑をおかけします。以前の記事とリンクが切れています。ただいま修復中です。
当サイトは、玄箱PRO (KURO-BOX/Pro)を中心とした組み込み、Linuxと電子工作を扱っています。
会社案内

情報セキュリティおよび個人情報の取り扱いについて


コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。コメントはそれぞれ投稿した人のものです。

2007年7月...アーカイブ

こちらが、Kuro Boxの専用サイトです。ドキュメント類のアップなどは事前にあったようですが、最近、出荷が始まりました。
■赤外線リモコンでコマンドを実行
 KURO-RS が学習型のリモコン(送信機)としてだけでなく、受信機としても使えそうなことがわかったので試してみることにします。基本的に、
   (1) 初期化
   (2) 受信
   (3) リモコン信号の解析
   (4) 記憶しているコードとの比較、一致したらコマンドを実行
   (5) (2) へ 
を実行するプログラム (rs_exec.c) を書いてみました。rs_exec.cをダウンロードして、
make rs_exec
でコンパイルして実行します。実行例を示します。
■赤外線リモコン受信機として使えるか
 デバイス・ドライバをインストールしてテストしたところ KURO-RS が学習リモコンとして使えそうなことは、わかりました。それでは、玄箱PROをリモコンで操るための受信機として使えるのでしょうか。それを調べてみました。

玄人志向 KURO-RS

■NTPで時計を合わせよう
 コンピュータの時計は意外に正確ではない場合があります。一方でコンピュータの時計は正確でないと困る場合も多くあります。とくにネットワークにつながっているコンピュータ同士で時刻が一致しないと、どちらが新しいファイルかわからなくなったりしてしまいます。 
 インターネットを通して時刻を合わせるプロトコルに NTP (network time protocol) があります。このプロトコルは通信の遅れなどを考慮して、コンピュータの時計を正確にあわせてくれるものです。
■玄箱PRO を Debian 化するために参考にしたページ
 玄箱PRO を Debian 化するために参考にしたページと、Debain/Linux を使うときに参考になるページを紹介します。まず、Debian に関しては Debian プロジェクトのページ、

■リモコンを使いたい 

 玄箱 PRO から家電をコントロールできるようになったり、玄箱PROをリモコンでコントロールできるようになると、いいと思いませんか。そこで、玄人志向から「USB接続赤外線学習リモコンキット」として発売されている KURO-RS を使えるようにしてみます。

玄人志向 KURO-RS

■情報求む 
 最初は USB audio で頻繁に音とびがしていることに気づいていませんでしたが、「alsaplayer で音楽を再生してみる 」へコメントをいただいてから、気になったので調べてみました。1日かかってしまいましたが、まだ解決できていません。
 使用しているサーバの都合上、本文中で xxx.tar.gz と書いているファイルが、ダウンロード後に xxxtar.gz と tar の前のピリオドが抜けている場合があります。その場合には、本文を読み替えるか、ダウンロード後、ファイル名を変更してください。
■USB hub と延長ケーブルを使う
 玄箱PROのUSBコネクタは背面にあります。抜き差しが多いときは前面にポートが欲しくなります。一つのポートにUSB延長ケーブルをつけ、もう一つのポートにUSBハブをつけました。USBハブは側面に両面テープで止めています。右に見えるのはシリアル・コンソール用のレベル・コンバータです。 

USB ハブをつけた玄箱PRO

■日本語のファイル名に対応させたい
 UNIX だけで作業していると日本語のファイル名を使うことは少ないのですが、Windows のファイルをやりとりすると、ファイル名に日本語を使いたくなることがあります。そこで locale をインストールして、ls などで、日本語ファイル名が使えるようにします。

■ファンと電源スイッチの制御
 玄箱PROでは、ファンの回転数の制御と、電源スイッチによるシャットダウンは、Keventd と Fand というスクリプトで行っています。Debian 化で、これらのスクリプトが使えなくなっているので、使えるようにしてみました。
■Debian 化で使えなくなったコマンド 
 Debian 化で使えなくなったコマンドに、nvram と miconapl があります。nvram コマンドは、主に u-boot の環境変数を読み書きするプログラム、miconapl コマンドは、電源スイッチや、LED, ファン回転数などに関係しているコマンドです。自分でプログラムを書くという方法もあるのですが、玄人志向のプログラムを使えるようにしてみます。ここでは別項のオリジナル・ファイルのバックアップが終わっているものとします。

  ■Debian 化で使えなくなった理由は?
 Debian 化で使えなくなった理由は、nvram も miconapl も玄箱PROに特有で Debian のパッケージがないことが、その理由です。では、フラッシュ・メモリやhddroofs.tar.gz内からコピーすればいいかというと、それだけではダメです。理由は必要なライブラリも用意しないといけないからです。EABI, OABI の問題は、これらのコマンドでは起きないようです。
■フラッシュ・メモリを変更する前に 
 玄箱PROのフラッシュ・メモリを変更する前に、バックアップをとっておきます。またバックアップなど同時に、Debian化で使えなくなったコマンドを使えるようにするためのファイルのコピー元にします。

 ■フラッシュ領域のマウント 
 まず、フラッシュ領域(root ファイル・システム)をマウントします(以下 root で実行します)。
■ alsaplayer を使ってみる
 USB audio が使えることがわかったので、次は alsaplayer を試してみることにしました。apt-get でインストールします。
apt-get install alsaplayer alsaplayer-text
 MP3 も再生できるので、適当なディレクトリにファイルをコピーし、そのディレクトリを指定するか、ファイルを指定します。

?USB audio 玄人放送局

■USB シリアルを使うには 
 玄箱PROのDebian 化に利用したカーネルには、 USB シリアルのデバイス・ドライバを組み込んでいません。そのため、USB シリアルを利用するには、カーネル・モジュールのインストールと、ロードが必要です。カーネル・モジュールのインストールは、別項(カーネル・モジュールをインストールする | カーネルの再構築とカーネル・モジュールの構築)を参照してください。

RATOC REX-USB60   秋月電子 USB シリアル

■USB フラッシュを rootfs にするためには(起動の順序)
 玄箱PROは起動時に、 
1) NOR フラッシュから u-boot を読み込みます。
2) u-boot は、環境変数にあわせて、NAND フラッシュか、HDD から、カーネルを読み込みます。
3)カーネルは、起動時に渡されたパラメータに従って、root ファイル・システムをマウントし、 /sbin/init を実行します。
4) /sbin/init は /etc の下のいろいろなファイルを読み込みながら起動処理をしていきます。
  HDD レスにするには、2)は NAND フラッシュにカーネルを書くしかありません(u-boot を USB 対応にすれば別ですが、大変です)。root ファイル・システム(root fs)は、NAND フラッシュでも、USB フラッシュでもかまいません。 
 今回は、NAND フラッシュは変えずに、カーネル(OABI)は HDD (/dev/sda1) 上のものを利用し、 USB フラッシュを root ファイル・システムに使ってみる実験をします。 


USB flash memory

■USB audio をつないでみる
 USB audio を使って、音楽を鳴らしてみます。用意したのは玄人志向玄人放送局(AUDIO-FMT-USB)です。特徴は FM トランスミッタになっているところです。 

USB audio 玄人放送局

 USB audio を使うにはデバイス・ドライバが必要ですが、Debian 化したときにインストールしたカーネルには、すでに組み込んであります。組み込んでいないカーネルの場合には、必要なカーネルモジュールをロードしてください。玄人放送局を USB ポートに挿すと、シリアル・コンソールには、
■hdparm で使っていないときは HDD を止めよう?
 玄箱PRO の電源が入っていても、ずっと HDD にアクセスがあるわけでは、ありません。Linux では hdparm コマンドを使って、一定時間アクセスがないときにスピンダウンすることができます。Debian では hdparm も apt-get でインストールできます。そこで試してみることにします。
■USB フラッシュを使いたい
 USB ポートがあるんだから、USBフラッシュ・メモリを使いたくなりますよね。そこで、Debian 化した玄箱PROに挿して見ました。そうするとシリアル・コンソールに、以下のようなメッセージが表示されました。 


USB flash memory

■カーネル・モジュールのインストール
 カーネルには組み込まれていないデバイス・ドライバなどのカーネル・モジュールを展開します。適当な場所にmodules.tar.gz (2007/07/07 更新)をダウンロードし、コピーします。ここでは、/home/kurobox/ にコピーしました。これを、root で展開します。
■インストールの流れ
 INIT SW を押したときには、玄箱PRO のフラッシュ・メモリに収められた HDD 起動化スクリプトが実行されます。まず、/usr/local/bin/InitDisk1.sh 、次に、/usr/local/sbin/SetupDevEnv.sh が実行されます。また、それらから、別のシェル・スクリプトも呼び出されています。ここで変更するのは、InitDisk1.sh, SetupDevEnv.sh, kuro_lib の三つです。 
 Debian 化もこれらのスクリプトを変更して行うことにしました。
■e2fsprogs 構築の準備 
 mkfs.ext3 は、e2fsprogs に含まれるので、e2fsprogs をコンパイルします。まず、root で、以下を実行します。
おすすめ書籍
Powered by
Movable Type 4.1