Техническая база на переломе тысячелетий
На дворе стоял 2000 год. Старые времена плавно погружаются в Лету вместе с осколками предыдущей империи, по телевизору идут "Звёздный час" и "Сам себе режиссёр", я потихоньку разжёвываю кусочки от гранита науки. В те жутковатые годы купить что-то из деталей для создания чего-то электронного, для души, было не такой уж лёгкой задачей.
Проще всего какие-то детали можно было раздобыть, разобрав какое-то сломанное устройство, а также на радиорынках, например, на Митинском, Савёловском или Царицынском. Иногда что-то появлялось в магазинах электротоваров.
В то время у меня только-только появился первый персональный компьютер. Это был Compaq Presario, моноблок с процессором SX486 и памятью, кажется, 8 мегабайт. Управлялся он ОС Windows 95. Windows 98 на нём подтормаживал.
В моноблоке были встроенные микрофон и динамики, CD-ROM, дисковод для дискет 1.44" и модем. Модем позволял устанавливать связь с Интернетом на скорости 33,6kbps. Очень удобно, когда в настольном компьютере есть всё нужное для работы и развлечений, но уже на то время он был устаревшим.
Что касается подключения к Интернет, то в то время провайдеры продавали доступ во Всемирную Сеть по времени: например, один доллар в минуту. Похоже, что Интернета на всех не хватало, иначе как объяснить, что доступ к Сети был "по талонам" — провайдеры продавали карточки, по телефону, указанному на которых, надо было звонить со своего модема, а номинал был на них указан в долларах. На них под стираемым, как на лотерейных билетах, слоем, были написаны логин и пароль для доступа, который расходовался быстрее, чем сейчас остывает твой чай.
Анекдот про чай был придуман позже, уже при доступном проводном Интернете, поскольку по карточкам в Интернете столько просидеть было совершенно невероятно: Подключился, нашёл что-то, скопировал себе на диск, отключаешься и запускаешь программу или читаешь.
Как остудить горячий чай? Надо включить компьютер, залезть в интернет и бац! Чай остыл.
Ещё более точную информацию по ценам я помню из расклеенных повсюду объявления в 1997 году:
"Интернет по самой низкой цене: 1 цент в секунду!"
Ограничивающий фактор
Каждому, кто умел подключать светодиоды к источнику электричества, приходила в голову идея подключить что-то к компьютеру. Подключение чего-то к портам компьютера просилось уже несколько лет назад, когда я исследовал возможности программирования на Спектруме в Бейсике.
Когда я разбирал свой Compaq, то видел, что все устройства в моноблоке были распаяны на материнской плате. Сама она вытаскивалась вместе с задней крышкой и, из-за ее уникальности, замену я бы ей найти ни за что не смог.
Прототип
Поскольку я не особо в то время знал магазины электроники, я использовал детали, которые у меня оставались от разобранных сломанных электронных устройств, отданных родственниками за ненадобностью. Как-то на прилавке у продавца на Митинском радиорынке я увидел маленький мотор и из любопытства купил.
Поскольку для создания чего-то самодвижущегося мне нужно было два таких, а найти такой же у меня нигде не получалось, то я его покрутил в руках, повключал и отложил до лучших времён. В то время, в основном, в продаже у нас имелись только советские моторы, гораздо большего размена и за обе щёки пожирающие ваши батарейки любой формы и ёмкости, работающие довольно громко и постоянно ломающиеся.
И вот, на моё счастье, у кого-то сломался кассетный плеер, и я достал оттуда еще один мотор. Это уже прогресс! Я смогу создать что-то маленькое, что не займёт много места, будет ездить тихо и не будет потреблять слишком много энергии для своего движения.
Я хотел сделать что-то проходимое и на гусеницах. Напомню, что гусеницы для самодельной машины в то время купить было негде, и из чего их сделать, я так и не нашёл. В журнале "Юный Техник для умелых рук" была статья о том, как сделать самодельные гусеницы с помощью спичечных коробков и катушек от ниток, но я счёл этот способ слишком трудоёмким, я подумал, что моторчики от плеера не "потянут" такую нагрузку.
У моторчиков оказалась довольно маленькая мощность, а колёсики делать слишком маленькими не хотелось, поэтому нужен был редуктор. Нетрудно догадаться, что редуктор купить было просто не реально, а из имеющихся у меня были только непарные. Редукторов нужно было два, по одному на каждую сторону.
В сложившейся ситуации, после долгих раздумий и испытаний нескольких различных вариантов, было принято решение сделать редуктор в виде шкивов. Для этого я взял самые большие колёса, имевшиеся в наборе конструктора Юность-3:
В качестве передатчиков крутящего момента я установил пассики от того же кассетного плеера, но потом заменил их на резинки для связки пачек денег. У меня были и пачки денег, ага: несколько лет назад случилась дикая инфляция, и расплачиваться за пирожки в столовой можно было прямо запечатанными пачками, только что из банка. А потом и сами деньги поменялись, но ничего не стоящие пачки с того времени у меня остались лежать в столе. Правда, в банке они скреплялись бумажными лентами, но резинки для них тоже применялись.
В задачу других колёс входило только обеспечение лёгкого поворота. Сначала я сделал одно свободно поворачивающееся колесо, но оно оказалось слишком сложным, и часто выходило из строя, поэтому я заменил его двумя микроподшипниками, которые я когда-то нашёл на земле. Достать такие где-то в магазине для меня не представлялось возможным, я просто не знал, где такие продаются.
Для скрепления всего на скору руку, я применил алюминиевую проволоку в белой оплётке, которой было полно на улице. Вы можете спросить, как же просто материалы для поделок, например, проволока, валялись на тротуарах и во дворах, ведь дворники там убираются? что строители разбрасывали свой мусор где придётся, и никому до этого не было дело. В те времена было много непонятных вам вещей и событий, в то время казавшихся самим собой разумеющимися.
Раму корпуса и оси я взял из конструктора "Механик". Получился самодвижущаяся машина в стиле Танка Лебеденко, с огромными ведущими колёсами и маленькими вспомогательными. Сходство с ним получилось не спроста — ведь его создатель тоже пытался получить преимущество гусениц за счёт свойств проходимости больших колёс.
Следующим шагом нужно было как-то подключить ее к компьютеру. Манипулятор был готов, и я сейчас управлял им джойстиком от Спектрума. Джойстик от своего Спектрума мне отдал сосед после того, как у него он сломался. Я его разобрал, заменил исполнявшие в нём роль кнопок концевики, подключил к питанию моторами на каждое из ведущих колес, и с джойстика можно было управлять движением и поворотами машины.
Я, было, собрался как-то его связать со своим компьютером, и я стал взвешивать все "за" и "против". Я понимал, что, если я что-то подключу к своему моноблоку не так, то я лишусь самого дорогого устройства в квартире.
Смена положения вещей
К концу года для учёбы мне требовался более современный компьютер, и поэтому у меня появился компьютер совершенно другого уровня: Pentium Pro с частотой 200МГц, оперативкой в 32Мб и жёстким диском на 850Мб. В корпусе АТ, а не ATX, как сейчас. Ну, вы помните эту надпись.
Скорость его работы просто поражала: Internet Explorer 3 грузился за секунды, почти без тормозов работал Office 97, шустро открывался почтовый клиент The Bat, а Windows 98 устанавливался в несколько раз быстрей! Ведь мы же все знаем, что это был тогда важный параметр, потому что раз в несколько месяцев, или даже недель — кому как — приходило время, когда Windows, как ни крути, должен был быть переустановлен.
Вместе с ним завелось у меня, для того времени, что-то ещё, совершенно невероятное. Штука, которую было совершенно не понятно как применить. Чудо-чудное, диво-дивное: веб-камера Kensington Videocam VGA Digital PC Camera производства 1999 года.
Для меня это было первое цифровое устройство, с которого можно было захватывать изображение прямо на компьютер. Да и, наверное, первое из подключающихся по USB. Тогда больше ни для чего этот порт я применить не мог, так как флешки, если уже и были, то только появлялись, и были дико дорогими. Да и мы до сих пор везде пользовались дискетами. Помню, я еще, в дополнение, устанавливал в него дисковод 5,25" для того, чтобы брать у преподавателей в институте программы, писавшиеся для зачётов и курсовых в прошлые годы.
Её максимальное разрешение было 400х300, но это только для фотографий. Видео она могла снимать лишь в 320х240 или 352х288. Благодаря ей, я сегодня могу добавить в эту статью фотографии. У меня здесь, а мы уже в 2001 году, фотки для этой статьи, по вашим меркам, не очень.
Фотография с этой камеры в максимальном разрешении:
До изображения, подходящего к вставке сюда, и лучшего для просмотра на современных мониторах, мне поможет их довести нейросеть для увеличения разрешения.
Подключение к компьютеру
Я стал выбирать порт, чтобы подключить свою машину к компьютеру. По USB информации в Интернете было мало. Были еще разъем для клавиатуры DIN, последовательный и параллельный порт. Из COM и LPT я выбрал последний. В те времена, когда мышкам нужно прочищать колёсико, а на домашних телефонах были диски для набора номера, к этому порту подключали принтер.
Мне он показался проще для подключения внешних устройств.
Программа
В качестве языка программирования я использовал Visual Basic. Под Windows 95 и 98 в нём можно было управлять LPT. Под Windows XP было уже нельзя. Поскольку я не торопился менять Windows 98 на другую ОС, то у меня всё работало, а, возможно, я тогда уже установил Windows Millenium.
Я стал искать информацию о работе с различными портами. Скачав статьи по теме доступа к портам, скачанными с сайтов — а, так как подключение было по Dial-Up, то я их скачивал на жёсткий диск и с него открывал — и всякими справочниками по Visual-Basic в различных форматах, среди которых встречались и TXT, и HTM, и CHM. Одним из самых известных сайтов был VBstreets.ru, где было публиковалось больше всего полезной для меня, на тот момент, информации.
В этом языке есть библиотека для работы с портами ввода/вывода: "vbio32.dll". Используя её, я предпринял первую попытку подать сигналы на LPT. Сначала я просто выводил числа на порт. Я поместил в программу, открывающуюся сейчас из папки 2001 года, поле для ввода числа и две кнопки для посылки числа на порт и снова сброса его на ноль.
Программы овеивают вас своим электронным дыханием того времени и уже с новых компьютеров радуют наш взгляд своими остроугольными интерфейсами, пережив поломки многочисленных жёстких дисков, бэд-блоки, вирус-шифровальщик и переносы с диска на диск при их сменах. Потерялись и многие из сурс-кодов этих программ. Однако исходников осталось на диске гораздо больше, чем скомпилированных файлов и, наверное, можно из них собрать программы заново.
И у некоторых файлов поменялась дата последнего изменения файла: после то ли какого-то сбоя жёсткого диска, то ли после вируса-шифровальщика, не помню когда, некоторые даты поменялись на 31.01.2020 и исчезли длинные имена файлов, оставив после нескольких знаков "~1". Зашифровать он успел не всё, когда я заметил подозрительную активность жёсткого диска, я сразу выключил компьютер. Однако после лечения Доктором Вебом или Касперским, даты некоторых исполняемых файлов просто стали неправильными. Похоже, как раз, я "поймал" вирус в 2008 году, так как антивирус расшифровывал и пересоздавал спасённые файлы.
Однако напрямую двигатели, как это, казалось бы, было проще всего сделать, к порту подключать нельзя. Подсоединить машину для управления клавиатурой я еще не мог.
Первые попытки выхода на белый свет
После широкого распространения персональных компьютеров, Савёловский рынок окончательно перепрофилировался в компьютерный, и там я, для дальнейшего улучшения условий учёбы, с помощью друга и семисот долларов, приобрёл нового помощника — Duron 700, с памятью 128Мб и видеокартой GeForce MX200. В него я переставил модем из Pentium Pro-200.
С помощью своей веб-камеры я стал предпринимать попытки с кем-то увидеться через компьютерный экран. Оказалось, что среди всех моих знакомых веб-камера была только у одного друга.
У всех уже была ICQ, но в ней можно было только писать текст и, уже несколько позже, пересылать файлы. Ещё был IRC, но он был менее удобный. После долгих поисков в Интернете, я нашёл две программы, с помощью которой можно было общаться в Интернете. Одна представляла собой прямое соединение пользователей по IP и позволяла общаться, в отличие от ICQ, голосом а тем, у кого есть камера, и с видео. Она называлась Microsoft NetMeeting.
Вторая звалась MSN Messenger. В нём можно было найти различные группы, где общались иностранцы, в основном, из США, под названием MSN Groups или MSN Chat rooms. Они обсуждали что-то или сидели в чатах просто так и шутили на английском. Однако в некоторых чат-группах люди уже использовали веб-камеры. Программа NetMeeting была гораздо проще.
Первый блин разговора в MSN Messenger, как и водится, получился комом. Я помню, что одним из первых моих собеседников был дед, смотревший в камеру в огромных наушниках и здоровенных очках, окружённый массой радиотехники. На экране он выглядел древним, как сама Земля. Со скидкой на возраст, вид у него был примерно такой:
Он сидел среди забитых электроникой полок и говорил в отдельный, стоящий на столе, большой микрофон.
Тем не менее, это был самый вежливый, внимательный и терпеливый собеседник, которого я тогда встретил. Он вслушивался, в своих невероятного размера наушниках, в каждое моё слово. Я его понимал, а он моё произношение разбирал с трудом. Общение не складывалось, но он не сдавался. Дед просил меня повторить что-то, переспрашивал, просил проговорить по буквам. Пытался узнать, кто я, откуда, интересы и предпочтения в еде. Я тогда растерялся. Я никогда до этого не разговаривал на английском через компьютер, да даже по телефону. Я стеснялся говорить громко по-английски, потому что боялся, что меня не поймут.
Хотя он просил меня этого не делать и уверял, что у нас получится разговор, я отключился. Я потом уже понял, то о чём он меня просил и что рассказывал:
"Сынок, просто произноси слова почётче. Я был радистом во время войны во Вьетнаме, и всякое повидал. Нужно только говорить погромче, и у нас заведётся отличный разговор. Я слышал тысячи людей по радио с разными качествами сигнала, и я умею разбирать звуки в радиоэфире даже среди сильных помех. Видишь, я тебя уже понимаю!"
Я поколебался и "повесил трубку".
И я тебя сейчас понимаю, дед. Спасибо — если бы не ты, мне было бы гораздо труднее научиться понимать собеседника и отвечать ему на другом языке. Я тогда упустил полезную практику, которую можно было бы пройти в тот день, и на несколько недель потерял возможность влиться в эти голосовые чаты.
Я был потрясён тем, что собеседника можно не только слышать, но и видеть. Напомню, что тогда самым популярным мессенджером была ICQ, в ней люди посылали свой адрес электронной почты, и уже по Email пересылали фотки с плёночного фотоаппарата, отсканированные сканером. По телевизору шла программа "Сам себе режиссёр", которая состояла из были видео, снятых на камеры с магнитными кассетами, и которые её участники присылали в телестудию по обычной почте. А тут: ты сам видишь окружение, природу, людей не только рядом с тобой, но и из разных стран! Я поначалу просил собеседников просто помахать в камеру или покрутить перед ней кружкой или книжкой, настолько казалось невероятным видеть собеседника.
Второй случай произошёл немного позже. В одной из комнат, где люди общались в общем чате, я включил камеру какого-то мужика. Увидев в списке тех, кому показывается его видео, мужское имя, он посмотрел в неё и спросил:
— Зачем ты на меня смотришь?
Я сказал, что просто хочу пообщаться. А на кого мне еще смотреть?
"Чёрт возьми, — подумал я тогда, —наверное, в будущем у веб-камер будут и правда стоящие применения".
Через другую программу, NetMeeting, можно было подключиться к собеседнику напрямую, введя IP-адрес. Мы попробовали общаться так через камеру с моим другом.
Для того, чтобы поговорить с видео, мы созванивались по модему через обычную телефонную линию, потом смотрели свой IP через Winipcfg, запускали NetMeeting. Один вводил IP другого, и так устанавливался видеозвонок. По-русски говорить было проще, чем по-английски, и, казалось бы, звони — не хочу, но больше созваниваться из друзей было не с кем. К тому же, нельзя было надолго занимать общий телефон, а разговаривать по телефону и лазить в Интернете в одно и то же время было невозможно. Если во время связи снять трубку телефона, то в ней будет слышен писк модемов.
Неожиданная находка и связующее звено
Мне не очень хотелось городить сложную схему из отдельных микросхем и дискретных деталей, и для простого управлением машины с LPT-порта мне была нужна связывающая моторы и порт микросхема.
В поисках подходящих микросхем я обыскал весь Интернет образца 2001 года, скачал каталоги в виде DOS-программ, даже сходил в библиотеку, но и там ничего про микросхемы, подходящие мне, не было.
Магазином, так стремительно ворвавшимся в мир творчества и радиолюбителей, и оказавшимся, уже после, лучше западных "Сделай сам", был Chip&Dip. На меня, поблёскивая глянцем прозрачного пластика, смотрел компакт-диск с названием "Микросхемы для управления электродвигателями".
На диске было описание и схемы подключения не только для простых, но и для шаговых моторчиков. Тому, кто не верит, что я этот диск нашёл — правда-правда! Вот чек:
Чтобы подключить что-то к чему-то, сначала нужно сделать плату. Я делал платы из текстолита с медным покрытием, опять же, с Митинского радиорынка. Покрытие нужно покрыть лаком, который повторял бы проводники и контактные площадки, затем протравить лишнее медное покрытие. Для этого нужно пролить хлорное железо на ковёр, испачкать всё и хорошенько пропитать свою одежду цапонлаком. После этого можно покрыть облитый реагентом ковёр пылью от сверления дырок в текстолите под ножки дискретных деталек, испортить несколько листов дорогого, по моим меркам, текстолита. Получается плата, типа, как печатная, только рукотворная.
Сначала я нарисовал схему на листке бумаги, затем подключил по ней микросхемы к выходам LPT-порта. Через программу на порт выводится число, где единица присутствует или отсутствует на нужных ножках подключенной к его выходам микросхемы. Когда порт подаёт единицу, то есть, напряжение на нужные ножки — двигатели крутятся. Выходы микросхем соединил с правым и левым двигателями на моём "манипуляторе". Если оба вперёд, то машина двигается вперёд. Если в разные стороны, то поворачивает. Я сделал разворот на месте, как у некоторых настоящих танков.
Следующим шагом должно было стать подключение клавиатуры, но это уже было делом техники. Помимо стандартных для "бродилок" и "стрелялок" WASD для движения я подключил и мышку. Я сделал так, что машина копировала движения оператора ПК. Двигаешь ей вперёд — машина едет вперёд, назад — едет задом. С помощью мышки получился уже, буквально, настоящий манипулятор. Двигаешь мышью в сторону — машина поворачивает. В управлении я задействовал и и кнопки. Нажимается левая кнопка — поворот налево, правая — направо, обе — движение вперёд.
Программа для этого захватывала курсор мышки и прятала его.
Странно, но ни в школе, ни в институте на уроках по программированию нас не учили, что бывают разные версии ПО и как называть переменные, и, соответственно, в моих каталогах для разработки ПО программы хранились под названиями типа: LPT_final, LPT_final2, LPT_final_latest, LPT_final_latest2, ну и так далее. Переменные назывались просто X, Y, O и т. п, и программа на скриншоте называлась, как и многие, для которых я не напрягался, придумывая названия, "Project1.exe".
Я долго испытывал управление и проходимость машины в разных условиях и разными манёврами. Управлять настоящим предметом, используя клавиатуру и мышку, прямо как компьютерным персонажем, было круто! Можно представить, что машина исследует виртуальный мир, а ты ее оператор. В этом мире были и рендер, и разрешение, и физика столкновений получше, чем в компьютерных играх. Особенно реалистичными казались ожоги от соскользнувшего с жала паяльника мне на кожу припоя.
Однако оставалась ещё одна возможность, которую стоило попробовать применить. Что если управлять им по сети? Получится ли и насколько большой будет задержка? Будет ли "пинг" настолько большой, что машиной невозможно будет рулить?
Удалённое управление
Я стал думать, как можно передать числа, которыми управляются двигатели с LPT-порта, по сети. Первое, что пришло в голову — это локальная сеть, благо, у меня был для неё коаксиальный кабель и сетевая карта, тоже снятая с Пентиума, но второго компьютера у меня не было.
Я перебрал в голове кучу вариантов, но остановился на том же Visual Basic. Для этого в этом языке существовал другой модуль под названием winsock.ocx. В качестве протокола я сначала выбрал TCP, однако меня сразу же озадачила некоторая сложность при потере пакетов. Тогда я переключился на UDP, потому что в нём не нужно было считать отправленные пакеты. Сколько пришло, тем и будем довольствоваться.UDP просто отлично подошёл для моей цели.
Я слегка изменил программу для управления вездеходом, создав внутри неё аналог передачи позиции курсора на выход LPT, но не напрямую, а через сетевые сигналы. Поэтому теперь она разделилась на две части, клиентскую и серверную. Клиент подключался к "серверу" по IP-адресу, вводимому в текстовое поле.
Как я уже упомянул, второго компьютера у меня не было, и управлять, и смотреть на картину движения вездехода, всё равно приходилось с одного и того же ПК. Для этого нужно было запустить и клиентскую, и серверную часть, на моём компьютере, и связать их, введя в клиент IP сервера.
Для их запуска, возможно, сработает установка Windows 98 на виртуальную машину, однако сейчас я не могу этого сделать.
При программировании в Visual Basic было очень просто вставлять компоненты различных программ прямо в "формы". По-моему, я добавил в неё одним из компонентов NetMeeting, и запаковал всё в "установщик". По крайней мере, сейчас, в одной из ошибок запуска, программа ругается на именно этот неработающий компонент. Файл "Conf.exe" — это и есть программа NetMeeting. Она, в качестве рудимента, дошла до Windows Vista.
Дату изменения исполняемого файла повредил вирус, но внутри установочного CAB все даты правильные.
Получилась программа для удалённого манипулирования машиной. Правда, тестировать работу программы мог только я у себя на компьютере, и я подсоединял программу управления к серверной её части, запускавшуюся на том же компьютере, по IP 127.0.0.1.
Поскольку у меня есть веб-камера, почему бы не попробовать установить её на трактор? Я поставил, но провод от неё был настолько толстый, что управлять ей было не удобно. Чтобы испробовать телеуправление, я решил, что проще наводить камеру на машину, а сам вездеход ездил бы по столу под ней. Пользователь мог видеть перемещения машины на своём экране, через камеру, и управлять движением устройства с помощью мышки и клавиатуры.
Программа состояла из двух частей, программа-клиент и сервер. Управляющий запускал на своём компьютере клиентскую часть, а тот, у кого был компьютер с машиной — серверную. Управляющий смотрел Winipcfg IP-адрес сервера и вводил его в клиентскую часть программы, программа сама подставляла IP-адрес в NetMeeting, и они соединялись. Управление шло с видео: видео и аудио передавались через NetMeeting.
Боевой выезд
Для связи с Интернетом бодро свистел в телефонную сеть PCI-модем 3Com, который, по идее, должен был выдавать 56 килобит в секунду. Одним из крупнейших и самых известных Интернет-провайдеров, представленных на всех выставках и больше всего раздававших там предметов и буклетов с рекламой, был Demos со своим знаменитым доменом SU, что означало Soviet Union: http://demos.su . Однако мой модем с основными провайдерами: MTU Inform, Caravan, Demos и Sitek, не всегда соединялся по Dial-up на заявленной максимальной скорости, и чаще скорость была всего 33,6 килобита в секунду.
Проверить работы удалённого управление было катастрофически не с кем. Друг, с которым мы связывались по видеосвязи, был занят.
Я подумал, что, ведь, в сущности, можно было бы проверить и без обратной связи. Управление будет работать и в том случае, если если кто-то просто запустит клиент на своём компьютере и будет видеть мою камеру. Тогда, водя мышкой, он сможет поуправлять машиной. Этого было достаточно, ну а я ему потом перезвоню, и он расскажет словами, получилось или нет! Пришлось пожертвовать обратной связью в реальном времени, и я не мог получить впечатления об управлении прямо во время сеанса связи.
Пусть оператором машины буду не я, и пусть я не буду видеть и слышать водителя машины, пусть придётся только позже услышать его впечатления. Однако нужно было провести тестирование новой системы. Без этого я не мог понять перспективы и работоспособность такого подхода к удалённому управлению.
На помощь пришёл второй друг, которого звали просто Анатолич. У него был компьютер, и тоже был модем, не было ни микрофона, ни камеры. В то время разговаривать с компьютерами было не принято.
— Привет, хочешь, я тебе покажу кое-что новое?
Я вкратце описал, как управлять моей системой с его компьютера. Программа просто устанавливалась: я постарался, чтобы от пользователя требовалось наименьшее количество самостоятельных действий, и включил все компоненты, включая программу для видеосвязи, в архив для установки. Установочный файл я передал Анатоличу на дискете.
— Сначала мы созвонимся по модему, ты вот сюда набирай: Winipcfg, там смотри цифры, вставляй адрес вот сюда.
— Так, понял, записал. А что дальше?
— Кнопки работают так, у тебя откроется изображение. По видео контролируешь. Потом расскажи, что получилось!
Я стал ждать. И, в какой-то момент, металлический звонок дискового телефона зазвонил, однако соединение по медным телефонным линиями тут же перехватил модем 3Com, "подняв трубку" первым. Сначала я просто смотрел на машину, но ничего не происходило. "Что же я подключил не так?" — было, успела промелькнуть у меня мысль. Похоже, что Анатолич всего лишь искал мой IP и подключался через программу-клиент. И затем машина задвигалась.
Вездеход поехал вперёд, развернулся. Он ездил вперёд и назад, влево и вправо, повторяя движение мышки в руке Анатолича. Машина поворачивала на месте, исследуя стол и перекручивая свои провода. Анатолич быстро разобрался с управлением. Пару раз танк чуть не свалился со стола, и пришлось ловить его руками, прямо в кадре у оператора.
Передо мной сейчас, в 2002 году, телеуправляемый вездеход исследовал мой письменный стол. Он передавал видео с одной из первых веб-камер через видео- и аудиопотоки, сжатые для передачи по медным проводам одними из первых кодеков. Мой друг направлял машину своей мышкой с удалённого компьютера и наблюдал за её движением через одну из самых первых программ для передачи видео.
Похоже, Анатолич вошёл в раж первооткрывателя новой технологи. Мне показалось, что ему нравилось не только ездить, но и просто смотреть в камеру на машину с разных сторон. Мне часто приходилось распутывать провода, запутавшиеся после разворотов вокруг колёс стол вездехода.
Когда я перезвонил Анатоличу через настольный телефон и спросил его о работе технологии, он подробно рассказал, как и что он делал и что видел, и что всё работало, как я и сказал.
Результат тестирования и отзыв оператора
Друг рассказал, что задержка при управлении в долю секунды почти не мешала вождению, и что ему очень понравилось.
Долгое время я не хотел устанавливать на компьютер Windows XP, который вышел недавно. С одной стороны, интерфейс Windows 98 мне нравился больше, а, с другой, мне не хотелось терять быстродействие компьютера. Ведь XP, хоть и хвалился скоростью своей работы, на практике был заметно медленней, чем Windows 98.
Оказалось, что моя видеокамера Kensington внезапно также перестала работать с какими-либо Windows, старше Windows Millenium. Поэтому я не мог ее использовать, и долгое время оставался без веб-камеры. Денег на новую у меня не было.
Microsoft прекратила поддержку NetMeeting и MSN Messenger. Поскольку в Windows XP "vbio32.dll" уже не посылал сигналы на выходы LPT-порта, я с головой погрузился в написание диплома.
Из положительного заключения оператора созданного устройства по результатам тестирования, стало понятно, что, несмотря на некоторые неудобства, скорости 33,6 кбит/с и видео и аудио, сжатых первыми кодеками, хватало на управление по видеосвязи, и задержка не мешала движению и контролю над подключённой машины.
Только представьте, что управлять удалённым устройством, при правильном подходе, можно было из любой точки мира и видеть результаты своих действий в прямом эфире, прямо на экране! Пусть и на пузатом экране семнадцатидюймового ЭЛТ-монитора.
https://habr.com/ru/articles/751204/
Это моя статья на для Habr.com и сюда, к сожалению, полностью не влезла, поэтому пришлось немного сократить. Если хотите, посмотрите полную версию, на Хабре. В ней больше технических подробностей.