<!DOCTYPE LINUXDOCTR SYSTEM>

<article>
<title>COFFEE-HOWTO
<author>Georgatos Photis, &lt;<htmlurl
  url="mailto:gef@ceid.upatras.gr?subject=COFFEE-HOWTO"
  name="gef@ceid.upatras.gr">&gt;
<date>v0.5, 15 January 1998
<trans>近藤 健治 &lt;m99108@ecip.osakac.ac.jp&gt;
<tdate>v0.5j1, 10 December 1999

<!--
<abstract>
One of the most bothering remarks on software, I have ever heard, 
is weather this or that thing can make coffee.
So, Linux DOES make coffee. And it tastes good, instead!
-->

<abstract>
私がこれまでに聞いた中で、ソフトウェアについて最も気になる意見の一つは、
あれこれのソフトウェアでコーヒーを作ることができるのかということだ。
そんなわけだけど、Linux はコーヒーを確かに作ることができるのである。
そして、意外にもそれは旨いんだよ!

<!--
<p>
For a long time, humanity was wondering how could a computer
make coffee...
People need coffee to get awake and stay asleep 
in front of the computer for a long time.
Everyone knows that coding is better at night...
-->

<p>
長い間、人類はどうすればコンピュータでコーヒーを
作ることができるか考えてきた‥‥
人々は、長時間コンピュータの前で起きたり寝たり正気でいるために
コーヒーが必要なんだ。コーディングは夜が良いというのは常識だろう‥‥
<!--
<p>
The main problem is how to control the coffee machine with
the computer, so that it will be controlled by software.
This generally means an ON/OFF switch implemented
as a circuit which controls the coffee-machine's power supply.
-->

<p>
そこで主な問題は、コーヒーメーカーをソフトウェア制御するのに、
どうやってコンピュータによる(ハードウェア)制御を行うかである。
これは大体において、コーヒーメーカーの電源を制御する回路として
働く ON/OFF スイッチのことを指している。

<!--
<sect>Menu
-->

<sect>メニュー

<!--
<sect1>French
<p>Popular coffe among programmers because doesn't need a lot of care,
like all commercial software.
Its exciting taste has inspired thousands of programmers
in writing incredible software, written in the very first ours of a day.
Windows for example are written at 5:00 o'clock in the morning,
favouring to this coffee! Result is guaranteed.
-->

<sect1>フレンチ
<p>
そこらの売りもんのソフトみたいに、あまり気を配らずに作れるんで、
プログラマにはおなじみのコーヒーだよ。
そのエキサイティングな味ときたら、一日の一番早い時間に驚きの
ソフトウェアを書くことに
数知れないプログラマを奮起させてきたものさ。
そう、例えば Windows は、フレンチ・コーヒーに助けられて朝5時に書かれたんだ。
効き目のほどは保証済み、ってわけね。

<!--
<sect1>Nescaffe
<p> Nescaffe is a rather strong coffee, made by pouring hot water
in a mixture of coffee, sugar and some water.
You usually take 1 spoon of coffee and 1 spoon of sugar with just
a bit of water, to mix it. In the meantime you should have the water
boiling. As soon as the water is hot enough, you mix them all together
and preferably add milk.
Although you can use something simpler than a coffee-machine to
boil the water, I have seen this scheme a lot of times...
-->

<sect1>ネスカフェ
<p>ネスカフェは、コーヒーと砂糖と少しの水を
混ぜたものにお湯を注いだら完成の、どちらかといえば濃いコーヒーだ。
だいたいはコーヒー１さじと砂糖１さじに少しの水を取ってかき混ぜる。
その間にお湯を沸かしておいて、水がよく沸騰したらすぐに、
それら全てをいっしょに混ぜて好みでミルクを加える。
お湯を沸かすのにコーヒーメーカーより簡単なものを
使えるんだけども、私はこっち方法をずっと考えてきたんだ。

<!--
<sect1>frappe
<p>Popular variation of the above mentioned coffee.
Actually, it doesn't need any coffee-machine, rather a refridgerator to
get cold water and ice-cubes.
-->

<sect1>フラッペ
<p>
(訳注: フラッペはカクテルの一種、細かく砕いた氷に様々のリキュールを注いだ飲物。)
<p>上記で述べたコーヒーの一般的なバリエーションだ。
実際に必要なのはコーヒーメーカーなんかじゃなくて、
冷水と氷を得るための冷蔵庫なんだけどね。

<!--
<sect1>freddo
<p>This is a difficult one, read coffee-faq (see references)
-->
<sect1>フレッド
<p>これはむずかしい、coffee-faq を読もう。(文献参照)
<!--
<sect1>cappuccino 
(To be added)
-->

