  COFFEE-HOWTO
  Georgatos Photis, <gef@ceid.upatras.gr>
  v0.5, 15 January 1998
  ߓ  <m99108@ecip.osakac.ac.jp>
  v0.5j1, 10 December 1999

  ܂łɕŁA\tgEFAɂčłCɂȂӌ̈
  ́Aꂱ̃\tgEFAŃR[q[邱Ƃł̂Ƃ
  BȂ킯ǁALinux ̓R[q[mɍ邱Ƃł̂ł
  BāAӊOɂ͎|񂾂!

  ԁAlނ͂ǂ΃Rs[^ŃR[q[邱Ƃł邩l
  ĂddlX́AԃRs[^̑OŋNQ萳Cł邽
  ɃR[q[KvȂ񂾁BR[fBO͖邪ǂƂ̂͏펯낤dd

  ŎȖ́AR[q[[J[\tgEFA䂷̂ɁAǂ
  ăRs[^ɂ(n[hEFA)słB͑̂ɂ
  āAR[q[[J[̓d𐧌䂷HƂē ON/OFF XCb`̂
  ƂwĂB

  1.  j[

  1.1.  t`

  ̔̃\tg݂ɁA܂Cz炸ɍŁAvO
  }ɂ͂Ȃ݂̃R[q[B̃GLTCeBOȖƂA
  ̈ԑԂɋ̃\tgEFAƂɐmȂvO}
  NĂ̂BAႦ Windows ́At`ER[q[ɏ
  Ē5ɏꂽ񂾁Bڂ̂قǂ͕ۏ؍ς݁AĂ킯ˁB

  1.2.  lXJtF

  lXJtF́AR[q[ƍƏ̐̂ɂ𒍂犮
  ́Aǂ炩ƂΔZR[q[B̓R[q[PƍP
  ɏ̐ĂB̊Ԃɂ𕦂ĂāA悭
  炷ɁASĂɍčD݂Ń~NB
  𕦂̂ɃR[q[[J[ȒPȂ̂g񂾂ǂA
  @ƍlĂ񂾁B

  1.3.  tby

  (: tby̓JNëAׂӂXɗlX̃L[
  B)

  LŏqׂR[q[̈ʓIȃoG[VBۂɕKvȂ̂̓R[
  q[[J[Ȃ񂩂ȂāA␅ƕX𓾂邽߂̗①ɂȂ񂾂ǂˁB

  1.4.  tbh

  ͂ނAcoffee-faq ǂB(Q)

  1.5.  Jv`[m ()

  1.6.  GXvb\ ()

  2.  dqH

  T}́AȊ\

       --------- 0-5V  --------- ~220V  ------------------
       |  PC   |===>===| H  |========|R[q[[J[|
       ---------       ---------        ------------------

  ̍ĺA[gCAbNȂ񂩂œdCIɐ≏ꂽH쓮
  Rs[^A炪d̐sƂɂ킯B

  傫R[q[[J[(200WxAȏ̂)pȂA[
  HIׂBłȂ΃gCAbNx[X̂̂gƂ
  B

  ЉꂽSẲH͏ȂƂP̓eXgǁǍʂɂ
   -̐ӔC- ɂȂBAȂɓdqHw̒mȂA
  HɃgCׂłȂBȂƁAԂ}YCƂɂȂ邾
  B

  d220VŎ݂ƂAȂ͂悭ӂčsׂBƓK؂
  q[Ygp͎̂xł͂ȂB

  2.1.  Rs[^ 0-5V ̓d쓮

  ɁARs[^̃p|[g 0-5V̓d𓾂邽߂̊ȒP
  B

       납猩       -----    Pin 10 - ACK
       IX  DB-25        |   |    Pin  9 - D7
       RlN^           |   |                           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     /
          \______________________________________________________/

  Pin 1  strobe (_)

  Pin 2-9 ̓f[^oXMBOUTB R}hŃp|[g̃b`ɏ
  ܂B

  Pin 10 ́Af[^荞݊M(ACK)B͎Ő䂷邱ƂŁA
  CPU Ɋ荞݂邱ƂłB

  Pin 18-25 ͒ZĂOh(GND)łB

  ڍׁ\

       <=  DB25    Cent                    Reg
       => o s    s    M          Bit     @\
       ------  ----    ----    --------        ---     -----------------------------
       =>       1       1      -Strobe         C0-     0.5sȏ"L"pXMŃZbg
       =>       2       2      Data 0          D0      ŉʃf[^ɃZbg
       =>       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      ŏʃf[^ɃZbg
       <=      10      10      -Ack            S6+ IRQ 󂯎A`5s"L"pXŃZbg
       <=      11      11      +Busy           S7-     Ms\/ItC/G["H"
       <=      12      12      +PaperEnd       S5+     ؂ "H"
       <=      13      13      +SelectIn       S4+     v^̑IԂ"H"
       =>      14      14      -AutoFd         C1-     ŝ߂Ƀ[Zbg
       <=      15      32      -Error          S3+     G[/ItC/؂ "L"
       =>      16      31      -Init           C2+     ̂߂ɂ 50msȏ"L"pXZbg
       =>      17      36      -Select         C3-     v^Î߂ɂ"L"Zbg
       ==      18-25   19-30,  Ground

  2.2.  [ɂ鐧

  NłAԊȒPȉHȂ炱ꂾ \

                                Vcc
                                 |
                                 +------+
                                 |    __|__
                              [   /^\  _CI[h 1N4002
                              RC  /---\
                                 |      |
                                 +------+
                                 |
                              | /
                    4.7K    B |/  C
  p|[g >-\/\/\/\/---|        NPN gWX^: BC547A or 2N2222A
  f[^s                  |\  E
                              | V
                                |
  p|[g >--------------+
  Ohs                  |
                             Oh(GND)

  [̎(5V12V)ɂdVccڑ邱ƁBO
  ǁA[̎dl̓R[q[[J[ɑ΂ēK؂ɂׂ낤B

  悭RN^(C)̑ɃG~b^(E)ɓ悤ɁAgWX^[̌
  Ƀ[uXB̓gWX^ɕsvȃoCAX邱
  ƂɂȂ̂ŁA܂łB܂R[q[ł邾낤B:-) _C
  I[h1N4002 ́A[̓dgWX^ی삷̂ɖ𗧂B_
  CI[hgpȂƁAgWX^͍ȂďLĂ邾낤d
  d

  2.3.  gCAbNɂ鐧 ̂P

  ȒPȉH]ł邾ȂASC141D ̂悤Ȕėp̃gCAbN
  ɐڑāAg[̃gCAbNhCo MOC301012 g
  ƂłB̕@͊OdKvƂȂ_B

  Ûׂ߂̉H \

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

   220V ̓dœȂA3021 낤BÚׂA
  oCpXLpV^dC`ŎgׂBg[ Av
  P[Vm[gAN-780QƁBR[q[[J[́AɒRׂ([
  ^[݂̂)Uł͂ȂBłAȂ̂͂ǂȁdd

  2.4.  gCAbNɂ鐧 ̂Q

       +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Ŏgׂɂ͒RȂ΂ȂȂB

  H̐\

  MC3032 ́AtHgJv gCAbN hCołB180 ̒ŔA
  tHgJvɂLED̓dݒ肷BK؂ȓd(Ⴆ 15mA)
  KvȂA̒R̒lς邱ƁB

  ׂ̂Ȃ̉HŃeXgłȂƂɒӂ悤BgCAbŃA
  dɐڑĂȂXCb`Ȃ낤BA𗬓d
  Ȃ蕉ׂȂԂɂĂ͊ȒPɃXCb`ÕeXgs
  Ƃ͂łȂB.01 LpV^ 500V ψɒӁB

  3.  \tgEFA

  3.1.  \tgEFA

  ȉ̂悤ȋ@\svO ݌vׂ낤B

  o  ioperm R}hŃJ[lR[邱ƂɂāA I/O AhX
     g߂ɋ𓾂BႦ΁Aioperm(BASE, range ,1); ƂȂB

  o  p|[g d 0-5V ɂ邽߂ɁAo͗v߂sB
     ΁Aoutb(1,BASE);  ƂȂB

  o  R[q[pӂ\ȎԂҋ@BR}hCŊmF
     ƂŎԂǂ߂Ȃe؂ȁB

  o  ̎ɃR[q[[J[d؂\ outb( 0 , BASE );

  o  IOɁAioperm(BASE, range, 0); găp|[gԂׂ
     낤B

     /dev/lp0 Ȃ BASE = 0x3bc , /dev/lp1 Ȃ BASE = 0x378 , /dev/lp2
     Ȃ BASE = 0x278 , range=8 ɕύXׂB

  ̃vO setuid Ă΁AR[q[߂̂ŁA
  e؂낤ˁB

  3.2.  foCXhCo

  kernel hacker's guide ǂŁAfoCX hCoB (
  [UԂɂł邾낤Ǝ͍lĂB) Abvf[g̓xɃJ[l
  RpCȂĂ悤ɁAW[ƂăRpCĉˁB
  ̂悤ɏ\

  echo cappuccino >/dev/coffee

  ƁAPŔMR[q[ł邾낤B /dev/coffee ɋ^
  ̂YȂƂB root ɂR[q[邱Ƃ]܂Ȃ
  ۂɈˑB

  ̕@̗_́Ap|[g ACK găR[q[[J[
  tB[hobNT|[g邱ƂŁAR[q[[J[Ȃ犄荞݂
  邱Ƃ\AƂ_ɂB

  ͏hƂB

  3.3.  C^[lbgƂ̐ڑ

  C vOƂȂ(Oq)AR[q[[J[ ON/OFF 
  ȒPCGIXNvgł悢BǂăR[q[邩
  āA apache web server ɒuAƑfGȃEFuy[
  W邾낤B

  4.  ݂̏Ǐ

  o  

  o  _oߕq

  o  s

  o  mSs

  o  H~sU

  o  Ȃ

  5.  g

  X̃ACfÁ\

  o  ɏqׂSẴn[hEFAу\tgEFÁAg[XgAA
     AbvpCȂT|[g悤Ɋg邱Ƃł邾
     B

  o  W@ɂR[q[[J[ NX^BǂꂩɂȂĂA肵
     R[q[߂悤ɂȂ񂾁BAKł΂ɂȂB

  o  xNgR[q[[J[Ƀ[X邾낤B

  o  A\Ȍ莩BȂA̗ʁAxAR[q[̗
     𐧌ł悤ɁAɉHZTKvƂ邾낤B

  o  ߂ASNMP 邾낤B

  o  115Kbps VAʐMR[q[[J[

  6.  Ql

  o  http://daisy.uwaterloo.ca/~alopez-o/caffaq.html ̓C^[lb
     g Coffee-FAQ B

  o  http://lonestar.texas.net/~andrew/f_pc_.htm AXL[R[hł̑
     ̉HB̊̓p|[gɊւ̂B

  o  http://shell.rmi.net/~hisys/parport.html p|[gɂďڂ
     m肽A킴킴₵ȂȂB

  o  http://sunsite.unc.edu/LDP/HOWTO/mini/IO-Port-Programming lC̃I
     y[eBOVXe Linux ł I/O |[g̃vO~O

  o  http://www.redhat.com:8080/HyperNews/get/khg.html ȂƎ̃fo
     CXgCo߂ How to BĂ݂悤!

  o  http://www.hut.fi/Misc/Electronics/circuits/parallel_output.html G
     NgjNXDȎ҂ȂATomi Engdahl ̃EFuy[W -K-
     łB

  o  http://www.yahoo.com/Computers_and_Internet/Internet/
     Entertainment/Interesting_Devices_Connected_to_the_Net/Coffee_Machines/
     R[q[[J[ ICBɂm߂Ă܂B

  o  http://www.cs.su.oz.au/~bob/coffee.html This coffee-machine offers
     only cappuccino. It should be upgraded!  ̃R[q[[J[̓Jv
     `[m񋟂BȂ͉̂Pׂ낤I

  o  http://einstein.et.tudelft.nl/~janssen/ I_YzbgR[q[

  o  http://circe.chinalake.navy.mil/cgi-bin/spion/snapit.cgi

  o  http://www.cl.cam.ac.uk/coffee/coffee.html

  o  http://www.menet.umn.edu/coffeecam/

  7.  ̑

  7.1.  

  ̃hLǵAuLinux ŃR[q[邩ۂvƂ linux-
  greek-users [OXgł̂Ƃc_ɒ[𔭂āA܂M
  Vŏꂽ̂łB "magaz" Ƃ Linux ֌W̑f炵I
  C}KWł̋LɂȂ܂\ http://www.linux.gr/magaz magaz
  MVłBÔ߁B

  7.2.  ҂ƃeiXɊւ邱

  ̖ÓAGeorgatos PhotisƂ܂B܂܂włB Patras w
  ŁAwRs[^HwȂɍݐЂĂ܂BíAMṼh
  LgƃEFuy[W̃eiXɂЂǂZłAǎ҂XV
  ]łĂA HOWTO ւ̂ӌ󂯕t܂B

  7.3.  쌠\

  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.

  7.4.  Credits

  o  Christofer Colombus.  ނ̖̎́ACristobal Colon łBނ́A
     1492N([bplƂĂ)ŏɃAJ𔭌B̃A
     JR[q[^񂾂ŏ̐lB

     (ҁF Georgatos Ƃ̃[Œm炳ꂽƂARuX
     `R[gƃ^oRƃWKC^񂾂R[q[͈ႤƂ
     BގgAɒmB)

  o  Kostas Lialiambis ́A_ɂ Linux Box ŃR[q[͂łȂƌ
     lłB

  o  Panagiotis VrionisAYannakopoulos HaralambosAƃ[A
     ^ĂꂽB

  8.  ҂

  |Ɋւ邲ӌźAߓ <m99108@ecip.osakac.ac.jp> ܂ł
  肢܂B҂ɂƁÃhLg͋߂ɍXV邻
  B͓̎{XVƎv܂B

  |ɍۂAL̕XɃAhoCX𒸂܂B肪Ƃ܂
  B

   PÂ   <fjwr@mtj.biglobe.ne.jp>
  eJ      <kikutani@sprintmail.com>
   zꂳ <void@merope.opus.or.jp>
          <mizuhara@vienna.coup.rim.or.jp>
   r   <xlj06203@nifty.ne.jp>
  X{ ~     <morimoto@xantia.citroen.org>
   L   <tak@Polytype.cc.kochi-u.ac.jp>
  _X L     <utaka@intercity.or.jp>

