COFFEE-HOWTO

Самые надоедливые замечания по программному обеспечению, которые мне приходилось когда-либо слышать, это о погоде или что что-то может делать кофе. Так вот, Linux ДЕЛАЕТ кофе. И оно вполне приятно на вкус!

COFFEE-HOWTO

Georgatos Photis, gef@ceid.upatras.gr

v0.5, 15 January 1998

Translated by Ilgiz Kalmetev (2:5011/36.6@fidonet)

Оглавление

Самые надоедливые замечания по программному обеспечению, которые мне приходилось когда-либо слышать, это о погоде или что что-то может делать кофе. Так вот, Linux ДЕЛАЕТ кофе. И оно вполне приятно на вкус!

В течение длительного времени, человечество задавалось вопросом, как мог бы компьютер делать кофе ... Людям нужен кофе, чтобы быть активными и достойно держаться перед компьютером в течение длительного времени. Каждый знает, что писать программы лучше ночью ...

Основная проблема - как управлять кофеваркой с помощью компьютера, так, чтобы она управлялась программно. Это вообще означает, что переключатель "ВКЛ.-ВЫКЛ." выполняется в виде схемы, которая управляет питающим напряжением кофеварки.

1. Меню

1.1. French

Популярный кофе среди программистов, потому что он не нуждается в попечении, как и все коммерческое программное обеспечение. Захватывающий вкус вдохновил тысячи программистов на написание невероятного программного обеспечения, написанное в самые первые наши дни. Windows, например, написан в 5:00 часа утра, благодаря именно этому кофе! Результат гарантируется.

1.2. Nescaffe

Nescaffe - довольно сильный кофе, приготовляемый смешиванием в кипятке кофе, сахара и немного воды. Вы обычно берете 1 ложку кофе и 1 ложку сахара с небольшим количеством воды и смешиваете это. Тем временем ваш кипяток должен быть готов. Как только вода достаточно нагреется, вы смешиваете все вместе и по вкусу добавляете молоко.

Хотя вы можете использовать что-нибудь попроще, чем кофеварку, чтобы вскипятить воду, я наблюдал этот процесс много раз ...

1.3. frappe

Популярная разновидность вышеупомянутого кофе. Фактически, кофеварки не требуется, достаточно холодильника, чтобы получить холодную воду и кубы ICE.

1.4. freddo

Это - трудно, читайте coffee-faq (см. Ссылки)

1.5. cappuccino (добавить)

1.6. (добавить) espresso

2. Электронная схема

Общая диаграмма примерно такая:

--------- 0-5V  --------- ~220V  ---------------
|  PC   |===>===| Цепь  |========|  Кофеварка  | 
---------       ---------        ---------------
Концепция такая - мы подаем управляющее напряжение с компьютера, который управляет электрически изолированной схемой с помощью реле или Triac.

Вы должны выбрать схему с реле, если у вас большая кофеварка (более 200W или около того), иначе вы можете использовать схему с triac.

Все представленные схемы проверены по крайней мере один раз, но ответственность за последствия - ПОЛНОСТЬЮ ВАША. Если вы не знакомы с электроникой, вы не должны пробовать сделать эти схемы, иначе вы можете заработать неприятности...

Вы должны быть очень осторожны при экспериментировании с 220V, и в выборе соответствующего плавкого предохранителя.

2.1. Подача напряжения 0-5V из компьютера

Вот простой пример, как получить напряжение 0-5V из параллельного порта компьютера.
Разъем DB-25         -----    Pin 10 - ACK
(мама) вид           |   |    Pin  9 - D7 
сзади                |   |                           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     /
   \______________________________________________________/
Подробно:
 <= вход  DB25    Cent    Название        Рег
 => выход вывод   pin     сигнала         Бит   Примечание
------  ----    ----    --------          ---     -----------------------------
  =>       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

2.2. Управление с помощью реле

Самая простая схема, которую кто-то может построить:
                                    Vcc
                                     |
                                     +------+
                                     |    __|__
                                 Сердечник /^\  Диод 1N4002
                                    Реле  /---\
                                     |      |
                                     +------+
                                     |
                                  | /
                        4.7K    Б |/  К
штырек параллельного >-\/\/\/\/---|        Транзистор n-p-n: BC547A или 2N2222A
порта (данные)                    |\  Э
                                  | V
                                    |
штырек параллельного >--------------+
порта (земля)                       |
                                 Земля
Vcc - напряжение, которое нужно реле по спецификации (обычно 5 или 12V). Очевидно, спецификации реле должны быть приемлемы для вашей кофеварки.

Barmen, обычно, имеют тенденцию, помещать реле ПОСЛЕ транзистора, на эммитер (Э) вместо коллектора (К). Это - плохо, потому что транзистор ужасно смещен, и это может привести к плохому кофе. Диод 1N4002 полезен для защиты транзистора от токов реле. Если вы не будете его использовать, транзистор потемнеет и начнет вонять...

2.3. Управление с TRIAC #1

