Http to usb bridge что это за программа

Обновлено: 03.07.2024

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

Стандартным интерфейсом плат Arduino на микроконтроллерах ATmega328P является UART, а у современных компьютеров используется USB. Чип USB-UART CH340G служит мостом между микроконтроллером и USB-портом компьютера, который позволяет загружать прошивку в плату, а также передавать между собой данные.

Список поддерживаемых плат

Зачем нужен драйвер?

При подключении любого устройства к USB-порту компьютера необходимо подсказать операционной системе, как с ним общаться. На стороне компьютера таким переводчиком является специальная программа, называемая драйвером. Например, драйвер преобразователя USB-UART работает в режиме эмуляции последовательного COM-порта. Т. е. при подключении вашей платы к компьютеру чип моста с помощью драйвера попросит операционную систему открыть виртуальный COM-порт, через который начнётся общение между платой и ПК.

Каждый производитель делает свои чипы с соответствующими драйверами. К сожалению, не все драйверы предустановлены в операционных системах по умолчанию. Когда нужного драйвера нет, ОС пытается найти его для нового подключённого устройства, не находит, и вместо виртуального COM-порта вы видите надпись «USB 2.0 SERIAL» или «Неизвестное устройство». Для решения проблемы скачайте и установите драйвер для вашей операционной системы.

Установка драйвера

Рассмотрим установку драйвера на примере платы Iskra Uno в операционной системе Windows. С остальными платами ситуация будет аналогичная.


Подключите плату к компьютеру по USB. Для коммуникации используйте кабель USB (A — B). Установите и настройте интегрированную среду разработки Arduino IDE. Скачайте и установите драйвер CH340 для Windows. Откройте диспетчер устройств Windows и раскройте вкладку «Порты (COM и LPT)».


Если во вкладке отображается пункт USB-SERIAL CH340 (COMx) — значит, всё получилось, и можно переходить к прошивке платформы. Если пункта не обнаружено или вкладка «Порты (COM и LPT)» вовсе отсутствует, следуйте дальнейшей инструкции.


В диспетчере устройств Windows раскройте вкладку «Другие устройства» и найдите пункт USB2.0-Serial .


Далее кликните правой кнопкой мыши по пункту USB 2.0 Serial и выберите раздел «обновить драйвер».


Выберите пункт «Выполнить поиск драйверов на этом компьютере».


Укажите путь к директории драйвера и нажмите кнопку «установить». В нашем случае: C: Program Files (х86) Arduino drivers


Откройте повторно вкладку «Порты (COM и LPT)» в диспетчере устройств. Если там отображается пункт USB-SERIAL CH340 (COMx) — значит, всё получилось, и теперь можно переходить к прошивке платформы.

Думаю, вряд ли кого-то стоит убеждать в необходимости и полезности USB-UART-преобразователей — COM- порт найти в современных компьютерах всё труднее. Для большей части практических задач, использующих обмен данными между компьютером и устройством — управления, отладки, передачи небольших объёмов данных — ничего проще и удобнее, чем преобразование USB-UART, придумать, пожалуй, невозможно.

Микроконтроллер общается с микросхемой по обычному UART, к компьютеру все это дело подключается по USB. Компьютер распознает подключенное устройство как COM-порт и работать с ним можно как с обычным ком-портом. Все очень удобно, не требует ни мощных микроконтроллеров с интерфейсом USB и специально подобранными кварцами, ни сложных программ.

Наиболее популярной микросхемой USB-UART является FT232RL от FTDI. Все в ней замечательно, кроме цены. А вот о CP2102 от SiLabs пишут значительно меньше. Стоит она значительно дешевле, чем FT232RL. Например ТУТ я ее купил за 45 руб.

Распиновка

Корпус у неё, конечно, страшноват, но к этому мы ещё вернёмся. :)

Корпус CP2102

Структура микросхемы

Структура CP2102

