Вы когда-нибудь играли “по сети”? И как, понравилось? Игра с ботами не идет ни в какое сравнение… В отличие от ботов, люди могут придумать и исполнить такие финты, что поневоле тянет снять шляпу (вспомните, например, “рокет-джамп”). Только вот в большинстве случаев играть приходится по модему, вызывая недовольство домочадцев – телефон-то занят целыми часами. Локальные сети пока есть не везде, вот и приходится порой занимать телефон, хотя соперник по играм живет в соседней квартире (через стену) или в доме напротив. Или даже в одной квартире рядом (или в соседних комнатах) стоят компьютеры – “новый” и “старый”. Неужели, кроме локалок, нет других вариантов? Да и условия у всех разные – не каждый решится заняться протягиванием коаксиального кабеля или витой пары в подьезде, зная, что проводку могут элементарно срезать несознательные граждане.
Варианты для решения этой проблемы есть, причем самые разные. Начнем, как всегда, с самого простого.
Эх, провода…
Вы знаете, что такое “нуль-модем”? Это всего лишь кабель для соединения компьютеров через порты. Самый простой вариант – спаять такой кабель для СОМ-порта. Максимальная длина данного кабеля может достигать 15 метров, но при предельной длине кабеля скорость передачи уменьшается – начинает сказываться качество соединительных проводов (академически говоря, это будет уже “длинная линия с распределенными параметрами”).
Самый “малобюджетный” вариант данного соединителя должен иметь всего 3 провода. Один из них “общий”, два других – сигнальные. Сигнальные провода желательно использовать экранированные. Так получается два канала – один на прием, другой на передачу. Перемычки на контактах разъема устанавливаются для того, чтобы просигнализировать о наличии устройства, готового к обмену данными. В этом случае все работает так: если устройство, принимающее данные, не может их более принимать, оно по обратному каналу посылает байт-символ XOFF (13h). Противоположное устройство, приняв этот символ, останавливает передачу. Когда приемное устройство снова готово к приему данных, оно посылает байт-символ XON (11h), после приема которого противоположное устройство возобновляет передачу данных. Такой способ обмена носит мудреное название “Программный протокол управления потоком XON/XOFF”. Его достоинство – минимум проводов, потому что отсутствуют управляющие сигналы. Недостатки – требование наличия буфера для принимаемых данных и увеличенное время реакции (из-за ожидания прохождения сигнала XON). Поэтому общая производительность в данном случае – не самая высокая. Это всего лишь один из видов “Прямого кабельного соединения” – в WINDOWS оно находится в меню “Программы – Стандартные – Связь – Прямое кабельное соединение”. Если у вас его там нет, поставьте – может быть, и пригодится…
Примечание: если вы используете нуль-модемный кабель, необходимо ОБЯЗАТЕЛЬНО соединить корпуса компьютеров достаточно толстым проводом, чтобы выровнять потенциалы корпусов – иначе уравнивающий ток потечет по микросхемам последовательного порта, а это им не понравится. Перед подключением каких-либо устройств к портам необходимо отключить питание их обоих – и компьютера, и девайса.
Хорошо, если компьютеры стоят рядом, или, в крайнем случае, через стену в соседних комнатах (или квартирах). А если дом вашего приятеля стоит напротив, метрах так в 50-100? И телефона у него в квартире еще нет (например, дело происходит в районе новостроек). Тогда придется поднапрячься, привлечь ресурсы и фантазию…
“BlueTooth”? Нет, “RedEye”!
В последнее время на наших рынках в немерянных количествах по вполне приемлемым ценам продаются “китайские” лазерные указки. Естественно, народные умельцы в разных странах (а не только у нас) стали использовать их в самых разных схемах – от сигнализаций до переговорных устройств. Ну и, конечно, был изобретен девайс для связи компьютеров на дальности около 200 метров (естественно, при прямой видимости). А вот и его схема:
Приводится она специально в “первозданном” виде, в каком она и была опубликована в журнале “Practicka elektronica A Radio”, №3/2001, автор – Джек Катц. Вот как это все работает:
Луч лазера попадает на фототранзистор (максимум его спектральной чувствительности находится в пределах 550…1050 нм), затем через два последовательно включенных триггера Шмитта поступает на вход микросхемы . Триггеры Шмитта необходимы для того, чтобы увеличить крутизну фронтов сигнала. (Не смейтесь, термин “крутизна” в радиотехнике есть на самом деле. Например, как вам понравится выражение: “Он был крутой, как фронт прямоугольного импульса…”) Микросхема МАХ232А преобразовывает сигналы с уровнем ТТЛ/КМОП в сигналы, которые понимает последовательный порт компьютера – с уровнями примерно +-10 Вольт (ну и обратно, естественно). В данной схеме используется один канал на прием и один канал на передачу (вообще-то, микросхема позволяет организовать обмен с двумя устройствами, поэтому в ней два независимых канала на прием и два на передачу). Микросхема содержит встроенный преобразователь напряжения, поэтому ей достаточно одного источника питания +5 Вольт. Для работы преобразователя и нужны внешние конденсаторы, их емкость может находиться в пределах от 0,1 до 1 мкФ. С выхода микросхемы сигнал поступает на кабель, идущий к СОМ-порту компьютера. Преремычки на разъеме распаяны совершенно аналогично предыдущему варианту.
Сигналы от компьютера поступают на вход микросхемы, и после преобразования попадают на другие триггеры Шмитта, которые делают то же самое, что и предыдущие. Дальше сигнал приходит на шестерку мощных инверторов, включенных параллельно – это позволяет обеспечить ток около 35 мА, который требуется указке (длина волны излучаемого света около 670 нм). Включенные последовательно с указкой диоды “гасят” лишнее напряжение (на каждом из них падает около 0,7 – 1 Вольта). Напряжение питания +5 Вольт стабилизировано микросхемой типа 7805. Скорость обмена была обещана около 200 кбит (странно, скорость порта обычно вообще-то 115200, “разогнали” они его, что ли?).
Данная схема достаточно проста в изготовлении, трудностей с настройкой быть не должно. Компьютер просто обязан воспринимать ее так же, как и предыдущий кабель – в виде “Прямого кабельного соединения”.
Суровая действительность
Естественно, возникло желание собрать такую штуку и испытать ее на добровольцах. Добровольцы нашлись быстро, но вот с деталями возникли проблемы. Вместо МАХ232А прислали Р233ММХ (разница, надеюсь, понятна?..) Нужного фототранзистора тоже не оказалось. Вот и пришлось изобретать замену из доступных деталей. Деталей получилось много, но они нужны для того, чтобы обеспечить соответствие сигналов стандарту RS232. Выглядит это все, конечно, страшновато, но работает вполне удовлетворительно. (Правда, пока искалась и разрабатывалась замена, добровольцы куда-то подевались…) Элементы данной схемы могут быть использованы и в других устройствах. Работает схема так:
Сигналы с последовательного порта компьютера поступают на вход ключевой схемы, собранной на транзисторах VT1, VT2, VT3 и триггера на логических элементах DD1.2 и DD2.2. Если полярность сигнала положительная, то входное напряжение через диоды VD1, VD2 открывает транзистор VT1. На входе триггера получается низкий уровень наряжения, на его выходе устанавливается “1”. Если напряжение на входе схемы отрицательное, открывается транзистор VT2, затем VT3. Напряжение на выводе 5 меняется с высокого уровня на низкий, RS-триггер перебрасывается в другое состояние. К выходу триггера подключены последовательно соединенные триггеры Шмитта. Далее идет шестерка параллельно соединенных мощных инверторов, к выходам которых подключена лазерная указка.
Такая мудреная схема нужна для того, чтобы передатчик реагировал только на сигналы, находящиеся в пределах от –10…-3 до +3…+10 Вольт. Причем, пока сигнал колеблется между –3…+3 Вольтами, сигнал на выходе не меняется. Этот интервал и называется “зона нечувствительности”.
Световой луч от противоположного передатчика попадает на линзу фотодиода, подключенного к базе транзистора VT4. Далее – опять триггеры Шмитта, затем – вход микросхемы А1. На другой вход микросхемы подается “опорное” напряжение, с которым и сравнивается входной сигнал. Опорное напряжение получается из-за падения напряжения на прямом сопротивлении диодов VD7,VD8. К выходу операционного усилителя подключены транзисторы VT5 и VT6. Такой вариант использования операционного усилителя называется “компаратор” - устройство сравнения. В зависимости от того, какое напряжение на выходе ОУ – положительное или отрицательное, открывается транзистор VT5 и VT6 соответственно. Через резистор, ограничивающий ток на случай короткого замыкания в линии, сигнал подается на выходной разъем.
Переключатели S1 и S2 необходимы при настройке схемы. Например, при помощи переключателя S1 необходимо добиться того, чтобы лазер светился в “исходном” состоянии (или при настройке без подключения к компьютеру). При переключении S2 полярность сигнала на выходе схемы (на разъеме СОМ-порта) должна скачком меняться с положительной на отрицательную. (В большинстве случаев сразу после перезагрузки полярность сигнала ТD именно отрицательная, хотя это может зависеть от конкретной материнской платы и версии BIOS. Поэтому и используется преключатель S2 – вдруг понадобится поменять полярность сигнала.)
Советы
Для питания данного “оптического модема”можно использовать простые блоки питания, например, “китайские”, выбрав их с максимальным током примерно в 500 мА. Напряжение можно стабилизировать с помощью микросхемы
К142ЕН5Б (на 5 Вольт). Для первого варианта этого будет достаточно. Со вторым вариантом сложнее – ведь там питание двуполярное. Но проблема решается очень просто – достаточно купить второй блочок питания (желательно, аналогичный первому) и соединить все по схеме:
Переключатели напряжения в блоках питания на схеме не показаны. С их помощью необходимо выставить напряжение в 10 Вольт под нагрузкой. Светодиоды можно использовать из негодных “мышей”. Если вы планируете только кратковременные сеансы, попробуйте использовать светодиоды в пластиковых корпусах, а если же планируется установка данной системы “всерьез и надолго”, лучше поискать светодиды со стеклянными линзами (например, что-то вроде ФД-256, часто применяемых в приемниках систем дистанционного управления телевизорами). Приемные светодиоды необходимо поместить в зачерненную внутри трубку диаметром около 1 см и длиной 4-5 см для исключения боковой засветки. Питание на лазерную указку подается так: “+” на корпус указки, “-” - на внутренний контакт.
ВНИМАНИЕ! При работе с лазерной указкой будьте осторожны – не направляйте ее луч в глаза людям или животным, вы можете серьезно повредить зрение!
Лазерную указку и трубку со светодиодом лучше всего совместно (“соосно”) закрепить на чем-нибудь вроде штатива для фотоаппарата (чтобы иметь возможность наклона и поворота в любую сторону). Иначе придется комбинировать что-то из проволоки и быть готовым к тому, что в самый неожиданный момент ветром собъет настройку. Наводку блоков друг на друга лучше всего производить рано утром или вечером, когда солнечный свет не такой яркий. При этом хорошо, если под руками будет бинокль, хотя бы “театральный”.
При установки лазерно-фотодиодного блока на нужном месте (лучше всего на лоджии или балконе) избегайте попадания лазерного луча в чужие окна – там могут проживать очень нервные люди, и к вам неожиданно могут прийти в гости недовольные товарищи в бронежилетах или неразговорчивые господа в кожаных куртках (смотря кого эти нервные люди вызовут…).
Приемно-предающий блок лучше собрать в отдельном небольшом корпусе. Чтобы уменьшить число соединительных проводов, можно соединить его с основной схемой так:
Используется два экранированных кабеля, желательно небольшой длины. Изоляция на кабелях должна быть достаточно прочной – ведь по оплетке одного кабеля подается напряжение питания +5 Вольт, по оплетке другого – “корпус”. Центральные проводники идут к выводам микросхем. Естественно, оплетки кабелей в данном случае необходимо хорошо изолировать друг от друга.
Скорее всего, трудно будет достать и разъемы для СОМ-порта. Выйти из положения можно так: придется найти четыре неисправные мыши с нужными разъемами. Разъемы аккуратно разрезаются, извлекается вставка с контактами (как правило, она залита в пластмассу – это будет видно сразу, как только начнете “вскрытие”). Контактов будет всего четыре, остальные придется установить самим. Для этого в нужных местах круглым надфилем со стороны проводов аккуратно просверливаются отверстия, в которые плотно вставляются недостающие контакты. Контакт №9 в данной схеме не нужен. Вначале можно и потренироваться – все равно нужно только два разъема из четырех.
Если яркость свечения “указки” будет недостаточной, достаточно убрать один из последовательно включенных диодов.
Операционный усилитель можно заменить другим, лишь бы он относился к “быстродействующим” и выдерживал напряжение на входах не менее 3 Вольт. Если его быстродействие будет недостаточным, максимальной скорости передачи данных вы не получите.
Диоды в схеме – любые импульсные, выдерживающие прямой ток не менее 50 мА. Если при работе они будут заметно нагреваться, придется заменить их на более мощные.
Остается надеяться, что особенных трудностей при изготовлении и установке данного устройства не возникнет, а удовольствие от его использования компенсирует все переживания. Замечательно, если удастся достать МАХ232А – ведь тогда все будет достаточно просто. Скорость передачи данных будет, может быть, и невысокой – по сравнению с “фирменными” оптическими и радиомодемами. Зато и затраты на детали должны быть набольшими.
Не только игры
А теперь перейдем к практическому применению вышеописанных соединений. Вот типичный пример “вопроса из народа” и ответа из Интернета (большое спасибо “потрошителю” WINDOWS Сергею Трошину!):
-Имеем два компьютера, но один модем. И хочется в Интернет с обоих компьютеров. Можно ли обойтись без установки сетевых карточек?
-Это довольно просто. Берем кабель для соединения двух компьютеров через параллельные порты (в данном случае, для СОМ-портов), на обоих устанавливается Dial-Up adapter. Управлять всем этим будет WinRoute home 3.04 (или 4.0, 4.1…)
Соединение “кабелем” уже встроено в Windows95/98. Его использует Parallel sharing. Все, что нужно на первом этапе, это установить адаптер dial-up на каждом компьютере. Проверьте, что оба компьютера с W95/98 имеют апгрейд DUN1.3 (dial-up networking upgrade) - этот апгрейд есть на сайте Microsoft, достаточно зайти на их “поисковик” и поискать точно “DUN 1.3” - результатом будет множество необходимых ссылок. Win95 OSR2 или Win98 уже имеют все, что нужно, а Windows NT не поддерживает соединения через параллельный порт (а через последовательный?).
К тому же убедитесь в том, что DCC (Direct Cable Connection) инсталлировано на обоих компьютерах. Проверьте, что network neighbours каждого компьютера содержат dial-up-adapter (у хостовой машины должнобыть инсталлировано два dial-up-адаптера). Инсталлируйте WinRoute Home на хостовом компьютере. Убедитесь, что на втором компьютере протокол TCP/IP инсталлирован ипривязан следующим образом: TCP/IP->Dial up adapter. В настройках вам понадобится лишь поле DNS - внесите туда DNS-сервер провайдера или адресхост-машины. На хост-машине установите TCP/IP адаптера (т.е. модема) как обычно - все установки, как требует провайдер. Установки dial-up-адаптера, который связан с DCC, можно не трогать. Запустить WinRoute на хост-машине, запустить DCC. Не устанавливайте в браузерах опцию "Соединение через proxy". Скорость соединения с хост-машиной через DCC - до 4 Mbps. (Не для СОМ-порта, естественно...) Перечень игр, поддерживающих прямое соединение, желающие могут поискать сами.
Кстати, а вы читали книгу “Гиперболоид инженера Гарина”?..