|
|
当サイトは、玄箱PRO (KURO-BOX/Pro)を中心とした組み込み、Linuxと電子工作を扱っています。
会社案内
情報セキュリティおよび個人情報の取り扱いについて コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。コメントはそれぞれ投稿した人のものです。 |
daemon.tar.gzをダウンロードして、適当なところに置いてください(以下では /home/kurobox/ に置いたとしている)。root で、作業します。まず、ファイルを展開します。
cd /tmp tar xzvf /home/kurobox/daemon.tar.gzファイルを適切な場所にコピーします。
cp Fand Keventd /usr/local/sbin/ cp fan.prof /usr/local/etc/rc.local もコピーします。
cp rc.local /etc/もし、rc.local を自分で変更している場合は、コピーせず、
MICONAPL=/usr/local/sbin/miconapl ${MICONAPL} -b -a boot_end /usr/local/sbin/Keventd 2> /dev/null & /usr/local/sbin/Fand 2> /dev/null &を、
exit 0の行の前に加えてください。コピーしたら、元のファイルは消してかまいません。
MICONAPL=/usr/local/sbin/miconapl ${MICONAPL} -b -a boot_endにより、制御マイコンとの通信の初期化をします。
/usr/local/sbin/Keventd 2> /dev/null &により、カーネル・イベント(イーサネット・ポートの変化と、電源、リセット・ボタンの変化)を見張る、Keventd を実行します。
/usr/local/sbin/Fand 2> /dev/null &により、ファンの制御をする Fand を実行します。
/proc/buffalo/kernevntに、カーネルが1行書き出すまで待っています。1行書き出すと do_kern_event() の内容を実行します。do_kern_event() 内で、押されたスイッチを確認し、
/usr/local/sbin/miconapl -b -a bz_on buttonにより、ビープ音を鳴らしてから、reboot/poweroff を実行します。
miconapl -a temp_getにより、読み出し、 /usr/local/etc/fan.prof 内の各温度範囲でのファンの回転数を設定します。
このブログ記事を参照しているブログ一覧: ファンの制御と電源スイッチ
このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/986
おすすめ書籍 |
![]() |
玄箱PROをはじめて買ってDebianETCH化してWebで情報を集めて四苦八苦していたのですが
nvram,miconapl および電源ファン、電源スイッチの記事がすごく助かりました。
あとはHDDのスリープ、静音あたりをいじろうかなと思ってます。
PS.
公開されている hoge.tar.gz ファイルなのですがWindowsXP IEからダウンロードすると hogetar.gzt といったファイルとなってしまっており、手動で hoge.tar.zip に変えるのですが玄箱で tar xvfz hoge.tar.gz とやっても解凍に失敗してしまいます。ダウンロードしたファイルをWindows上で解凍した後、玄箱にもってくればつかえているのでそれで動作しています。
わたしの環境だけでしょうか?
hoge.tar.gz ですね、手動で変えているファイル名は。失礼しました。
気が付いていませんでしたが、サーバの関係でファイル名がオリジナルとは違うようですね。お手数ですが、手で直してください。
tar + gzip のはずが、ダウンロードすると gzip は展開されていることが、Internet expoloer だと、たまにあるようです。玄箱PRO上で、うまくいかないときは、tar xzvf xxx.tar.gz の変わりに、tar xvf xxx.tar.gz として圧縮オプションを外してみてください(その場合、ファイル名は xxx.tar の方が混乱は無いですね)。
zip が展開される現象があるのは初めて知りました。そう考えれば納得がいきます。
(ファイルサイズも増加していたので)
あと、ブートがいつ終わったかわからないのでこちら記事を基にしてにしていろいろやってみました。
感謝の気持ちを込めてフィードバックします。(釈迦に説法かもしれませんが他の方の参考になれば)
前提条件: miconapl が HDD 環境で動作するようになっていること。
・オリジナル KUROBOX-PRO の環境 /dev/mtd2 から必要なファイルを HDD へコピー
/usr/local/bin/PlayBeep.sh
/usr/local/music/SW_ON.msc (music ディレクトリ込み)
--
mount /dev/mtd2 /mnt/mtd
cp -a /mnt/mtd/usr/local/bin/PlayBeep.sh /usr/local/kurobox/bin
cp -a /mnt/mtd/usr/local/music /usr/local/kurobox
umount /mnt/mtd
--
・オリジナルの PlayBeep.sh では miconapl を直接呼び出しているので
変数に絶対アドレスで格納し miconapl のスクリプトを呼び出すよう修正。
--/usr/local/kurobox/bin/PlayBeep.sh--
MICONAPL=/usr/local/sbin/miconapl
if [ -f "$1" ] ; then
TEMPO=`grep "TEMPO=" $1|sed -e "s/TEMPO=//"`
MELODY=`grep -v "TEMPO=" $1`
PLAYDATA="${TEMPO} ${MELODY}"
else
MELODY=`echo $*| sed -e "s/$0//"`
PLAYDATA=${MELODY}
fi
${MICONAPL} -a bz_melody ${PLAYDATA}
exit 0
--
・rc.local を修正して PlayBeep.sh に SW_ON.msc を渡して実行
--/etc/rc.local--
MICONAPL=/usr/local/sbin/miconapl
${MICONAPL} -b -a boot_end
/usr/local/sbin/Keventd 2> /dev/null &
/usr/local/sbin/Fand 2> /dev/null &
#${MICONAPL} -b -a bz_on button
PLAY_BEEP=/usr/local/kurobox/bin/PlayBeep.sh
${PLAY_BEEP} /usr/local/kurobox/music/SW_ON.msc
exit 0
--
次回、起動すればピロリ♪~と起動が終わったくらいにオリジナルと同じメロディーが流れます。
ファイルのコピーや修正が面倒ならば rc.local のexit 0 の前に ${MICONAPL} -b -a bz_on button
を追加するだけでもブザー音が鳴らせます。
(最低限、${MICONAPL} -b -a boot_end よりも後に行うこと。他の処理の後に実行)
情報ありがとうございます。
そうですね。起動直後に音を出すと、分かりやすくていいですね。
/etc/rc.local の exit 0 の行の前に、
${MICONAPL} -a bz_melody "30 b4 b5 b4 b6"
と書くとシンプルにできると思います。