Железные призраки прошлого

Компьютерная история

СтатьиСтатьиСтатьи
Cтарое железо и софт

МузейМузейМузей
Старые компьютеры

ФорумФорумФорум
Полигон призраков

ОбщалкаКонкурсыКонкурсы
Статьи и фото



Искать на сайте:
Контроллер удаленного управления на 286 с WEB-интерфейсом



Эта статья прислана на конкурс.

TheAbcs (автор играет на конкурсе под псевдонимом)

Эта короткая статья призвана развеять миф (если он у кого-то из читающих существует) о сложности аппаратных и программных средств удаленного управления и контроля. После ее, статьи, прочтения сразу должно стать ясно, что любой человек, даже практически начисто лишенный знаний, но наделенный любопытством и сообразительностью, способен легко приспособить к своим нуждам то, что придумали до него.

Сначала немного о предыстории. Одно время у меня появилось желание сделать локальную "страничку Интернета". Собственно, предполагалось раздавать в пределах города некоторую обновляющуюся информацию людям, не обремененным излишними знаниями в области BBS, телнета, терминала и прочих подобных вещей. Просто хотелось, чтобы при "звонке" на некий номер "эксплорером" происходило подключение "как бы к Интернету". Телефонная линия, модем для этого у меня были, а вот из свободного "железа" - только 386SX16 материнская плата, ну и прочее для сборки компа, включая винчестер мегабайт на 80.

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

В предыдущем "произведении" (смотрите статью "История изысканий - загрузка по сети и…") я уже отмечал, что мне свойственна патологическая лень, так что все, сколько-нибудь сложное для быстрого понимания, я не очень жаловал вниманием, лишь бегло просматривая. Но eRTOS, где в исходниках и свободно для некоммерческого использования были представлены весьма интересные вещи, меня, что называется, "зацепила". Проведенная проверка предлагаемого в примерах web-сервера показала его полную работоспособность и на 386, и на 286 материнке, и возникло острое желание поправить сервер "под себя". Сравнительно быстро в закромах отыскался BC4.5 (самый близкий по версии к рекомендованному софту), слегка больше времени ушло на его установку и осознание, каким образом все должно работать. Как в итоге оказалось, BC4.5 вполне подходит для компиляции проекта, хотя и не указан в списке рекомендованного софта. Мои знания Си более чем поверхностны (правильнее сказать - отсутствуют), но это не помешало мне по аналогии и из общих соображений внести (не с первой попытки :) ) необходимые дополнения в текст программы WEB-сервера, скомпилировать ее и убедиться, что работоспособность собственно сервера не пострадала. А для полноценной проверки добавленной функциональности пришлось, помимо действий по аналогии, много думать, приставать без какого-либо успеха к знакомым и малознакомым людям, в конце концов довольно подробно ознакомиться с RFC1866 и спаять небольшую схемку - подключить пару светодиодов: красный к первой (ножка 2 разъема) и зеленый ко второй (ножка 3 разъема) линиям данных порта LPT, другие ножки светодиодов (последовательно с резисторами, естественно) - на землю (ножки 18…25 разъема) и тумблер между АСК (ножка 10 разъема) и землей. Светодиоды надо ставить в такой полярности, чтобы при 1 на соответствующей линии порта они светились.


Это полный набор ''железа'' для сборки ''контроллера''
Фото 01. Это полный набор "железа" для сборки "контроллера".