<sect1>カプチーノ (準備中)

<!--
<sect1>espresso
(To be added)
-->

<sect1>エスプレッソ (準備中)

<!--
<sect>Electronic circuit
-->

<sect>電子回路

<!--
<p>
A general diagram is like this:
-->

<p>
概略図は、こんな感じ―

<!--
<tscreen><verb>
\-\-\-\-\-\-\-\-\- 0-5V  \-\-\-\-\-\-\-\-\- ~220V  \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|  PC   |===>===|Circuit|========|Coffee-Machine|
\-\-\-\-\-\-\-\-\-       \-\-\-\-\-\-\-\-\-        \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
</verb></tscreen>
-->

<tscreen><verb>
--------- 0-5V  --------- ~220V  ------------------
|  PC   |===>===| 回路  |========|コーヒーメーカー|
---------       ---------        ------------------
</verb></tscreen>

<!--
<p>The concept is that we take a controling voltage from the computer,
which drives an electrically isolated circuit with Relay or Triac.
-->

<p>この考えは、リレーやトライアックなんかで電気的に絶縁された
回路を駆動するコンピュータから、自分らが電圧の制御を行うことにあるわけ。

<!--
<p>You must choose a Relay circuit, if you have a big coffee-machine
(greater than 200W or so), otherwise you can use a triac-based one.
-->

<p>大きいコーヒーメーカー(200W程度か、それ以上のもの)を用いるなら、
リレー回路を選択するべきだ。
でなければトライアックベースのものを使うことができる。

<!--
All circuits presented are at least once tested, but it's
YOURS RESPONSIBILITY the results.
If you have no experience with electronics you should NOT try with
these, otherwise you may get a bad one...
-->

紹介された全ての回路は少なくとも１回はテストしたけど、
その結果については -自分の責任- になる。
もし、あなたに電子工学の知識が無いなら、こういった工作にトライすべき
でない。さもないと、たぶんマズイことになるだろう。

<!--
<p>You should be very careful while experimenting with 220V,
and there is no obsolence in using an appropriate fuse.
-->

<p>電圧220Vで試みるとき、あなたはよく注意して行うべきだ。
それと適切なヒューズを使用するのは時代遅れではない。

<!--
<sect1>Driving voltage 0-5V from the computer
<p>
Here is a simple example to get a voltage 0-5V from the parallel
port of the computer.
-->

<sect1>コンピュータから 0-5V の電圧を駆動する
<p>ここに、コンピュータのパラレルポートより 0-5Vの電圧を得るための
簡単な例を示す。

<!--
<tscreen><verb>
      Back View          \-\-\-\-\-    Pin 10 - ACK
      Male DB-25         |   |    Pin  9 - D7
      Connector          |   |                           Pin 2 - D0
                         v   v                           v   Pin 1 -
~Strobe
       ____________________________________________________________
      /                                                            \
      \     13  12  11  10   9   8   7   6   5   4   3   2   1     /
       \                                                          /
        \     25  24  23  22  21  20  19  18  17  16  15  14     /
         \______________________________________________________/

</verb></tscreen>
-->

<tscreen><verb>

後ろから見た       -----    Pin 10 - ACK
オス  DB-25        |   |    Pin  9 - D7
コネクタ           |   |                           Pin 2 - D0
                   v   v                           v   Pin 1 - Strobe
                                                       v
 ____________________________________________________________
/                                                            \
\     13  12  11  10   9   8   7   6   5   4   3   2   1     /
 \                                                          /
  \     25  24  23  22  21  20  19  18  17  16  15  14     /
   \______________________________________________________/

</verb></tscreen>

<!--
<p>Pin 1 is Strobe (inverse logic)
<p>Pins 2-9 is DATA BUS's signals, exactly what was written to the
parallel port's latches with an OUTB command.
<p>Pin 10 is the acknowledge signal (ACK), controlled by you, so that you can
produce an interrupt to the CPU.
<p>Pins 18-25 are short-circuited and this is the ground (GND).
-->

<p>Pin 1 は strobe (負論理)
<p>Pin 2-9 はデータバス信号。OUTB コマンドでパラレルポートの
ラッチに書き込まれる。
<p>Pin 10 は、データ取り込み完了信号(ACK)。これは自分で制御することで、
CPU に割り込みをかけることができる。
<p>Pin 18-25 は短絡されておりグランド(GND)である。