Как можно заметить из схемы — CP2102 содержит встроенный генератор на 48 МГц, контроллер UART с поддержкой всех модемных сигналов, буфуры на прием и передачу, USB 2.0 (скорость до 12Мбит/сек) контроллер и EEPROM для хранения настроек. Микросхема требует минимальной обвязки — пара кондёров по питанию.

  • 5,6,7 и 8 бит данных
  • 1,1.5,2 стоповых бита
  • бит четности по четности, нечетности, установленный, сброшенный или отсутствует
  • Vendor ID (VID) — Идентификатор производителя. По умолчанию10C4 — SiLabs
  • Product ID (PID) — Идентификатор продукта. Актуально, если к одному компьютеру подключается несколько CP2102.
  • Max Power — энергопотребление вашего устройства от USB. Шаг этого параметра — 2 мА. Например, если вам нужно 200 мА от шины USB, то сюда необходимо записать 100 (0x64).
  • Release Version — По умолчанию 1.0. Можно указывать от 1 до 99 как в десятичной так и в дробной частях отдельно.
  • Serial Number — Серийный номер устройства. Это текстовое поле длинной до 64 символов. Рекомендуется назначать разные номера всем устройствам.
  • Product string — Имя устройства (текстовое поле до 126 символов). По умолчанию это «CP210x USB to UART Bridge Controller».

Настройка

Изменять все эти параметры можно с помощью фирменной программули от SiLabs. Называется она CP210x Set Ids.


Понять, как ей пользоваться, не составит никакого труда. Есть только один важный момент- программа находит устройства CP2102 основываясь на Vid и Pid. Если вы их измените программа перестанет видеть эту микросхему. Как с этим бороться я расскажу чуть позже.

Набор драйверов для CP2102

Существует 2 драйвера для CP2102

  1. 1. Драйвер USBXpress. Основное назначение драйвера — работа с CP2102 в качестве USB-устройства. Для работы с данным драйвером выпускается библиотека для создания собственного программного обеспечения
  2. Драйвер виртуального COM-порта (virtual COM-port driver, VCP-driver). Данный драйвер является надстройкой над драйвером USBXpress. При установке этого драйвера в системе появляется дополнительный виртуальный COM-порт (COM3, COM4 и т.д.), работа с которым полностью идентична работе со стандартными COM-портами (COM1, COM2)

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


Сначала, с помощью программы CP210x Set Ids настраиваете микросхему и меняете VID и PID. Потом запускаете CustomUSBDriverWizard, находите там свою микросхему и приступаете к созданию драйвера для нее. Тут можно указать название устройства, название драйвера, название вашей фирмы и другое. В результате программа сгенерирует набор файлов драйвера вашего устройства.


Теперь эти файлы можно прикладывать к вашему устройству на диске, флешке или еще как-нибудь.

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






После установки в системе появляется новое устройство.


В данном случае это COM-порт, т. к. я выбрал этот тип драйвера в мастере.

Кстати после установки драйвера вашего устройства микросхема CP2102 снова начинает видиться программой CP210x Set Ids, которая переставала ее видеть после смены PID и VID.

Подключаем устройство и имеем счастье


Минусы CP2102

К сожалению, у всего есть недостатки. Включая божественную микросхему CP2102. В ее случае это ее корпус. Если FT232RL в корпусе TSSOP неудобна для пайки т.к. имеет мелкий шаг выводов, то CP2102 выводов не имеет вообще.


Но, если руки имеют относительно небольшую кривизну, то запаять ее можно. И даже проще, чем кажется. Феном запаять ее вообще не проблема. А в качестве доказательства того, что она вполне паябельна (а еще для фана) я специально снял видос, как я паяю ее турбозажигалкой на плате, изготовленной по ЛУТ-технологии :) )

Вот как выглядела платка и что получилось в результате


А некоторые умельцы извращаются и так. Но я б так не стал :)


Микросхема достаточно дешевая, чтобы впаивать ее в каждое устройство, где она нужна, а не изготавливать один универсальный кабель-переходник для всех своих девайсов. Но иногда и отдельная платка переходника нужна. Я для себя сделал несколько таких вот милых платок.

Рабочий драйвер для windows 7 - 10 .
(С форума скачивал - не завёлся .)

Порядок установки :
Разархивируйте , отключить всё от компьютера , запустить файл installer.exe под свою архитектуру .
После перезагрузить комп или ноут , воткнуть программатор и драйвер установится .CP210x-driver-windows7-10.zip ( 3.68 МБ )