Достигнутый после включения и загрузки компьютера результат оправдал и до некоторой степени превзошел ожидания: светодиодики, имитирующие сложное оборудование, бодро зажигались и гасли под управлением с открытой в обычном эксплорере на удаленном компьютере WEB-странички. На этой же страничке отображались изменения в положении тумблера. Отмечу, что к тому времени с 386 платой пришлось расстаться - не без сожаления, конечно, - но она пожертвовала собой на благое дело: в составе другого хлам… эээ… антиквариата она ушла в обмен на P1-120, весьма нужный мне в тот момент для чтения старых видеокассет АРВИДом… Кстати, заставить АРВИД1020 работать на этом VX P1-120 тоже оказалось не так просто, но это совсем другая и очень короткая история. С 386SX в комплекте ушел и винт… Эксперименты продолжались с 286-ми платами: с двумя 1МБ SIMM30 дополнительной памяти - поскольку использовалась удаленная загрузка системы по сети; в родной конфигурации - с 1 МБ памяти,- при локальной загрузке с дискеты до тех пор, пока меня не покинула последняя мультикарта; и иногда с 486 платой, имеющей интегрированный LPT-порт, выбранный в качестве управляющего, служащей мне на работе "центром" управления стендом и не склонной к миграции.


''контроллер'' на 286 в собранном виде
Фото 02. На этом фото "контроллер" на 286 в собранном виде.


Софт ''контроллера'' загружен и ждет
Фото 03. Софт "контроллера" загружен и ждет. При нормальной работе системы в созерцании этой картинки нет никакой необходимости - видимо, именно поэтому более качественное фото никак не получилось.


логин/пароль
Фото 04. Просто так и кому угодно поуправлять не получится - введите логин/пароль. Серьезное отношение к безопасности - залог успеха :)



Фото 05. Ну вот мы и в "Хопр…" - на нужной страничке.

Именно для ее написания мне пришлось продираться сквозь дебри упомянутого выше RFC. Картинка слева "прилеплена" в корелфотопойнте - это фото собранной схемки в LPT порт.

Далее несколько фотографий устройства в процессе управления.



Фото 06. Сейчас будет нажато выполнить и…



Фото 07 …изменилось как состояние светодиодов, так и содержимое странички.



Фото 08. А здесь - переключен тумблер и погашен зеленый светодиод.



Фото 09.

Здесь вносились основные изменения в исходники WEB-сервера. Полностью их можно найти в приложении к статье. Сама библиотека легко находится в Интернете, мне даже стыдно приводить ссылки. Также в приложении содержится подробная инструкция, как повторить подобный эксперимент. Я думаю, он может стать хорошим практическим подспорьем, например, в курсовой работе на близкую тему :)


Имевшийся в составе системы во время фотографирования контроллер LPT взят в аренду. Очень любопытная штучка, говорят, весьма заслуженная. Мне таких маленьких - как по размерам, так и по функциональности, - раньше видеть не доводилось. Дарить не хотят :)


Контроллер параллельного порта
Фото 10. Контроллер параллельного порта.


Можно справедливо заметить, что в представленной на фото системе две лишние железки - видеокарта и "клавиатура". Это действительно так - поменяв настройки "в БИОСе", эти железки вполне можно удалить. Это позволит дополнительно снизить энергопотребление, которым я не интересовался - макет, все-таки. Но при внимательном рассмотрении фотографий можно увидеть, что батарейка памяти настроек БИОСа заменена на ионистор, который разряжается при выключении питания быстрее, чем хотелось бы, и проще поставить недостающие железки, чем регулярно править настройки БИОСа. Кстати, в рассмотренной системе есть еще, как минимум, два существенных недостатка - один аппаратный, второй программный. Пусть они останутся загадкой для читателей с пытливым умом.

Еще несколько слов о "самодельных" железках. "Клавиатура" сделана из стандартного контроллера от почившей в бозе пленочной и подвернувшихся под руку кнопок. Представляет собой в основном блок дополнительной цифровой клавиатуры.


''Клавиатура'' крупным планом.
Фото 11. "Клавиатура" крупным планом.


Блок питания - на базе слегка подсдохшего DC/DC конвертера, который из 24В делает +5В и +-12В, выдранного из отработавшего свое промконтроллера. Реально можно ограничиться +5В - если не нужны COM-порты на мультикарте.


Блок питания
Фото 12. Блок питания во всей красе.


При желании функциональность устройства можно еще увеличить, сделав автоматическое управление в основном локальным - исходники то в полном распоряжении. Поскольку софт позволяет отправлять электронные письма на заданный адрес - совсем необязательно постоянно пялится в страничку на удаленном компе, что бы узнать, что же там происходит. Можно обращаться к просмотру текущего состояния системы только по возникновению какого-либо заранее заданного события и получению письма об этом. А обновлять софт, используя FTP доступ. В общем, сделать из системы настоящую "конфетку". Напомню - все это работает под ДОСом на 286 машинке. Но управлять атомной станцией с помощью такой железки я бы не решился :). А вот включить-выключить освещение, вентилятор (скоро лето) одним щелчком "мышки" с ноутбука, подключенного к офисной сетке по WiFi… Заменить светодиод на обмотку реле совсем несложно.



Фото 13. WEB-сервер еще много чего умеет.


Иногда у меня появляется желание отпилить "лишние" четыре слота ISA, чтобы уменьшить размеры системы, но посмотрю на плату - жа-а-алко ее. Тем более, в свободное от WEB-серверных функций время компьютер, абсолютно бесшумный :), позволяет загрузить по сети правильный образ и поиграть, например, в SUPAPLEX, к которому в инете нашлось огромное количество дополнительных уровней в комплекте с их редактором.

А совсем недавно в одном из журналов (Elektor 2007 №12 p.24-28) я увидел описание устройства подобной функциональности на микропроцессоре AVR32. Устройство имеет крайне незначительные размеры. Особенно мне в нем нравятся свободно распространяемый софт и способность работать с любимой карточкой 3COM509 :)


Приложение


Архив priloj.rar [532 KB]

Сначала совсем просто - из архива берем только файл bpboot.x, пишем его посекторно (в природе есть много специальных программ для этого) на 3,5 дюймовую дискету, грузимся с этой дискеты на любом компьютере с 3С509 картой в "стандартной конфигурации" - получаем WEB-сервер с адресом 192.168.0.2. Включаем его в локальную сеть (убедившись, что в этой сети уже нет компа с таким IP) и заходим на этот адрес Интернет-эксплорером. Желательно, чтобы адрес вашего компа принадлежал той же сети. Остальное увидите. Если повезет :) Да, пользователь - abc, пароль - 12345.


Для желающих "малой кровью" не только повторить сделанное, но и получить направление движения вперед: bpboot.x - это посекторный образ загрузочной 3,5 дюймовой дискеты Дискета предназначена для загрузки компьютера от 286 1МБ с сетевой картой 3С509 - "слабее" у меня нет. Сетевую карточку можно использовать и другую, но придется поменять под нее пакетный драйвер.

WEBPART.C и WEBSERV.C - исходники сервера с моими добавлениями - они там помечены в комментариях. Для продолжения работы необходимо заменить ими аналогичные файлы, входящие в состав библиотеки eRTOS. Библиотека легко находится в инете.

В папке WEB на дискете расположен файл CONTROL.SHT - это большая часть странички, с которой осуществляется управление. Правился еще ряд файлов в этой папке. Там все не сложно…

Да, там еще лежит копия странички Олександра Редчука (устаревшая, конечно), но все авторские координаты я на ней сохранил.

RFC1866 - весьма любопытное чтиво. Возможно, сейчас заменен на что-нибудь более "свежее", хотя вряд ли. В любом случае это не умаляет его ценности.

Рисованную схему в LPT-порт не привожу - она хорошо описана на словах :)



Обсудить статью в специально созданной ветке форума. Эта статья прислана на конкурс.

© Текст, фотографии - TheAbcs (автор играет на конкурсе под псевдонимом)

© Железные призраки прошлого - 2008 г.

Опубликовано 3 апреля 2008 г.


Дополнения или поправки на phantom@sannata.ru

 


На главную страницу сайта

На страницу конкурсов



Авторские права и условия копирования материалов