<!--
<p>In detail:
<tscreen><verb>
<= in   DB25    Cent    Name of         Reg
=> out  pin     pin     Signal          Bit     Function Notes
\-\-\-\-\-\-  \-\-\-\-    \-\-\-\-    \-\-\-\-\-\-\-\-        \-\-\-     \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
=>       1       1      -Strobe         C0-     Set Low pulse >0.5 us to send
=>       2       2      Data 0          D0      Set to least significant data
=>       3       3      Data 1          D1      ...
=>       4       4      Data 2          D2      ...
=>       5       5      Data 3          D3      ...
=>       6       6      Data 4          D4      ...
=>       7       7      Data 5          D5      ...
=>       8       8      Data 6          D6      ...
=>       9       9      Data 7          D7      Set to most significant data
<=      10      10      -Ack            S6+ IRQ Low Pulse ~ 5 uS, after accept
<=      11      11      +Busy           S7-     High for Busy/Offline/Error
<=      12      12      +PaperEnd       S5+     High for out of paper
<=      13      13      +SelectIn       S4+     High for printer selected
=>      14      14      -AutoFd         C1-     Set Low to autofeed one line
<=      15      32      -Error          S3+     Low for Error/Offline/PaperEnd
=>      16      31      -Init           C2+     Set Low pulse > 50uS to init
=>      17      36      -Select         C3-     Set Low to select printer
==      18-25   19-30,  Ground
</verb></tscreen>
-->

<p>詳細―
<tscreen><verb>
<= 入力 DB25    Cent                    Reg
=> 出力 ピン    ピン    信号名          Bit     機能
------  ----    ----    --------        ---     -----------------------------
=>       1       1      -Strobe         C0-     0.5μs以上の"L"パルス送信でセット
=>       2       2      Data 0          D0      最下位データにセット
=>       3       3      Data 1          D1      ...
=>       4       4      Data 2          D2      ...
=>       5       5      Data 3          D3      ...
=>       6       6      Data 4          D4      ...
=>       7       7      Data 5          D5      ...
=>       8       8      Data 6          D6      ...
=>       9       9      Data 7          D7      最上位データにセット
<=      10      10      -Ack            S6+ IRQ 受け取り後、〜5μsの"L"パルスでセット
<=      11      11      +Busy           S7-     受信不能/オフライン/エラーで"H"
<=      12      12      +PaperEnd       S5+     紙切れで "H"
<=      13      13      +SelectIn       S4+     プリンタの選択状態で"H"
=>      14      14      -AutoFd         C1-     自動改行のためにローをセット
<=      15      32      -Error          S3+     エラー/オフライン/紙切れで "L"
=>      16      31      -Init           C2+     初期化のためには 50mμs以上の"L"パルスをセット
=>      17      36      -Select         C3-     プリンタ選択のためには"L"をセット
==      18-25   19-30,  Ground
</verb></tscreen>

<!--
<sect1>Controlling with a Relay
<p>
-->

<sect1>リレーによる制御
<p>

<!--
The simplest circuit that somebody can build is:
-->

<!--
<tscreen><verb>

                             Vcc
                              |
                              +\-\-\-\-\-\-+
                              |    __|__
                            Relay   /^\  Diode 1N4002
                             Coil  /\-\-\-\
                              |      |
                              +\-\-\-\-\-\-+
                              |
                           | / 
                 4.7K    B |/  C
parallel port >\-\/\/\/\/\-\-\-|        NPN Transistor: BC547A or 2N2222A
data pi                    |\  E
                           | V
                             |
parallel port >\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
ground pin                   |
                          Ground
</verb></tscreen>
-->


誰でも作れる、一番簡単な回路ならこれだ ―
<tscreen><verb>

                              Vcc
                               |
                               +------+
                               |    __|__
                            リレー   /^\  ダイオード 1N4002
                            コイル  /---\
                               |      |
                               +------+
                               |
                            | /
                  4.7K    B |/  C
パラレルポート >-\/\/\/\/---|        NPN トランジスタ: BC547A or 2N2222A
データピン                  |\  E
                            | V
                              |
パラレルポート >--------------+
グランドピン                  |
                           グランド(GND)

</verb></tscreen>

<!--
Connect Vcc with the same voltage as the relay type (usually 5 or 12V).
Obviously, the relay's specifications should be reasonable for your
 coffee-machine.
-->

リレーの種類(だいたい5Vか12V)にそった電圧とVccを接続すること。
当り前だけど、リレーの仕様はコーヒーメーカーに対して適切にすべきだろう。