Программатор не заводится пока не установлен драйвер .

Сперва не заметил pl2303 . Рабочий драйвер для вин 7-10 .
PL2303_Prolific_DriverInstaller_v1_9_0.zip ( 2.33 МБ )

Прикрепленное изображение

Вывод Описание
3V3 Питание 3.3В (выход)
GND Земля
5V Питание 5В (выход)
TXD Передача данных (Transmit Data)
RXD Прием данных (Receive Data)
DTR Готовность приемника данных (Data Terminal Ready)
DCD Наличие несущей (Carrier Detect)
DSR Готовность источника данных (Data Set Ready)
RTS Запрос на передачу (Request to Send)
CTS Готовность передачи (Clear to Send)
RTS Запрос на передачу (Request to Send)
RI Сигнал вызова (Ring Indicator)
SUS Приводится в высокий уровень, когда CP2102/9 входит в режим IDLE.
!SUS Приводится в низкий уровень, когда CP2102/9 входит в режим IDLE.

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Сперва не заметил pl2303 . Рабочий драйвер для вин 7-10 .

есть у меня шнурок на китайской 2303hx. после установки на win7 максимальная sp1 драйвера выдает

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

US7IGN, Добрый день. Где взяты драйвера? Пробовали их переустановить, или установить на другой ПК? попробуйте отключить проверку . Может и в sp1 чего то не хватает .
У меня встали без проблем .

Всем спасибо за советы, задачу решил, а проблему нет.

Итак, на компьютере с вин 7 поставил вручную драйвера 3.2.0.0. и система перестала ругаться, шнурок был опознан.

Нужная программа для работы с радио, которое я хотел запрограммировать, Kenwood MCP-F6 даже видит радио, но выдает ошибку communication timeout error

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

Достал старый ноут с ХР, куда вместо Kenwood MCP-F6 сразу поставил сторонний аналог link700 (под вин 7 она устанавливаться отказалась) - все увиделось и заработало.

После Vogue истерии появилось множество вопросов, как подключить плату к компьютеру. И многие люди даже не понимают, что же такое UART. И я решил рассказать здесь какой это мощный инструмент.

image


Роутер превращается в компьютер, если к нему по UART подключить клавиатуру и дисплей

От телеграфа к COM-порту

Протокол UART (Universal asynchronous receiver/transmitter) или, по-русски, УАПП (универсальный асинхронный приемопередатчик) — старейший и самый распространенный на сегодняшний день физический протокол передачи данных. Наиболее известен из семейства UART протокол RS-232 (в народе – COM-порт, тот самый который стоит у тебя в компе). Это, наверное, самый древний компьютерный интерфейс. Он дожил до наших дней и не потерял своей актуальности.

В 1971 году, когда уже начался бум микросхем, Гордон Белл для компьютеров PDP фирмы Western Digital сделал микросхему UART WD1402A. Примерно в начале 80-х фирмой National Semiconductor был создан чип 8520. В 90-е был придуман буфер к интерфейсу, что позволило передавать данные на более высоких скоростях. Этот интерфейс, не претерпев практически никаких изменений, дошел и до наших дней

Физика интерфейса

Чтобы понять, что роднит и отличает разные UART-интерфейсы, разберем принцип работы самого популярного и любимого нами протокола RS-232. Дотошно расписывать все тонкости его работы я не буду. Об этом написан ни один десяток мегабайт статей, и если ты умеешь пользоваться Гуглом, то без проблем найдешь всю необходимую информацию. Но основы я расскажу, благо с ними можно уже круто всем рулить, а всякие фишки используются очень редко.

Основные рабочие линии у нас – RXD и TXD, или просто RX и TX. Передающая линия – TXD (Transmitted Data), а порт RXD (Received Data) – принимающая.
Эти линии СОМ-порта задействованы при передаче без аппаратного управления потоком данных. При аппаратном потоке задействованы еще дополнительные интерфейсные линии (DTS, RTS и пр.). Выход передатчика TX соединен с входом приемника RX и наоборот. Электрический принцип работы RS-232 отличается от стандартной 5-вольтовой TTL логики. В этом протоколе логический нуль лежит от +3 до +12 вольт, а единица от -3 до -12, соответственно. Промежуток от -3 до +3 вольт считается зоной неопределенности. Учти, что все напряжения указаны относительно корпуса компьютера, или земли. Теперь, я думаю, ты понимаешь, зачем в компьютерном блоке питания существует сразу два напряжения: -12 и +12 вольт. Они были введены специально для работы СОМ-порта.

