どのようなプログラムを走らせるか まず、当初の目的を再確認しておきます。
- コーヒー・メーカがコーヒーを沸かす動作をしているかどうか。ここから、コーヒーを入れた時刻や回数を計測する。
- コーヒーが入った時刻からの経過時間として、美味しく飲める時期を表示する。
このためのベースとなる部分は、次のように作成しました。
- コーヒー・メーカのヒータ電流は、取り付けたスイッチのLEDを光らせ、CdSの抵抗値を極めて低くし、これがシリアル・ポートの入力ステータス信号(DTR=受信可能)の受信可能/受信不可能として読み込める。これをプログラム power_status.c で、その値を 0/1 の文字として表示する。標準出力とエラー出力の両方に出力しているのは、標準出力側はファイルにリダイレクトして、エラー出力側は画面で見るため。動作は1秒間隔で行われる。
- data.dat には 0(=OFF) と 1(=ON) としてが記録される。これらの時間間隔は1秒である。
- 感覚的に時間を把握するため、グラフ化してWebブラウザで確認する。ここのために data.dat ファイルから html 形式に変換するプログラムを作っておく(status_check.bsh )。
こうして生成された html ファイルをWebブラウザで見て、ヒータの動作状況を把握してみます。
下の Makefile が役立つかもしれません。
*
Makefile
では、実際にプログラムを走らせてみましょう。次のようにコマンドを入力します。
*
プログラムを走らせたところ(標準出力はファイルにリダイレクトされる)

コマンドを入力したら、コーヒー・メーカの電源を投入します。ヒータのオン時間は、水の量や水の温度、周囲温度、そしてもちろん、コーヒー・メーカの種類によって異なりますので、適宜考察ください。プログラムを止めたい場合には、コントロール+c を押して中断させます。
*
記録されたデータの様子を cat コマンドで確かめる
このファイルのデータを html ファイルに変換するためには、作っておいたプログラムの status_check.bsh を利用します。これも出力をリダイレクトします(たとえば、./status_check.bsh > on-off.html)。
*
Webブラウザでデータが見える
最終的に生成された html ファイルをWebブラウザにかければ、ヒータのオン/オフがグラフとして見られます。この上図では、赤い部分がヒータ・オンに相当しています。なお、グラフ生成時において、このグラフにある目盛値は 10 秒単位です。
このようにして、コーヒー抽出時間が感覚的に把握できることになりました。
*
今回のフォルダ内のファイルの様子
Webブラウザの表示では画像を使ってますので、これらの画像を利用したい方は
こちらからダウンロードしてください。
当初に紹介したコーヒー・メーカで水を満杯にしての実験では、ヒータ・オン時間がおよそ 400 秒かかっています。そして、抽出後に 260 秒程度休止して、その後、保温モードに入っていることがわかりました。
ここまでで、コーヒー・メーカの動作をソフト的に把握する部分がすべてそろいました。次回は、ユーザ側から経過時間をみる方法を考えてみます。
<和田 好司>
コメントする