Если вы хотите реализовать простую схему, то вы можете использовать драйвер triac фирмы Motorola MOC301 [012], вместе с универсальным TRIAC типа SC141D. Этот метод имеет то преимущество, что вы не нуждаетесь в дополнительном питании.

Схема для неиндуктивных нагрузок:

               270     1 +-------+ 6    180
         +5v -VAVAVA-----+       +----VAVAVA-----+-------------- Горячая линия
                       2 |  MOC  |               |
       TTL-вход ---------+ 3012  +nc            VA  SC141D
                         |       | 4           / |
                       nc+       +------------/  |
                         +-------+               +----\/\/\/---- Нейтральная линия
                                                     Нагрузка
Если вы собираетесь работать с 220V, то выбирайте 3021. Индуктивные нагрузки должны использоваться совместно с блокировочными конденсаторами, см. примечание приложения фирмы Motorola AN-780. Кофеварки - это главным образом резистивная нагрузка, а не индуктивная (как у двигателя), но кто знает, что там у вас ...

2.4. Управление с TRIAC #2

       +5VDC
       |    180                      180            2.2k
       +---/\/\/\----+-----+   +----/\/\/-+--/\/\/\---+-------> 120V
                     |    1|   |6         |           |         Горячая
                     |    +=====+         |           | MT1
                     |    | MC  | TRIAC   |          +-+
                     |    | 3032| Драйвер |        G | | TRIAC
                     |    +=====+         |         /| |
                     \    2|   |4         |        / +-+
              2N3904  |----+   |          |        |  | MT2
                     /     |   +--------- | -------+  |
                    V      \              |        |  |
                    |      /              |        \  |
                    |      \ 43    .01u  ---   10k /  |
                    |      /       500V  ---       \  |
                    |      |              |        /  |
                    +------+              |        |  |            Нейтраль
                    |                     +--------+--+---o    o--> 120V
                    /                                    нагрузка
        >-/\/\--|  2N3904
                    \
                     V
                     |
                    ---
                   ///
       Для 220В вы должны соответственно изменить резисторы.
Описание схемы:

MC3032 - оптопарный TRIAC драйвер. 180-омный резистор устанавливает ток для эммитера светодиода в оптопаре. Измените значение этого резистора в случае необходимости, чтобы получить приемлемый ток (например, 15 mA).

Обратите внимание, что вы не можете проверить эту схему без нагрузки. TRIAC не будет включаться, если он не подключен к AC источнику напряжения, так что вы не сможете проверить его на простое переключение без применения AC и нагрузки. Обратите внимание на значение 500V на конденсаторе .01 .

3. Программное обеспечение

3.1. Программное обеспечение

Вы должны будете создать выполнимую программу, которая работает примерно так: Был бы хорошо, если вы установили эту программу setuid, чтобы каждый мог попить кофе!

3.2. Драйвер устройства

Прочитайте kernel hacker's guide, напишите драйвер устройства (я думаю, он мог бы быть даже в пространстве пользователя). Пожалуйста, скомпилируйте его как модуль, чтобы мы не нуждались в компиляции ядра при каждой модификации. Затем напишите:
echo cappuccino >/dev/coffee
И вы получите горячую чашку кофе в течение 1 минуты. Не забудьте дать правильные права доступа на /dev/coffee, в зависимости от того, хотите ли вы, чтобы только root делал кофе или нет.

Преимущество этого метода в том, что он поддерживает обратную связь от кофеварки, используя сигнал ACK параллельного порта, чтобы интеллектуальные кофеварки могли бы вырабатывать прерывание.

Это будет вашей домашней работой.

3.3. Соединение с Интернетом

Если вы написали программу на C (см. выше), то для включения/выключения кофеварки вы должны написать простой сценарий CGI.

Вы должны написать какую-нибудь симпатичную веб-страницу, объясняя, как делать кофе, и поместить ее на веб-сервер apache ...

4. Признаки передозировки

5. Расширения

Вот наши идеи:

6. Ссылки

7. И т.д

7.1. Послесловие

Этот документ был первоначально написан на эллинском (греческом) языке, из-за возникших маленьких дебатов в списке почтовой расслки linux-greek-users на тему, может ли linux делать кофе или нет. Это было статьей в нашем красивом интерактивном журнале Linux, называемом "magaz": http://www.linux.gr/magaz.

Помните, что magaz греческий.

7.2. Авторство и сопровождение

Мое имя - Georgatos Photis, я пока-что-еще студент на кафедре Вычислительной техники и Информатики в университете Patras. Обычно, я занят греческой документацией и сопровождением веб-страниц, но я могу принимать участие в этом HOWTO, пока это вас не начнет беспокоить.

7.3. Авторские права

Самый обычный copyright, такой же, как и для всего, что поставляется с Linux. Чтобы найти его, вам придется перечитать все соглашения об авторских правах и выбрать встречающееся наиболее часто.

Иначе, нет, вы не сможете копировать этот документ.

7.4. Благодарности

[ опубликовано 23/05/2003 ]

Georgatos Photis (gef@ceid.upatras.gr). Перевод: Ilgiz Kalmetev (2:5011/36.6@fidonet) - COFFEE-HOWTO