image


Приём сигнала по RS-232 (взято из книги М.Гук «Аппаратные интерфейсы ПК»)

Такая большая амплитуда рабочих напряжений, целых 24 вольта, нужна в первую очередь для помехоустойчивости линий связи. По стандарту, длина кабеля, по которому у нас бегают данные, может быть 15 м. Хотя на практике люди умудрялись заставлять его работать даже на 25 м. Электрические параметры RS-232 – это главная характеристика, которая отличает его от других протоколов семейства UART.

Следующие характеристики – формат посылки и скорость передачи данных – полностью применимы ко всем видам UART и обеспечивают их совместимость через несложные схемы сопряжения.

Стандартная посылка занимает 10 бит. Но правило это распространяется только на стандартные настройки СОМ-порта. В принципе, его можно перенастроить так, чтобы он даже интерфейс One-Wire понимал. В режиме простоя, когда по линии ничего не передается, она находится в состоянии логической единицы, или -12 вольт. Начало передачи обозначают передачей стартового бита, который всегда равен нулю. Затем идет передача восьми бит данных. Завершает посылку бит четности и стоповый бит. Бит четности осуществляет проверку переданных данных. Стоповый бит говорит нам, что пересылка данных завершена. Надо отметить, что STOP-бит может занимать 1, 1.5, и 2 бита. Не стоит думать, что это дробные биты, это число говорит только о его длительности. Стоповый бит, как и стартовый, равен нулю.

image


Сигнал UART на экране осциллографа. Виден старт бит, данные и стоповый бит. Спасибо DIHALTза картинку

Скорость работы

Даже если тебе раньше никогда не приходилось работать с СОМ-портом, по крайней мере, в модеме ты должен знать номинальные скорости работы: 9600, 28800, 33600, 56000 и т.п. Сколько бит в секунду убегает из нашего порта? Вот смотри, допустим, скорость у нас 9600 бит в секунду. Это означает, что передача одного бита будет занимать 1/9600 секунды, а пересылка байта – 11/9600. И такая скорость для байта верна только в случае, если стоп-бит будет занимать один бит. В случае, если он занимает два стоп-бита, то передача будет 12/9600. Это связано с тем, что вместе с битами данных передаются еще специальные биты: старт, стоп и бит четности. Линейка скоростей СОМ-порта стандартизирована. Как правило, все устройства работают на трех стандартных скоростях: 9600, 19200, 115200. Но возможны другие варианты, даже использование нестандартных скоростей или скорости, меняющейся во времени, – с этим я сталкивался при разборе полетов очередного устройства.

Такой разный протокол

Видов UART существует великое множество. Я не буду перечислять их наименования, ибо, если ты владеешь английским, то сумеешь и сам нагуглить. Но самые основные не отметить нельзя! Напомню, что главное отличие интерфейсов состоит в среде и способе передаче данных. Данные могут передаваться даже по оптоволокну.

Второй по распространению интерфейс после RS-232 – это RS-485. Он является промышленным стандартом, и передача в нем осуществляется по витой паре, что дает ему неплохую помехоустойчивость и повышенную скорость передачи до 4 мегабит в секунду. Длина провода тут может достигать 1 км. Как правило, он используется на заводах для управления разными станками.

Надо сказать, что IRDA, или инфракрасная связь, которая встроена в большинство телефонов и КПК, тоже по сути является UARTом. Только данные передаются не по проводам, а с помощью инфракрасного излучения.

В SMART-картах (SIM, спутниковое телевиденье, банковские карты) – тех самых устройствах, которые мечтает похачить каждый уважающий себя фрикер – тоже используется наш любимый UART. Правда, там полудуплексная передача данных, и логика работы может быть 1,8/3,3 и 5 вольт. Выглядит так, будто RX запаян с TX на одном конце и на другом – в результате, один передает, другой в этот момент слушает, и наоборот. Это регламентировано стандартом смарт-карт. Так мы точно знаем, сколько байт пошлем, и сколько нам ответит карточка. Тема достойна отдельной статьи. В общем, запомни, что UART есть практически везде.

