Авторство и сопровождение
Меня зовут Georgatos Photis, я все-еще-может-быть студент факультета Компьютерной Инженерии и Информатики в Университете города Патрас. Обычно я занимаюсь сопровождением греческой документации и страничек, но предложения по улучшению этого HOWTO тоже принимаются.
COFFEE-HOWTO
Georgatos Photis
gef@ceid.upatras.gr
Перевод: Михаил Корепанов, ASPLinux
Один из наиболее надоевших вопросов по программному обеспечению - это может ли та или другая программа приготовить кофе. Итак Linux МОЖЕТ делать кофе. И даже неплохой!
Copyrights
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.
Драйвер для устройства
Просто прочтите kernel hacker's guide, напишите драйвер устройства (я думаю, это можно сделать и не в ядре). Откомпилируйте его как модуль, чтобы не нужно было пересобирать все ядро, при обновлении драйвера. Затем напишите:
echo cappuccino >/dev/coffee
И через минуту вы будете наслаждаться чашкой кофе. Установите соответствующие права на файл /dev/coffee - хотите ли вы, чтобы кофе готовил только root или кто-нибудь другой.
Преимущества данного метода заключаются в том, что он поддерживает обратную связь с кофеваркой, при помощи сигнала ACK параллельного порта.
Пусть это будет вашим домашним заданием.
Напряжение 0-5В, поступающее с компьютера
Простой способ получения напряжения 0-5В с параллельного порта компьютера:
Пояснения
Здесь изложены несколько наших идей:
Все идеи, предложенные здесь, могут применяться к тостам, ростбифам, булочкам и т.д.
Создайте кластер, состоящий из 8 кофеварок. Это позволит вам иметь кофе даже тогда, когда у вас сломается одна из кофеварок. Ну и, разумеется, это будет хит сезона.
Если вы хотите еще больше автоматизировать процесс, вам понадобятся еще больше схем и датчиков, для контроля потока воды, температуры, количества кофе и т.д.
В будущем мы планируем внедрить поддержку SNMP.
Последовательное соединение с кофеваркой на 115КБит/сек.
Предыстория
Этот документ изначально был написан на греческом и исходил из споров греческих пользователей Linux, может или не может Linux делать кофе. Заметка была размещена в журнале: http://www.linux.gr/magaz. на греческом языке.
Программное обеспечение
Вы должны написать программу, которая выполняла бы следующие функции:
Получить разрешение на использование адресного пространства Ввода/Вывода, обратившись к ядру командой ioperm, например, ioperm (BASE, range, 1);
Выполнить команду out для установки напряжения 0-5В на параллельном порту: например outb (1, BASE);
Подождать, пока приготовится кофе. Было бы неплохо, если бы это время вводилось в командной строке.
Выключить кофеварку: outb (0, BASE);
По окончании работы на параллельный порт должна быть подана команда: ioperm (BASE, range, 0);
Замените BASE = 0x3bc для /dev/lp0, 0x378 для /dev/lp1, и 0x278 для /dev/lp2, range=8.
Было бы здорово, если эта программа имела setuid, чтобы кофе могли пить все!
Симптомы передозировки
Воодушевление
Повышенная нервозность
Бессонница
Тахикардия или кардиоаритмия
Желудочно-кишечные возмущения
Беспокойство
Соединение с Internet
Если вы написали программу на C (см. выше), вы можете написать простенький CGI-скрипт для включения и выключения кофеварки. Неплохо было бы написать несколько познавательных страничек, объясняющих, как делать кофе и положить их на сервер apache ...
Ссылки
http://daisy.uwaterloo.ca/~alopez-o/caffaq.html
Это Internet Coffee-FAQ
http://lonestar.texas.net/~andrew/f_pc_.htm
Множество схем для ASCII, некоторые из них для параллельных портов.
http://shell.rmi.net/~hisys/parport.html
То, что вы хотели бы знать про параллельные порты, но боялись спросить.
http://sunsite.unc.edu/LDP/HOWTO/mini/IO-Port-Programming
Программирование портов Ввода/Вывода на популярной ОС Linux.
http://www.redhat.com:8080/HyperNews/get/khg.html
Как написать драйвер для своего устройства.
http://www.hut.fi/Misc/Electronics/circuits/parallel_output.html
Страничка Tomi Engdahl. Обязательна для посещения всем, кто любит электронику.
Кофеварки on-line. К сожалению не протестированы.
http://www.cs.su.oz.au/~bob/coffee.html
Эта кофеварка предложит вам только cappuccino. Она должна быть доработана!
http://einstein.et.tudelft.nl/~janssen/
Горячий кофе из Голландии.
http://circe.chinalake.navy.mil/cgi-bin/spion/snapit.cgi
http://www.cl.cam.ac.uk/coffee/coffee.html
http://www.menet.umn.edu/coffeecam/
Если вы хотите сделать простую
Если вы хотите сделать простую схему, то можете использовать схему управления Motorola MOC301[012] с симистором SC141D. Преимущество этого метода в том, что не требуется дополнительного источника питания.
Схема для неиндуктивной нагрузки:
+5В | 180 180 2.2k +---/\/\/\----+-----+ +----/\/\/-+--/\/\/\---+-------> 120V | 1| |6 | | фаза | +=====+ | | MT1 | | MC | | +-+ | | 3032| | G | | Симистор | +=====+ | /| | \ 2| |4 | / +-+ 2N3904 |----+ | | | | MT2 / | +--------- | -------+ | V \ | | | | / | \ | | \ 43 .01нф --- 10k / | | / 500V --- \ | | | | / | +------+ | | | ноль | +--------+--+---o o--> 120V / нагрузка >-/\/\--| 2N3904 \ V | --- /// вы должны заменить резисторы соответственно для 220V. |
Описание схемы:
MC3032 - это оптрон развязки симистора. Резистор на 180 Ом устанавливает напряжение на управляющем эмиттере оптрона. Если необходим другой ток (например 15мA) - измените сопротивление этого резистора.
Предупреждаю, что вам не следует пробовать эту схему без нагрузки. Симистор не включается, если его не подключить к источнику переменного тока.