- Подключаем роутер TP-Link TL-MR3020 V3 по UART-USB (через COM-порт) и прошиваемся.
- Производим ряд подключений
- Настраиваем:
- Про кодировку
- Про скорость
- Через панель управления
- Скорость в Putty
- Вывод
- Входим в U-Boot
- Команды U-Boot версии 1.1.3
- Список команд U-boot меню (он длинный)
- Dlink Dir300(A1) и работа с COM портом
- Подключение устройств с COM портами к Wi-Fi сети
- Вариант 1: NPort c Wi-Fi
- Режим Infrastructure
- Режим Ad-Hoc
- Как быть, если нужно одновременно подключить COM и Ethernet устройства к Wi-Fi?
- Как быть, если устройство с COM-портом расположено на движущемся объекте?
- Вариант 2: AWK-1131C Wi-Fi-клиент
- Сравнительная таблица NPort W2x50A и AWK-1137C
Подключаем роутер TP-Link TL-MR3020 V3 по UART-USB (через COM-порт) и прошиваемся.
Конечно для подключения нам нужен Putty ( Putty — официальный сайт ). неоднократно уже было на нашем канале как подключать, статьи:
вот скриншот с роутера Xiaomi Mi, но принцип один и тот же (скорость ставим не 115200, а 119000 )
Производим ряд подключений
При включении роутер в сеть (обязательно уже должен быть подключен адаптер USB-Serial и открыта консоль в Putty, иначе пока все будите включать пропустите U-boot)
Настраиваем:
Serial порт у меня COM5, а у Вас, скорее всего будет другой, тут все просто смотрите в диспетчера какой порт у вас выдает ваш конвертер. А вот дальше возникают всегда некоторые проблемы, нам нужно настроить еще скорость порта и кодировку:
Про кодировку
- Чаще всего используется кодировка UTF-8
- Реже Windows-1251, центральная Европа (например Asus RT-N65U, статья: » Попытка восстановить роутер Asus RT-N65U или как умирают роутеры «)
Про скорость
Все дело в том что сначала при загрузке U-boot и чуть опосля бегут крокозябры и в начале ничего не видно, а там же интересная информация что делать?
Настраивать скорость UART
Ее можно и нужно настроить в двух местах:
Через панель управления
Панель управления\Оборудование и звук\Диспетчер устройств\Порты (COM и LTP)
Выбираем ваш порт, у меня «USB-SERIAL CH340», далее «Параметры порта»
Нам нужна скорость порта, по умолчанию она 9600 но!
Скорость (BaudRate, БодРейд) лучше выставить скорость большую чем скорость нашего устройства (роутера), поэтому меняем 9600 на 115200 . Хотя у меня работает все и на стандартной скорости 9600, но это может помочь в других случаях.
Скорость в Putty
А вот скорость в настройках терминала в нашем случае это программа Putty должна ровняется скорости (BaudRate, БодРейд) устройства. ее мы подбираем руками экспериментально, но чаще всего это то же 115200 или 57600
Общепринятый ряд стандартных скоростей: 300; 600; 1200; 2400; 4800; 9600; 19200; 38400; 57600 ; 115200 ; 230400; 460800; 921600 бод. (скорость в бодах иногда используются синонимы бодрейт или битрейт)
Тем не менее при стандартной скорости 115200 все равно бегут крокозябры, но потом все налаживается
А при нестандартной скорости 119000 все прекрасно грузится и все видно, возможно эти настройки относятся только к адаптеру на чипе CH340 (пишут что адаптер на CH340 не очень удачная штука, лучше на PL2303)
Интересно смотреть на листинг сначала грузится:
Напомню что 5 мая 2011 года Ralink была приобретена компанией MediaTek. Собственно чей чипсет и стоит в роутере, статья на канале: » TP-Link TL-MR3020 супер роутер — комбайн для нищебродов. Часть I, вступительная. «
Вывод
Для нормальной, читабельной загрузки выставляем скорость в Putty 119000, кодировка остается по умолчанию UTF-8
Входим в U-Boot
При начальной загрузке сразу как подаем питание на роутер жмем по клавише «T» или «4», других клавиш я не нашел! Итак, прям барабаним по «T » или «4», естественно кодировка должна быть английская как и клавиша «T», а для «4» это не важно.
Итак жмякаем по «T» и попадаем в U-boot
Можете ввести»help» и вам будут доступны все возможные команды
Команды U-Boot версии 1.1.3
Список команд U-boot меню (он длинный)
- ? — alias for ‘help’
- base — print or set address offset
- bdinfo — print Board Info structure
- bootm — boot application image from memory
- bootp — boot image via network using BootP/TFTP protocol
- coninfo — print console devices and information
- cp — memory copy
- crc32 — checksum calculation
- erase — erase SPI FLASH memory
- go — start application at address ‘addr’
- help — print online help
- loadb — load binary file over serial line (kermit mode)
- loop — infinite loop on address range
- md — memory display
- mdio — Ralink PHY register R/W command !!
- mm — memory modify (auto-incrementing)
- mtest — simple RAM test
- nm — memory modify (constant address)
- printenv- print environment variables
- rarpboot- boot image via network using RARP/TFTP protocol
- reset — Perform RESET of the CPU
- rf — read/write rf register
- saveenv — save environment variables to persistent storage
- setenv — set environment variables
- sleep — delay execution for some time
- spi — spi command
- tftpboot- boot image via network using TFTP protocol
- version — print monitor version
По SPI есть свой Help (spi usage):
- spi id
- spi sr read
- spi sr write
- spi read
- spi erase
- spi write
Нас интересует команда tftpboot , что естественно значит загрузку прошивки по tftp.
После ввода tftpboot роутер напишет:
Warning: no boot file name; using ‘test.bin’ TFTP from server 192.168.0.225; our IP address is 192.168.0.2. Filename ‘test.bin’
(Предупреждение: нет имени загрузочного файла; используя test.bin
TFTP с сервера 192.168.0.225; наш IP-адрес 192.168.0.2 Имя файла test.bin)
Dlink Dir300(A1) и работа с COM портом
Не буду рассказывать историю как у меня почти год лежал поломанный маршрутизатор Dlink, и 5 раз прошивая его различными прошивками — работать он отказывался, но после прошивки не стабильной версией DD-WRT он начал работать как вечные часы.
Откроем свет собственно на такую вещь, как подключение дополнительных устройств с роутеру через его системный COM порт, а конкретнее — как организовать связь между устройствами.
Еще проще говоря получать данные (температура, давление, влажность) с датчиков через интернет.
Пересмотрев массу информации на данную тему стало обидно за мой старенький Dir300, так как везде используется Dlink Dir320.
Изначально нам понадобиться маршрутизатор с установленным Linux BusyBox
О прошивке можно прочитать на официальном сайте: Прошивка Dlink Dir300 DD-WRT
(Инструкция опробована и верна)
Цель
1. Организовать связь роутера и любого устройства по RS232.
2. Отправлять по Wi-Fi данные в маршрутизатор Dir300A1 и получать ответ.
Было решено соединить маршрутизатор с компьютером (для полной наглядности), передавать данные с нетбука.
Приступим
Уровни сигналов маршрутизатора и компьютера отличаются, поэтому необходимо поработать паяльником — сделать конвертер уровней RS232-TTL.
Конвертер уровней RS232-TTL
Детали для конвертера:
Конденсатор (электролит) 1Мкф 16В — 4 Шт
Конденсатор (электролит) 10Мкф 16В — 1 Шт
Резистор (SMD или Обычный) 400-470 Ком — 1 Шт
Резистор (SMD или Обычный) 4-5 Ком — 1 Шт
Конвертер MAX232 (для SP232 необходимы 10Мкф вместо 1Мкф)
Разъем Com 9pin (мама) — 1 шт
Файл с печатной платой Lay и описанием можно скачать по ссылке: Uart
Что получилось в итоге видно на плохом фото ниже. Исполнено на макетке.
Самая частая ошибка начинающих: — «Непропай», отсоединенная «земля», перепутанные входы и выходы.
Правильное подключение входов и выходов указанно на рисунке ниже.
Далее необходимо впаять выводы конвертера в маршрутизатор, предварительно обнаружив на плате не распаянный сервисный com порт.
Не буду останавливаться на железе, статья посвящена более настройкам роутера.
Подключаемся (connect) по Wi-Fi к маршрутизатору.
При установке DD-WRT на Ваш маршрутизатор было предложено ввести Логин и Пароль администратора. Пришло время его вспомнить.
Подключаемся к маршрутизатору через telnet с нетбука.
Пуск > Выполнить > telnet 192.168.1.1
Вводим Логин и Пароль — подключаемся.
Командой root@DD-WRT:~# stty — смотрим настройки нашего com порта.
Необходимо сменить скорость до 300 бод — как бы дико это не звучало. Но толкать некоторые числа вполне достаточно.
root@DD-WRT:~# stty 300> /dev/tts/0
Далее открываем стандартный терминал , подключаясь к Com порту компьютера и выставляя настройки как на рисунках.
Далее Файл > Cвойства > Параметры > Параметры ASCll > Отображать введенные символы на экране
Приступаем к общению.
Поток данных отправляемых в com порт маршрутизатора, как можно было заметить выше находится по адресу /dev/tts/0
Записываем данные в поток , отправляем их в компьютер.
root@DD-WRT:~# echo «URA»> /dev/tts/0
root@DD-WRT:~# echo «1injener.ru»> /dev/tts/0
Смотрим что пришло в терминал компьютера:
URA
1injener.ru
Jan 1 01:25:25 login[25468]: root login on ‘pts/1’
3-я строчка не спроста, так как это системный com порт, в него маршрутизатор все же пишет данные, в данном случае информация о логине root-а.
Но применив какую нибудь свою версию протокола в виде: *port_2 *port_3 — ориентируясь на * возможно распарсивать данные.
Что бы читать данные отправляемые «устройством» в маршрутизатор выполните открытие файла в потоке:
root@DD-WRT:~# cat /dev/tts/0
В итоге , прошивка DD-WRT дает огромные возможности. Но так как в Dir300 довольно мало памяти сильно не разогнаться. Но не стоит забывать что используя переходники USB-ETHERNET или COM-ETHERNET вполне расширит количество подключаемых устройств.
Вариантов много -Выбор за Вами. Таким образом возможно создавать домашних управляемых роботов или системы контроля за теплицами, квартирами, дачами.
Проверка
Как бы странно не звучало telnet клиенты присутствуют даже для платформы j2me. Скачав на телефон MidpSSH и уехав в другой конец города или вовсе в другой город, подключившись к роутеру по интернету появляется возможность общения с любым устройством. Пусть это будет обычная программируемая микросхема Pic с RS232 портом или несколько микро-компьютеров Малина.
Данный вид связи-общения наиболее дешевый, особенно если по рукой находится маршрутизатор.
Собственно питание всех данных устройств не превышает 5 вольт что и делает их использование безопасными без присмотра, также рентабельными — конечно же в зависимости от поставленной Вами цели.
Другие статьи по разделу:
Подключение устройств с COM портами к Wi-Fi сети
Часто возникают ситуации, когда необходимо подключить какое-либо устройство с интерфейсом RS-232/422/485 или Ethernet к другому такому же устройству или ПК, но оно находится далеко, а прокладка кабеля до него затруднительна. В этом случае можно организовать передачу данных по беспроводной связи. Сделать это можно несколькими способами, и у каждого есть свои особенности. Давайте рассмотрим варианты.
Вариант 1: NPort c Wi-Fi
Если ваши устройства расположены в пределах прямой видимости, можно использовать Wi-Fi. Самый простой и экономически выгодный способ передать RS-232/422/485 по Wi-Fi – использовать преобразователь NPort cо встроенным Wi-Fi адаптером. В этом случае NPort может работать в двух режимах: Infrastructure или Ad-Hoc.
Режим Infrastructure
В этом режиме NPort будет в качестве Wi-Fi клиента подключаться к Wi-Fi точке доступа.
Режим Ad-Hoc
В этом режиме устройства NPort могут соединяться с друг другом напрямую, без участия точки доступа.
Как быть, если нужно одновременно подключить COM и Ethernet устройства к Wi-Fi?
NPort также имеет Ethernet порт, что позволяет одновременно подключить к беспроводной сети еще и Ethernet устройства, что избавляет от необходимости покупать дополнительную точку доступа.
Как быть, если устройство с COM-портом расположено на движущемся объекте?
NPort W2x50A поддерживают технологию беспроводного роуминга на уровне клиента (Client-based Turbo Roaming). Если NPort установлен на движущемся объекте, то при движении NPort может переключатся между точками доступа, обеспечивая непрерывную связь (время переключения менее 500 мс).
Вариант 2: AWK-1131C Wi-Fi-клиент
AWK-1131C оснащен COM-портом RS-232/422/485 для подключения последовательных устройств к Wi-Fi сети. Также, как и обычный NPort, AWK-1137C поддерживает самые востребованные режимы работы, включая виртуальный COM-порт.
Сравнительная таблица NPort W2x50A и AWK-1137C
NPort W2150A | AWK-1137C | |
---|---|---|
Режим работы Wi-Fi | Client | Client/Slave/Client-Router |
Режим работы COM-порта | Real COM, RCF2217, TCP Server, TCP Client, UDP, Pair Connection, Ethernet Modem | Real COM, RCF2217, TCP Server, TCP Client, UDP |
Буфер COM-порта | 20 МБ | 256 КБ |
Ethernet-интерфейс | 1×10/100 BaseT(X) RJ45 | 2×10/100 BaseT(X) RJ45 |
Защита от электростатических разрядов (ESD) | Уровень 2 | Уровень 4 |
Способ установки на DIN-рейку | Крепление на заднюю панель | Крепление на боковую панель |
Время переключение роуминга | 500 мс | 150 мс |
NAT | Нет | Есть |
Макс. мощность передатчика | 16 дБм | 26 дБм |
Международные радио сертификаты | CE, ARIB RCR STD-33, ARIB STD-66 | CE, FCC, MIC, NCC, KC, RCM, ANATEL, SRRC, WPC |
Технология AeroMag | Нет | AeroMag Client |
Управление | NPort Search Utility | Wireless Search Utility, MXconfig/MXview |
Ethernet сервер последовательных интерфейсов, 1xRS-232/422/485, с Wi-Fi 802.11a/b/g/n, 0. +55С, с адаптером питания