image


Устройства, которые имеют на своём борту UART, по часовой стрелке: мышка, ридер-эмулятор SMART-карт, КПК Palm m105, отладочная плата для микроконтроллера ATtiny2313 (или AT89C2051), модем.

Сопряжение интерфейсов

Я уже глаза намозолил разными интерфейсами, но как с ними работать-то? Ну, с обычным RS-232 понятно, а, допустим, с 5-вольтовым юартом как быть? Все просто: существуют различные готовые микросхемы-преобразователи. Как правило, в маркировке они содержат цифры «232». Увидел в схеме микруху с этими цифирями – будь уверен: скорее всего, это преобразователь. Через такие микросхемы с небольшим обвязом и сопрягаются все интерфейсы UART. Я не буду рассказывать о промышленных интерфейсах, а скажу о тех преобразователях, которые интересуют нас в первую очередь.

Самый известный преобразователь интерфейса – это микросхема, разработанная фирмой MAXIM, которая и получила от нее часть своего названия (max232). Для ее работы требуется четыре конденсатора от 0,1 микрофарады до 4 микрофарад и питание 5 вольт. Удивительно, что эта микросхема из 5 вольт генерирует отрицательное напряжение, чтобы сопрягать 5-вольтовый UART с RS-232.

Существуют микросхемы сопряжения USB с UART, например, микросхема ft232rl. В Ubuntu для этой микросхемы уже встроены драйвера. Для Windows их придется качать с официального сайта. После установки драйверов в системе появится виртуальный СОМ-порт, и с ним уже можно рулить различными устройствами. Советую не принимать эти микросхемы, как единственно возможные. Найдется громадное количество более дешевых и интересных аналогов, посему наседай на Гугл и поймешь, что мир UARTа – это круто.

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

Что нам это дает?

Как ты понял, интерфейс UART присутствует во многих устройствах, в которых стоит какой-либо процессор или контроллер. Я даже больше скажу: если там стоит контроллер, то юарт есть стопудово (только он не всегда может использоваться). Как правило, по этому интерфейсу идет наладка и проверка работоспособности девайса. Зачастую производитель умалчивает о наличии этого интерфейса в изделии, но найти его несложно: достаточно скачать мануал на процессор и, где находится юарт, ты будешь знать. После того, как ты получишь физический доступ к железяке по нашему интерфейсу, можно его настроить на свое усмотрение или даже заставить работать, так как надо тебе, а не как задумал производитель. В общем, – выжать максимум возможностей из скромного девайса. Знание этого протокола дает также возможность подслушать, что же творится в линиях обмена между различными процессорами, так как часто производители организуют целые юарт-сети в своем устройстве. В общем, применений много, главное – интуитивно понимать, как это делать.

Апдейтим роутер
Собираем преобразователь

Чтобы подключить роутер к компу, необходимо сопрячь интерфейсы RS-232 с UARTом роутера. В принципе, можно подключить к USB, используя указанную выше микросхему FT232RL, – что я и сделал при первой проверке роутера. Но эта микросхема – в достаточно сложном для пайки корпусе, посему мы поговорим о более простых решениях. А именно – микросхеме MAX232. Если ты собираешься питаться от роутера, то там, скорее всего, будет 3,3 вольта, поэтому лучше использовать MAX3232, которая обычно стоит в КПК (схему распайки нетрудно найти в инете). Но в моем роутере присутствовало питание +5 вольт на входе, а указанных микросхем у меня великое множество, и я не стал заморачиваться. Для сборки нам потребуются конденсаторы 0,1 мкФ (4 штуки) и сама микросхема. Запаиваем все по традиционной схеме, и начинаем эксперименты.

image


Исходники для сборки