<!--
<P>
Barmen, usually, tend to put the relay AFTER the transistor, at the
emitter (E) pin instead of the collector (C) pin. This is a bad practice
because it biases the transistor badly, and may result in bad coffee :-).
Diode 1N4002 is useful to protect the transistor from the relay's currents. 
If you don't use it the transistor will become darker and smelling... 
-->

<p>よくコレクタ(C)の代わりにエミッタ(E)に入れるように、トランジスターの
後にリレーを置く傾向がある。
これはトランジスタに不要なバイアスを加えることになるので、まずい実装である。
まずいコーヒーができるだろう。:-)
ダイオード1N4002 は、リレーの電流からトランジスタを保護するのに役立つ。
ダイオードを使用しないと、トランジスタは黒くなって臭いがしてくるだろう‥‥


<!--
<sect1>Controlling with TRIAC #1
<p>
If you only want a simple circuit, you can use Motorola's 
triac driver MOC301[012], together with a general purpose TRIAC like SC141D.
This method has the advantage that you don't need an extra power supply.
-->

<sect1>トライアックによる制御 その１
<p>
ただ簡単な回路を望んでるだけなら、SC141D のような汎用
のトライアックといっしょに接続して、モトローラのトライアックドライバ
 MOC301012 を使うことができる。この方法は外部電源を必要としない利点がある。

<!--
<p>For non-inductive loads this is the circuitry:
<tscreen><verb>

        270     1 +\-\-\-\-\-\-\-+ 6    180
  +5v -VAVAVA\-\-\-\-\-+       +\-\-\-\-VAVAVA\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\- Line Hot
                2 |  MOC  |               |
  TTL in \-\-\-\-\-\-\-\-\-+ 3012  +nc            VA  SC141D
                  |       | 4           / |
                nc+       +\-\-\-\-\-\-\-\-\-\-\-\-/  |
                  +\-\-\-\-\-\-\-+               +\-\-\-\-\/\/\/\-\-\-\- Line Neutral
                                                LOAD
</verb></tscreen>
-->

<p>無誘導負荷のための回路 ―
<tscreen><verb>


      270     1 +-------+ 6    180
+5v -VAVAVA-----+       +----VAVAVA-----+-------------- Line Hot
              2 |  MOC  |               |
TTL in ---------+ 3012  +nc            VA  SC141D
                |       | 4           / |
              nc+       +------------/  |
                +-------+               +----\/\/\/---- Line Neutral
                                              LOAD


</verb></tscreen>

<!--
<p>If you are going to work with 220V, prefer a 3021.
Inductive loads should be used in conjuction with bypass capacitors,
see <em>Motorola Application Note AN-780</em>.
Coffee-machines are mainly resistive loads and not inductive (like a motor),
but who knows what's yours...
-->

<p>もし 220V の電圧で働かせるつもりなら、3021 がいいだろう。
誘導負荷は、バイパスキャパシタが入った電気伝導で使われるべきだ。
モトローラ アプリケーションノートAN-780を参照。
コーヒーメーカーは、主に抵抗負荷で(モーターのみたいな)誘導性では
ない。でも、あなたのはどうかな‥‥


<!--
<sect1>Controlling with TRIAC #2
<p>
-->

<sect1>トライアックによる制御 その２
<p>

<!--
<tscreen><verb>
+5VDC
|    180                      180            2.2k
+\-\-\-/\/\/\\-\-\-\-+\-\-\-\-\-+   +\-\-\-\-/\/\/\-+\-\-/\/\/\\-\-\-+\-\-\-\-\-\-\-> 120V
              |    1|   |6         |           |         Hot
              |    +=====+         |           | MT1
              |    | MC  | TRIAC   |          +\-+
              |    | 3032| Driver  |        G | | TRIAC
              |    +=====+         |         /| |
              \    2|   |4         |        / +\-+
       2N3904  |\-\-\-\-+   |          |        |  | MT2
              /     |   +\-\-\-\-\-\-\-\-\- | \-\-\-\-\-\-\-+  |
             V      \              |        |  |
             |      /              |        \  |
             |      \ 43    .01u  \-\-\-   10k /  |
             |      /       500V  \-\-\-       \  |
             |      |              |        /  |
             +\-\-\-\-\-\-+              |        |  |            Neutral
             |                     +\-\-\-\-\-\-\-\-+\-\-+\-\-\-o    o\-\-> 120V
             /                                      load
 >-/\/\\-\-|  2N3904
             \
              V
              |
             \-\-\-
            ///
You should change resistors accordingly for 220V.
</verb></tscreen>
-->

<tscreen><verb>
+5VDC
|    180                      180            2.2k
+---/\/\/\----+-----+   +----/\/\/-+--/\/\/\---+-------> 120V
              |    1|   |6         |           |         Hot
              |    +=====+         |           | MT1
              |    | MC  | TRIAC   |          +-+
              |    | 3032| Driver  |        G | | TRIAC
              |    +=====+         |         /| |
              \    2|   |4         |        / +-+
       2N3904  |----+   |          |        |  | MT2
              /     |   +--------- | -------+  |
             V      \              |        |  |
             |      /              |        \  |
             |      \ 43    .01u  ---   10k /  |
             |      /       500V  ---       \  |
             |      |              |        /  |
             +------+              |        |  |            Neutral
             |                     +--------+--+---o    o--> 120V
             /                                      load
    >-/\/\--|  2N3904
             \
              V
              |
             ---
            ///
220Vで使う為には抵抗を換えなければならない。
</verb></tscreen>

<!--
<p>Circuit description:
<P>The MC3032 is an optoisolator TRIAC driver. 
The 180-ohm resistor sets the current for the LED emitter in the optoisolator. 
Change the value of this resistor - if necessary - to get reasonable current 
(e.g., 15 mA).
<P>
Note that you cannot test this circuit without a load.
The TRIAC will not switch unless connected to an AC
voltage source, so you can't test it for simple switching w/o applying AC 
and a load. Note the 500V rating on the .01 cap.
-->

<p>回路の説明―
<p>MC3032 は、フォトカプラ トライアック ドライバである。180Ω の抵抗は、
フォトカプラ内にあるLEDの電流を設定する。
適切な電流(例えば 15mA)がもし必要なら、その抵抗の値を変えること。
<p>負荷のないこの回路でテストできないことに注意しよう。
トライアックは、交流電圧源に接続されていないかぎりスイッチしないだろう。
だから、交流電源を加えなかったり負荷がない状態にあっては簡単にスイッチング
のテストを行うことはできない。.01 キャパシタの 500V 耐圧に注意。
<!--
<sect>Software
<p>
-->

<sect>ソフトウェア
<p>

<!--
<sect1>Software
<p>

You will have to build an executable that will perform like this:
<itemize>
<item>Get permissions to use I/O address space, by calling kernel, with
the command <bf>ioperm</bf>: eg <em>ioperm( BASE, range ,1); </em>
<item>Perform an out request instruction, to set the 0-5V voltage to the
parallel port, eg <em>outb( 1, BASE );</em>
<item>Wait for enough time so that coffee gets ready. It would be nice
if that time is read by looking at the command line.
<item>Then it will turn off the coffee-machine: outb( 0 , BASE );
<item>Before ending it should give back the paraller port with a <em>ioperm( BASE, range, 0);</em>
</itemize>
Change BASE = 0x3bc for /dev/lp0, 0x378 for /dev/lp1, and 0x278
for /dev/lp2, range=8.
-->

<sect1>ソフトウェア
<p>
以下のような機能を持った実行プログラム を設計するべきだろう。
<itemize>
<item><bf>ioperm</bf> コマンドでカーネルコールすることによって、
I/O アドレス空間を使うために許可を得る。
例えば、<em>ioperm(BASE, range ,1);</em> となる。
<item>パラレルポートを 電圧 0-5V にするために、出力要求命令を実行する。
例えば、<em>outb(1,BASE); </em> となる。
<item>コーヒーが用意される十分な時間を待機する。
コマンドラインで確認することで時間が読めるなら親切だな。
<item>その次にコーヒーメーカー電源を切る― outb( 0 , BASE );
<item>終了前に、<em>ioperm(BASE, range, 0);</em> を使って
パラレルポートを返すべきだろう。
</itemize>
/dev/lp0 なら BASE = 0x3bc , /dev/lp1 なら BASE = 0x378 ,
/dev/lp2 なら BASE = 0x278  
, range=8 に変更するべし。


<!--
<p>It would be nice if you had that program setuid, 
so that everybody can drink coffee!
-->

<p>
そのプログラムを setuid しておけば、だれもがコーヒーを飲めるので、
より親切だろうね。

<!--
<sect1>Device driver
<p>

Just read <htmlurl
  url="http://www.redhat.com:8080/HyperNews/get/khg.html"
  name="kernel hacker's guide">, 
implement a device driver (it could even be user space i think). 
Please, compile it as a module, so that we won't need a 
kernel compile in every update.
Then write:
-->

<sect1>デバイスドライバ
<p>

<htmlurl
  url="http://www.redhat.com:8080/HyperNews/get/khg.html"
  name="kernel hacker's guide"> を読んで
、デバイス ドライバを実装する。
(それはユーザ空間にできるだろうと私は考えている。)
アップデートの度にカーネルコンパイルしなくていいように、
モジュールとしてコンパイルして下さいね。次のように書く―
<!--
<verb>
echo cappuccino >/dev/coffee
</verb>
-->
<verb>
echo cappuccino >/dev/coffee
</verb>
<!--
And you will have a hot cup of coffee in 1 minute.
Remember to give the right permission to /dev/coffee, 
depending on whether you want only root making coffee or not.
-->

すると、１分で熱いコーヒーができるだろう。
/dev/coffee に許可を与えるのを忘れないことだ。それは root だけにしか
コーヒーを作ることを望まないか否かに依存する。

<!--
<p>The advantage of this method is that it supports feedback
from the coffee-machine by using the ACK of parallel port,
so that smart coffee-machines could produce an interrupt.
-->

<p>この方法の利点は、パラレルポートの ACK を使ってコーヒーメーカーからの
フィードバックをサポートすることで、
賢いコーヒーメーカーなら割り込みをかけることが可能だ、という点にある。

<!--
<p>Do it as homework.
-->

<p>それは宿題とする。

<!--
<sect1>Connecting with the Internet
<p>
If you have implemented the C programme (see above),
you just have to write down a simple CGI script to turn ON and OFF
the coffee-machine.
You should write some nice webpages, explaining how to make coffee,
and put them at an <bf>apache</bf> web server...
-->

<sect1>インターネットとの接続
<p>
C プログラムを書いたことがあるなら(前述)、コーヒーメーカーを ON/OFF する
簡単なCGIスクリプトを書くだけでよい。
どうやってコーヒーを作るかを説明して、それらを <bf>apache</bf> web server 
に置いたら、きっと素敵なウェブページが書けるだろう。
<!--
<sect>Overdose symptoms
<p>
<itemize>
<item>excitement
<item>nervousness
<item>insomnia
<item>tachycardia or cardiac arhythmia
<item>gastrointestinal disturbance
<item>restlessness
</itemize>
-->

<sect>飲みすぎの症状
<p>
<itemize>
<item>興奮
<item>神経過敏
<item>不眠症
<item>瀕脈や心臓不整脈
<item>食欲不振
<item>落ち着かない状態
</itemize>

<!--
<sect>Expansions
<p>These are our ideas:
<itemize>
<item>All hardware and software described here, can be expanded so that
it will support toast, beaf, applepies, etc.
<item>Cluster with 8 coffee-machines. This will let you have coffee
even when the one gets off. Of course there will be a perfomance hit.
<item>Parallel vector coffee-machine will be a future release.
<item>If you want the maximum automation you'll need more circuits and
censors, so that you can control water flow, temperature, coffee
quantity etc.
<item>In the near future we will implement SNMP features.
<item>Serial coffee-machine at 115Kbps.
</itemize>
-->

<sect>拡張
<p>我々のアイデアは―
<itemize>
<item>ここに述べた全てのハードウェアおよびソフトウェアは、
トースト、肉、アップルパイ、その他をサポートするように
拡張することができるだろう。
<item>８機によるコーヒーメーカー クラスタ。どれかが空になっても、
安定してコーヒーが飲めるようになるんだ。
もちろん、適したできばえになる。
<item>並列ベクトル処理コーヒーメーカーが次にリリースされるだろう。
<item>もし、可能な限り自動化を達成したいなら、水の量、温度、コーヒーの量
を制御できるように、さらに回路やセンサを必要とするだろう。
<item>近い将来、SNMP を実装するだろう。
<item>115Kbps シリアル通信コーヒーメーカー
</itemize>

<!--
<sect>References
<p>
<itemize>
<item><htmlurl
  url="http://daisy.uwaterloo.ca/~alopez-o/caffaq.html"
  name="http://daisy.uwaterloo.ca/~alopez-o/caffaq.html">
This is Internet's <bf>Coffee-FAQ</bf>
<item><htmlurl
  url="http://lonestar.texas.net/~andrew/f_pc_.htm"
  name="http://lonestar.texas.net/~andrew/f_pc_.htm">
A lot of circuits in ASCII. Some of them are for parallel port.
<item><htmlurl
  url="http://shell.rmi.net/~hisys/parport.html"
  name="http://shell.rmi.net/~hisys/parport.html">
Whatever you wanted to learn about a parallel port and didn't dare to ask.
<item><htmlurl
  url="http://sunsite.unc.edu/LDP/HOWTO/mini/IO-Port-Programming"
  name="http://sunsite.unc.edu/LDP/HOWTO/mini/IO-Port-Programming">
Programming of I/O ports under popular operating system Linux.
<item><htmlurl
  url="http://www.redhat.com:8080/HyperNews/get/khg.html"
  name="http://www.redhat.com:8080/HyperNews/get/khg.html">
How to write your own device drivers. Come on, do it!
<item><htmlurl
  url="http://www.hut.fi/Misc/Electronics/circuits/parallel_output.html" 
name="http://www.hut.fi/Misc/Electronics/circuits/parallel_output.html">
Tomi Engdahl's web page is a *must see* for everyone who likes
electronics.
<item><htmlurl 
url="http://www.yahoo.com/Computers_and_Internet/Internet/Entertainment/Interesting_Devices_Connected_to_the_Net/Coffee_Machines/"
name="http://www.yahoo.com/Computers_and_Internet/Internet/
Entertainment/Interesting_Devices_Connected_to_the_Net/Coffee_Machines/">
Coffee-machines on-line. Unfortunatelly, there are no tests.
<item><htmlurl
  url="http://www.cs.su.oz.au/~bob/coffee.html"
name="http://www.cs.su.oz.au/~bob/coffee.html">
This coffee-machine offers only cappuccino. It should be upgraded!
<item><htmlurl
  url="http://einstein.et.tudelft.nl/~janssen/"
 name="http://einstein.et.tudelft.nl/~janssen/">
Hot coffee from Netherlands.
<item>http://circe.chinalake.navy.mil/cgi-bin/spion/snapit.cgi
<item>http://www.cl.cam.ac.uk/coffee/coffee.html
<item>http://www.menet.umn.edu/coffeecam/
</itemize>
-->

<sect>参考文献
<p>
<itemize>
<item><htmlurl
  url="http://daisy.uwaterloo.ca/~alopez-o/caffaq.html"
  name="http://daisy.uwaterloo.ca/~alopez-o/caffaq.html">
これはインターネットの <bf>Coffee-FAQ</bf> だ。
<item><htmlurl
  url="http://lonestar.texas.net/~andrew/f_pc_.htm"
  name="http://lonestar.texas.net/~andrew/f_pc_.htm">
アスキーコードでの多くの回路がある。それらの幾つかはパラレルポート
に関するものだ。
<item><htmlurl
  url="http://shell.rmi.net/~hisys/parport.html"
  name="http://shell.rmi.net/~hisys/parport.html">
パラレルポートについて詳しく知りたいが、わざわざ質問したくないなら。
<item><htmlurl
  url="http://sunsite.unc.edu/LDP/HOWTO/mini/IO-Port-Programming"
  name="http://sunsite.unc.edu/LDP/HOWTO/mini/IO-Port-Programming">
人気のオペレーティングシステム Linux での I/O ポートのプログラミング
<item><htmlurl
  url="http://www.redhat.com:8080/HyperNews/get/khg.html"
  name="http://www.redhat.com:8080/HyperNews/get/khg.html">
あなた独自のデバイストライバを書くための How to だ。
さあ書いてみよう!
<item><htmlurl
  url="http://www.hut.fi/Misc/Electronics/circuits/parallel_output.html" 
name="http://www.hut.fi/Misc/Electronics/circuits/parallel_output.html">
エレクトロニクスが好きな者なら、Tomi Engdahl のウェブページ
は -必見- である。
<item><htmlurl 
url="http://www.yahoo.com/Computers_and_Internet/Internet/Entertainment/Interesting_Devices_Connected_to_the_Net/Coffee_Machines/"
name="http://www.yahoo.com/Computers_and_Internet/Internet/
Entertainment/Interesting_Devices_Connected_to_the_Net/Coffee_Machines/">
コーヒーメーカー オンライン。あいにく確かめてません。
<item><htmlurl
  url="http://www.cs.su.oz.au/~bob/coffee.html"
name="http://www.cs.su.oz.au/~bob/coffee.html">
This coffee-machine offers only cappuccino. It should be upgraded!
このコーヒーメーカーはカプチーノだけを提供する。そんなのは
改善されるべきだろう！
<item><htmlurl
  url="http://einstein.et.tudelft.nl/~janssen/"
 name="http://einstein.et.tudelft.nl/~janssen/">
オランダ産ホットコーヒー
<item>http://circe.chinalake.navy.mil/cgi-bin/spion/snapit.cgi
<item>http://www.cl.cam.ac.uk/coffee/coffee.html
<item>http://www.menet.umn.edu/coffeecam/
</itemize>
<!--
<sect>etc
<sect1> preface
<P>
This document was initially written in hellenic (greek), originating from
a small debate in the linux-greek-users list , 
whether linux can make coffee or not.
It has been an article in our beautiful online magazine
on Linux called "magaz": <htmlurl
  url="http://www.linux.gr/magaz" name="http://www.linux.gr/magaz">.
Remember, that magaz is greek.
-->
<sect>その他
<sect1>序文
<P>
このドキュメントは、「Linux でコーヒーが作れるか否か」という
linux-greek-users メーリングリストでの
ちょっとした議論に端を発して、まずギリシャ語で書かれたのです。
それは "magaz" という Linux 関係の素晴らしいオンラインマガジン
での記事になりました― <htmlurl
  url="http://www.linux.gr/magaz" name="http://www.linux.gr/magaz">
magaz もギリシャ語です。念のため。

<!--
<sect1> Authorship and maintenance
<P>
My name is <htmlurl url="http://www.ceid.upatras.gr/~gef" 
name="Georgatos Photis">, still-yet-foralongmaybe student at 
Computer Engineering and Informatics department in University of Patras.
Usually, I am pretty busy with the greek documentation and 
webpages maintainance, but I can accept submissions to this HOWTO, as long
as you don't be anxious on the changes.
-->

<sect1>著者とメンテナンスに関すること
<P>
私の名前は、<htmlurl url="http://www.ceid.upatras.gr/~gef" 
name="Georgatos Photis">といいます。まだまだ学生です。
Patras 大学で、情報学部コンピュータ工学科に在籍しています。
普段は、ギリシャ語のドキュメントとウェブページのメンテナンス
にひどく忙しいですが、読者が更新を望んでいてくれる限り、
この HOWTO へのご意見を受け付けます。

<!--
<sect1> Copyrights
<P>
The casual copyright with everything you get with linux...
To find it, you'll have to read all of them and count the most common.
Otherwise, no, you can't copy it.
-->

<sect1> 著作権表示
<P>
The casual copyright with everything you get with linux...
To find it, you'll have to read all of them and count the most common.
Otherwise, no, you can't copy it.

<!--
<sect1> Credits
<p>
<itemize>
<item><htmlurl
url="http://sunsite.unc.edu/expo/1492.exhibit/c-Columbus/columbus.html"
  name="Christofer Colombus">. His real name is Cristobal Colon.
He was the 1st one who brought coffee from America, which was
for first discovered (among Europeans) by him in 1492.
<item> Kostas Lialiambis is the one who dared saying that he can't make 
coffee with his Linux box!
<item> Panagiotis Vrionis, Yannakopoulos Haralambos, for giving me
interesting and humoristing notes.
</itemize>
</article>
-->

<sect1>Credits
<p>
<itemize>
<item><htmlurl
url="http://sunsite.unc.edu/expo/1492.exhibit/c-Columbus/columbus.html"
  name="Christofer Colombus">. 
彼の実の名は、Cristobal Colon である。彼は、
1492年に(ヨーロッパ人としては)最初にアメリカを発見した。
そのアメリカからコーヒーを運んだきた最初の人物だ。
<p>
(訳者：後に Georgatos とのメールで知らされたことだが、
コロンブスはチョコレートと
タバコとジャガイモを運んだがコーヒーは違うということだ。彼自身、
それを後に知ったそうだ。)
<item> Kostas Lialiambis は、大胆にも Linux Box で
コーヒーはできないと言った人物である。
<item> Panagiotis Vrionis、Yannakopoulos Haralambos、 
興味とユーモアを私に与えてくれた。
</itemize>

<sect>訳者より
<p>
翻訳に関するご意見ご感想は、近藤健治 &lt;m99108@ecip.osakac.ac.jp&gt;
までお願いします。著者によると、このドキュメントは近いうちに更新される
そうです。その時は日本語も更新したいと思います。

<p>
翻訳に際し、下記の方々にアドバイスを頂きました。ありがとうございました。
<verb>
藤原 輝嘉さん   &lt;fjwr@mtj.biglobe.ne.jp&gt;
菊谷 誠さん     &lt;kikutani@sprintmail.com&gt;
日下部 陽一さん &lt;void@merope.opus.or.jp&gt;
水原 さん       &lt;mizuhara@vienna.coup.rim.or.jp&gt;
佐野 武俊さん   &lt;xlj06203@nifty.ne.jp&gt;
森本 淳さん     &lt;morimoto@xantia.citroen.org&gt;
武井 伸光さん   &lt;tak@Polytype.cc.kochi-u.ac.jp&gt;
神森 豊さん     &lt;utaka@intercity.or.jp&gt;
</verb>
</article>
