COFFEE-HOWTO <author>Georgatos Photis, <<htmlurl url="mailto:gef@ceid.upatras.gr?subject=COFFEE-HOWTO" name="gef@ceid.upatras.gr">> <date>v0.5, 15 January 1998 <trans>近藤 健治 <m99108@ecip.osakac.ac.jp> <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>ネスカフェは、コーヒーと砂糖と少しの水を 混ぜたものにお湯を注いだら完成の、どちらかといえば濃いコーヒーだ。 だいたいはコーヒー1さじと砂糖1さじに少しの水を取ってかき混ぜる。 その間ににお湯を沸かしておいて、水がよく沸騰したらすぐに、 それら全てをいっしょに混ぜて好みでミルクを加える。 お湯を沸かすのにコーヒーメーカーより簡単なものを 使えるんだけども、私はこっち方法をずっと考えてきたんだ。 <!-- <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... --> 紹介された全ての回路は少なくとも1回はテストしたけど、 その結果については -自分の責任- になる。 もし、あなたに電子工学の知識が無いなら、こういった工作にトライすべき でない。さもないと、たぶんマズイことになるだろう。 <!-- <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>トライアックによる制御 その1 <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>トライアックによる制御 その2 <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. --> すると、1分で熱いコーヒーができるだろう。 /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>8機によるコーヒーメーカー クラスタ。どれかが空になっても、 安定してコーヒーが飲めるようになるんだ。 もちろん、適したできばえになる。 <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> 翻訳に関するご意見ご感想は、近藤健治 <m99108@ecip.osakac.ac.jp> までお願いします。著者によると、このドキュメントは近いうちに更新される そうです。その時は日本語も更新したいと思います。 <p> 翻訳に際し、下記の方々にアドバイスを頂きました。ありがとうございました。 <verb> 藤原 輝嘉さん <fjwr@mtj.biglobe.ne.jp> 菊谷 誠さん <kikutani@sprintmail.com> 日下部 陽一さん <void@merope.opus.or.jp> 水原 さん <mizuhara@vienna.coup.rim.or.jp> 佐野 武俊さん <xlj06203@nifty.ne.jp> 森本 淳さん <morimoto@xantia.citroen.org> 武井 伸光さん <tak@Polytype.cc.kochi-u.ac.jp> 神森 豊さん <utaka@intercity.or.jp> </verb> </article>