На выход я сразу повесил 9-пиновый разъем типа «папа», чтобы можно было легко подключить нуль-модемный кабель. Если ты помнишь, во времена DOSа такими кабелями делали сетку из двух компов и резались в «Дюкнюкем». Провод для наших целей собрать несложно. Правда, получится не полный нуль-модем и через него особо не поиграешь, но рулить точкой доступа будет самое то! Тебе понадобятся два 9-пиновых разъема типа «мама», корпуса к ним и провод, например, от старой мышки или клавы (главное, чтобы в нем было три провода). Сначала соединяем земли ¬- это пятый контакт разъемов; просто берем любой провод и с обоих сторон припаиваем к 5-му контакту. А вот с RX и TX надо поступить хитрее. С одного конца провода запаиваем на 3-й контакт, а с другого – на 2-й. Аналогично с третьим проводом, только с одного конца запаиваем на 2-й контакт, с другого – на 3-й. Суть в том, что TX должен передавать в RX. Прячем запаянные разъемы в корпус — и готов нуль-модемный кабель!

image


Распаянные иголки на плате роутера.

Для удобства монтажа в материнку роутера я впаял штырьковый разъем, а в монтажку с MAX232 – обратный разъем и вставил платку, как в слот. RX и TX роутера подбираются экспериментально.

image


Собраная плата

Теперь надо запитать микросхему преобразователя. Общий провод у нас присутствует уже прямо в разъеме на мамке роутера. А вот + 5 вольт находится прямо у входа питания роутера, в месте, где подключается адаптер. Точку нахождения 5 вольт определяем вольтметром, измеряя разные узлы относительно земли роутера.
Подключаем питание. Включаем и начинаем наши злостные эксперименты.

image


Прожигаем отверстие для вывода проводов

image


Распаянный СОМ-порт

image


Всё в сборе. Обратите внимание, что красный провод питания идёт к разъёму адаптера роутера. Узелок внутри сделан, для того чтобы рывком на оторвать припаянные провода.

Настройка терминала

Нам нужно настроить терминальную программу. В Винде все достаточно просто: запускаем Hyper Terminal, отключаем программную и аппаратную проверку данных, выставляем скорость 115200 и один стоповый бит. А вот в Линухе дело обстоит чуть хитрее. У меня Ubuntu, и рассказывать буду про нее. Для начала разберись, как в твоей сборке именуется СОМ-порт. В моем случае СОМ1 был ttyS0 (если использовать к примеру микросхему FT232, то он будет именоваться ttyUSB0). Для работы с ним я использовал софтинку minicom.

Запускай ее с параметрами: minicom -l -8 -c on -s. Далее выбирай «Настройки последовательного порта»:
Последовательный порт /dev/ttyS0

* Скорость/четность/биты 115200 8N1
* Аппаратное управление потоком — нет
* Программное управление потоком — нет

Сохраняем настройки. Софтина попробует проинициализировать модем — не обращай внимания. Чтобы вызвать меню, нажми <ctrl-a z>. Там можно менять настройки, например: включить/выключить эхо — Е.
Настройка

Я не рекомендую подключать микросхему преобразователя к роутеру, дабы проверить ее функционал. Допускается только брать с него питание. Проверка проходит очень просто — необходимо перемкнуть RX с TX. Сначала перемыкаешь в СОМ-порте 2-й и 3-й контакт — проверяешь настройки терминалки. Пишешь что-то на клаве: если символы возвращаются, значит, все ОК. Также проверяешь кабель, те же контакты. Потом подключаешь микросхему, и уже у нее на выходе ставишь перемычку. Я заостряю на этом внимание, потому что, например, у меня возникли проблемы, и ничего не работало, пока я все не проверил и не нашел ошибку.

После всех настроек можешь смело цеплять к роутеру и искать RX-TX на роутере, периодически выдергивая из него питание. Если все сделано правильно, то при подаче питания ты увидишь лог загрузки роутера. Принимай поздравления, теперь у тебя полный аппаратный рут, так, будто ты сидишь за монитором с клавой роутера.

image


Лог загрузки роутера в программе minicom

Автономное плаванье

Согласись, делать через терминальную программу то же самое, что удобнее сделать через SSH – не айс. Мне хотелось превратить роутер в автономный Linux-компьютер, со своей хитрой архитектурой. Для этого нужно, чтобы данные с клавиатуры передавались по UART, и по нему же выводились на монитор. Паять и разрабатывать устройство было лениво. Тогда-то и пришла идея заюзать для этих целей пылящийся без дела КПК. По сути, наладонник будет исполнять роль контроллера клавиатуры и дисплея, ну и служить сопряжением интерфейсов.

Сначала я попробовал древнейший Palm m100. Но, видимо, у него очень маленькая буферная память, и от количества данных, которые идут с роутера, ему становилось плохо. Я взял другой — промышленный КПК, с нормальным СОМ-портом и терминалкой. Подключил, вставил в док и, в результате, получил небольшой линукс-компьютер. В принципе, вместо дорогущего промышленного КПК подойдет большинство наладонников, работающих под операционкой WinCE, главное – найти подходящий терминальный софт.

image


Линукс компьютер :)

Итоги

Итак, я показал небольшой пример использования UART. Если ты вкуришь в этот протокол, то поверь, станешь просто повелителем различных железок. Есть он практически везде, и через него можно сопрягать, казалось бы, совершенно разные вещи. К примеру, к тому же роутеру при небольших настройках подключается мобильный телефон по юарту, – и раздает с него интернет. В общем, применений куча. Не бойся экспериментировать, самообразовываться и реализовать свои идеи.

Этот пост является отредактированной для хабра версией моей статьи в Хакере № 05/09 «Главный инструмент фрикера».

Для полноценного функционирования устройства Atmega Fusebit Doctor потребовался преобразователь USB-UART.
Решил собрать модуль преобразователя USB-UART на микросхеме FT232RL. Преобразователь позволяет создать соединение на любом компьютере имеющем USB разъем.
Обвязка FT232RL минимальна, для работы устройства, помимо самой микросхемы, требуется пара конденсаторов. Также для индикации работы можно повесить 3 светодиода, которые будут сигнализировать о наличии питания, приеме и передаче данных. Само устройство собрано в форме флэшки, поэтому приткнутся к USB-порту можно в любой момент. На выходе устройства на разъем выведены пины Tx и Rx, GND, а также питание +5В, которым можно запитывать подключаемое устройство.
Схема устройства приведена ниже:


Вот что, собственно получилось:


Это печатная плата, файл с макросом этого микроблока для Sprint Layout будет в конце записи.
После травления:


После пайки всех деталей:



Отрезаем провод нужной длины, ставим разъемы типа "папа".




Устройство USB-UART можно втыкать в USB порт. Операционная система (У меня это Windows 7) сразу найдет новое устройство и предложит найти драйвер. Если имеется подключение к интернету, можно выбрать автоматическую загрузку и установку драйвера, центр обновления windows все сделает сам:


Если подключение не доступно, выбираем ручную установку и скармливаем ей нужный драйвер, скачать его можно по ссылке в конце записи.

Устанавливать драйвера нужно 2 раза, сперва устанавливается USB драйвер для FT232RL:




После чего Windows тут же обнаружит еще одно неопознанное устройство, тыкаем ее снова в папочку с драйверами и она находит виртуальный COM порт:



Проверить работоспособность устройства можно следующим образом: открываем любую терминальную программу, выбираем в настройках COM порт созданный при установке драйвера, замыкаем джампером контакты Rx и Tx, и отправляем любую команду в терминал. Если команда вернулась, значит модуль выполняет свое предназначение. Также при этом должны весело мигнуть светодиоды индикации приема/передачи.

Программа Terminal 1.9b RS232 (монитор COM порта ПК)
Для связи AVR и компьютера по UART на компьютере нужна терминальная программа. После работы с разными программами я остановился на «Terminal 1.9b». Очень удобная терминалка. Рекомендую.


Основные возможности Terminal 1.9b:
-работает без инсталяции. Вся программа — один exe-файл размером около 300Кб
-есть счетчик переданных и принятых байтов
-возможность отправлять файлы
-помимо стандартных скоростей (baudrate) есть возможность установить свою нестандартную
-поддерживает до 64 COM-портов
-можно весь лог работы записывать в файл
-можно назначить до 24 макросов
-реализованы Pascalе-подобные скрипты (правда документации по этому скриптовому языку я не нашел. В архиве есть несколько примеров применения скриптов и это все)

Читайте также: