Авторизация
Зарегистрироваться

Прозрачный настраиваемый мост wifi-uart на esp8266, со встроенным эмулятором терминала


Предисловие

В бытность мою инженером связи, мне часто приходилось настраивать различное оборудование. Зоопарк из коммутаторов различных производителей, телефонные станции и прочее. Первоначальную настройку на коммутаторах удобнее делать подключившись через rs232, шнурком с преобразователем COM-USB к ноутбуку. Однако этот кабель не всегда удобен. Бывали ситуации когда ты в подвале (шкафы с оборудованием, в сетях ДРС которые я обслуживал, находились именно там), пытаешься стоя одной рукой держать ноутбук, а другой печатать, а короткий кабель соединённый с коммутатором не способствует удобству. Или зимой в минус 25 приходилось стоять возле базовой станции с ноутбуком в такой же позе. Вместо того чтобы сидеть в тёплой машине, припаркованной в 20 метрах. Предвидя упрёки в комментариях, о том что оборудование настраивать надо уделёно, скажу что эти случаи были аварийными (оборудование не в доступе) и оптимально было действовать именно так (сроки устранения повреждений не резиновые).

В общем тогда я прямо таки мечтал о беспроводном удлинителе 232-ого интерфейса. И на то время у китайцев существовали такие приблуды. Но, во первых дорого, во вторых громоздко и не автономно (был отдельный БП на 9-12В).
И вот прошли годы, я работаю в другой области и с оборудованием связи имею мало общего. Но иногда с настройкой коммутаторов всё-же приходится сталкиваться. Тут заходя в очередной раз на mysku.ru вижу акцию на отладочную плату TTGO T-OI с микроконтроллером esp8266 за 1 доллар. Заказав такую халяву, я начал думать что бы с ней такого полезного сделать. Собирать очередную метеостанцию не особо хотелось. И тут мне вспомнилась идея беспроводного преобразователя, хотя сейчас полно аналогичных решений и алишке, и даже есть такие вещи как Air Console с впечатляющим функционалом и не менее впечатляющей ценой.
Но было интересно реализовать самому, попрактиковаться, так сказать, ведь такое хобби приносит море удовольствия.

Аппаратная часть

Краткие характеристики модуля TTGO T-OI со страницы продавца:

Спецификации оборудования 

Чипсет:                 ESP8266EX
Флэш-память:            4 Мб 
Размер:                 43,96x25,63x20,80 мм
Вес:                    7,87 г.
Питание:                MicroUSB 5V/Батарея 16340 3,7V
Органы управления:      Кнопка reset, переключатель питания
Разьемы:                Micro USB, Grove, IPEX(внешняя антенна)

Живые фото:


Распиновка модуля:

Данный модуль привлекателен тем что в нём встроена зарядка для лития и держатель для аккумуляторов формата 18340. Что без лишних телодвижений делает устройство автономным. Для включения отладочной платы служит переключатель в правом нижнем углу. Еще одним достоинством является совместимость по пинам с Wemos D1 Mini, что даёт возможность подключать к TTGO все шилды от Mini.
Этим я и решил воспользоваться, накидав в Easy EDA шилд, преобразовывающий uart в rs232:

Так-как напряжение логических уровней на esp8266 3.3В, то в качестве преобразователя в/из интерфейса rs232, в место традиционного MAX232 использовал микросхему MAX3232 в корпусе SOIC-16, которая как раз работает с этим напряжением. Далее, мне понадобилось 5 конденсаторов на 100 нанофарад и резистор на 1 килоОм со светодиодом. Всё в SMD исполнении, типоразмера 0805. Еще понадобится разъем DRB- 9MA.
Компоненты списком:


С ЛУТом возиться не хотелось, поэтому заказал её изготавливание в Китае.
Шилд занимает GPIO13, GPIO15 пины, для работы с uart'ом. Отладочная информация, сыпется в GPIO2. Особенностью esp8266 является то что она позволяет переназначать аппаратный uart с ножек GPIO1 и GPIO3 на GPIO15 (TX) и GPIO13 (RX), вызовом метода Serial.swap(). Преимуществом такого трюка является то, что подключение не мешает перепрошивке модуля, а так-же в порт не сыпется отладочный мусор. Однако я оставил возможность назначить стандартные GPIO для uart. Для этого необходимо перерезать старые дорожки и напаять перемычки на TX и RX на нижней стороне платы.
Фото шилда, собранного «будерброда»:



Программная часть

Я начал с изучения того что уже написано в данной области. Оказывается в пакете поставки с esp для Ардуино уже лежит пример кода для соединения устройства и хоста, (например телефона или ноутбука) через wifi по telnet. Пример так и называется WiFiTelnetToSerial.
Взяв его за основу, я написал веб-интерфейс для настройки соединения и точки доступа. С сохранением настроек в во флеш-память. А так-же воспользовавшись библиотекой jQuery Terminal, реализовал эмулятор терминала, прямо в браузере. Общение web-терминала с преобразователем происходит через web-sockets.
Сам код можно скачать на гитхабе, ссылки будут к конце статьи.
Писался он с помощью PlatformIO .
При компиляции нужно учитывать тот момент что для взаимодействия с файловой системой esp8266, я воспользовался библиотекой LittleFS в место привычной многим SPIFFS. Дело в том что SPIFFS признана устаревшей и рекомендуется переходить на LittleFS. В связи с этим у меня возникли некоторые проблемы с библиотекой FTP, пришлось пройтись по её исходникам и переписать все вызовы с SPIFFS на LittleFS. У обоих библиотек практически совместимый API, так что такой простой заменой всё и решилось.

При подаче питания esp создаёт точку доступа WirelessTerminal с паролем 123456789.
Так-же запускаются web-сервер на 80 порту. И ftp-сервер на 21 (нужен для доступа к флеш памяти контроллера, в основном для отладки).
При заходе на ip-адрес 192.168.4.1 (по умолчанию) через браузер, появляется страница настроек:

Тут возможно настроить параметры соединения, и точки доступа.
Для того чтобы подключится к устройству по 232 интерфейсу подойдёт любой эмулятор терминала (я по старинке пользуюсь HyperTerminal), либо воспользоваться web консолью, нажав на кнопку RUN TERMINAL в главном окне.

Примеры сессий
Для телефонов на андроид подойдёт бесплатный Serial WiFi Terminal из Google Market. Так-же оставлю несколько скриншотов того как выглядит интерфейс на телефоне:

Выводы

По моему мнению получилась хорошая тренировка для мозгов, а как-же полезная в хозяйстве сисадмина/инженера устройство, для желающих повторить оставляю ссылки на исходники:

Проект шилда в easyeda: easyeda.com/clericJ/wemos-d1mini-rs232shield
Программная часть: github.com/clericJ/wifi-terminal
Планирую купить +85 Добавить в избранное +137 +222
свернуть развернуть
Комментарии (97)
RSS
+
avatar
  • Ramiro
  • 06 сентября 2020, 13:56
+1
какой на этой штуке инпут лаг, это важно когда ловишь загрузку.
+
avatar
  • clericJ
  • 06 сентября 2020, 14:04
+6
К циске при загрузке зацепится получалось, пароль сбрасывал
+
avatar
+1
За обзор респект, я всё думал, куда эту приблуду можно применить.
⚡️ Огонь
+
avatar
0
Ну не секунда же. Да задержка будет, но отловить загрузку не критично.
+
avatar
  • mmasco
  • 06 сентября 2020, 14:01
0
Драйвер com порта под винды где-нить есть или нужно писать?
+
avatar
  • clericJ
  • 06 сентября 2020, 14:07
+5
Драйверов не нужно, соединение происходит по ip на 23 порту, подобно telnet сессии
+
avatar
  • mmasco
  • 06 сентября 2020, 14:20
-18
+
avatar
  • Nuts_
  • 06 сентября 2020, 14:52
+11
здесь немного другая история
а так: берем HW VSP3 — Virtual Serial Port или скажем hub4com
они создают виртуальный порт, бэсссплатно. Но можно и платно — еще софтов 5 таких есть.
esp8266 прекрасно сможет перебросить tcp на uart, что дешево заменит железку от hw
насколько я понимаю рассматриваемая здесь реализация тоже это может
но есть пример попроще github.com/roboremo/ESP8266-WiFi-UART-Bridge
— и все это находиться за полчаса гуглом
+
avatar
  • mmasco
  • 06 сентября 2020, 16:08
-12
+
avatar
  • rx3apf
  • 06 сентября 2020, 21:02
+1
Автор исходно написал — «прозрачный». Т.е. совместимость будет с любым софтом, который гонит поток «как есть». Берете ЛЮБОЙ софт с подходящим функционалом и используете. Что непонятного?
+
avatar
  • mmasco
  • 06 сентября 2020, 22:09
-1
Еще один грушОвый? Какое отношение ваш ответ имеет к моему вопросу?

ЛЮБОЙ софт для последовательного порта работает с последовательным портом а не с telnet сервером через tcp и «гонит поток как есть» в com порт. А софт работающий по telnet c мостами не гонит туда поток «как есть» а гонит в соответсвии с интрепретацией IAC реализованной автором моста, или как минимум экранирует IAC. А поскольку стандартов на соответсвие команд IAC управлению последовательным портом нет — каждый автор городит свой огород и нет «универсальных» драйверов виртуальный_com_порт — telnet_сервер.

Так что, как вы выражетесь, БЕРЕТЕ свой бесценный совет и используете его со своим подходящим функционалом, т.к. лично мне ваши советы не нужны и я их у вас не просил и вопросов вам не задавал.
+
avatar
  • rx3apf
  • 06 сентября 2020, 22:16
0
Дело хозяйское — не хотите понимать, ну и не надо. Кому надо — понимает и пользуется.
+
avatar
-2
Вот ты мерзкий, чел! Берешь свое мнение и валишь вон из топика, если что-то не устраивает. ;)
+
avatar
+1
А поскольку стандарт разумеется есть — RFC2217 — то все (Moxa, USR IoT, тыщи их) именно ему и следуют.

Учите уже матчасть.
комментарий скрыт

комментарий скрыт

+
avatar
  • Nuts_
  • 08 сентября 2020, 00:25
0
там у них ка кто интересно: используется софт от eltima который как бы платный
комментарий скрыт

+
avatar
  • clericJ
  • 08 сентября 2020, 20:48
+1
Русский текст отлично передаётся в обе стороны, для тестирования воспользовался переходником usb-com, соединённым с WirelessTerminal через com порт. Думаю бинарник спокойно пройдёт без изменений, мост то прозрачный, что влетело то и ушло.
+
avatar
  • mmasco
  • 08 сентября 2020, 21:03
+1
угу, передайте «я я — кемская волость», кодировка СР1251, туда и обратно, сюрпрайз?

мост то прозрачный, протокол телнет не прозрачный…
+
avatar
  • clericJ
  • 08 сентября 2020, 21:54
+1
Думаю понятно что справа нет эхо при наборе. Туда и обратно, как вы просили
+
avatar
  • mmasco
  • 08 сентября 2020, 22:11
-1
Вот даже не смешно. Или может снова «не поняли» мой «вопрос»? Хорошо уточню, если не очевидно — фраза в нижнем регистре.
+
avatar
  • clericJ
  • 09 сентября 2020, 06:03
+3
Ещё раз: прошивка не выступает в качестве telnet сервера, а гонит всё что ей прислали по tcp в tx max3232, telnet тут только в качестве примера, в место неё может выступать любая программа умеющая работать с ip.
О чём и было написано в заголовке статьи.
Для того чтобы в этом убедиться, достаточно открыть исходники
+
avatar
  • balavur
  • 13 сентября 2020, 23:09
0
Болезный. Ты с дуба упал? Тебе-ж черным по монитору написали — С ЭМУЛЯТОРОМ ТЕРМИНАЛА. Какие, нафиг, драйвера?
+
avatar
  • PICachu
  • 06 сентября 2020, 14:15
0
Это хорошо, когда железка работает с эмулятором последовательного порта (Com-порт). У меня есть устройства, которые требуют только «железный» порт и DOSBox.
+
avatar
  • Nuts_
  • 06 сентября 2020, 14:50
+5
ну тут извините на все хитрые болты резьбы не напасешься
особенно когда понаделали железок «попроще» и дергают пины порта прямо из под dos софтом без исходников и неизвестным автором который сам не помнит что и как работает
для случаев «по другому никак» можно и ноутбук с dos на помойке найти
+
avatar
0
Кто мешает сделать «встречную» железяку из этой? Разница-то лишь в том, что с одной стороны tcp server, с другой tcp client. А и та и та роль в штатной библиотеке есть, вот вам и готов мост «с железа на железо».
+
avatar
  • CyJLTaH
  • 07 сентября 2020, 09:27
+1
Вашими бы устами…
У меня до сих пор стоит станция от Nokia. Она вообще требует COM на физическом первом порту. Ни каких эмуляторов или преобразователей не принимает. Только для неё имеется ноут с COM портом.
+
avatar
+1
Да куча старых девайсов еще в ходу где требуется аппаратный COM в полной его реализации. От этого мы еще долго будем уходить.
+
avatar
  • Nuts_
  • 07 сентября 2020, 15:19
0
наверное не станция а (кривой написанная) софтина для этой станции?
порт тотна самом деле переназначить можно в винде.
+
avatar
  • Nuts_
  • 07 сентября 2020, 15:17
0
в любом случае эта встречная железка мало того что должна уметь окрашивать эти сигналы но ещё и с высокой скоростью — потому что скорее всего они дергаються в нестандартном режиме.
а она этому не обучена
+
avatar
  • mzr910
  • 06 сентября 2020, 14:42
0
а через блютус не проще было? хотя в дальности проигрышь конечно будет
+
avatar
  • Nuts_
  • 06 сентября 2020, 15:07
0
это еще и дешевле будет
берем модуль HC-05 или даже что нить на bluetoth LE
софты под андройд в принципе есть
+
avatar
+3
Наверное, не проще. Так-то 23 порт можно хоть через локаль или интернет пробросить хоть на луну.
+
avatar
  • Nuts_
  • 06 сентября 2020, 15:15
0
а зачем что то лишний раз перебрасывать? :)
android конектиться по синезубу к маленькой платке которая проводами подключена к разьему rs232
для чего на аддройде запускаться соотв. софт
куда уж проще

ну а в рассматриваемом же случае android коненктиться к маленькой платке через wifi
как дополнительная фишка при этом — софта даже ставить не обязательно, работает через браузер
+
avatar
  • penzet
  • 06 сентября 2020, 15:27
0
А если не андроид коннектится, а iOS?
+
avatar
  • Nuts_
  • 06 сентября 2020, 21:11
0
а хороший вопрос
под яблоко должен быть софт
даже под winmobile есть
разве что sailfish os (Аврора) обделена таким софтом (наверное)
+
avatar
+1
Пробрасывать чтоб расстояния преодолевать. У меня, например на предприятии телефонная станция Ericsson управляется исключительно по RS232, а предприятие большое. Чтоб телефонист не бегал и управлял ею из офиса мжно пробросить порт «хоть с луны»

Кому удобнее бегать с телефончиком и модуль подешевле, а кто готов платить любые деньги за оперативность и удобство. Приоритеты у всех разные.
+
avatar
  • DainB
  • 06 сентября 2020, 16:49
0
Hame MPR-1 плюс USB-Serial адаптер и все это включается в локальную сеть если очень хочется такого колхозинга и нет $50 на фабричный адаптер.
+
avatar
0
Не подскажешь на какой прошивке hame ты это смог организовать? Пользуемся фабричными адаптерами для таких целей, ну очень дорогими. Хотелось бы организовать что подешевле, т.к адаптеров не хватает, а денег не дают.
+
avatar
  • DainB
  • 07 сентября 2020, 04:09
+1
Любая OpenWRT (см. 4pda) сборка поддерживает USB-Serial адаптеры в подгружаемых модулях, вопрос только какой чип стоит конкретно в вашем, Prolific или FTDI. А дальше просто заходим на раутер по IP и пользуемся обычным терминалом в ttyUSB0, единственное что тут неудобно это нужно питание 5V, но оно вроде везде нужно. Из плюсов — можно менять бодрейт и все прочее как у обычного терминала.
+
avatar
  • Nuts_
  • 07 сентября 2020, 15:14
+1
а вот такое не подойдет? несуразный но дешевле не найти вроде
838,22 руб. | HF Elfin-EE10A Wide Voltage 5~36V Serial Port RS232 to Ethernet Serial Device Server TCP/IP Telnet Modbus TCP Protocol

или чуть подороже но довольно таки солидные коробочки стоят порядка 2000 руб это сложно отнести «к ну очень дорогим»
+
avatar
  • DainB
  • 08 сентября 2020, 03:15
0
Очень интересно, спасибо
+
avatar
0
Я сейчас не помню, где нашел прошивку, но пользовался вот этой статьей. И Airconsole из китайца (клон HAME) сделал, подарил нашему сисадмину.

habr.com/ru/post/425281/
+
avatar
  • Nuts_
  • 06 сентября 2020, 21:11
0
да но это уже точно не случай попроще ;)
+
avatar
  • iilgizar
  • 06 сентября 2020, 17:04
+8
А вот такую платку никто не использовал? Как она? Можно использовать?
https://aliexpress.ru/item/item/32815572991.html
+
avatar
  • Nuts_
  • 06 сентября 2020, 21:20
+2
мешок плюсов этому господину!
выглядит как дешовый вариант для тех кто не хочет/не может память.
готовый вариант в коробке стоит куда дороже.
но как уже говорилось выше для этого нужен соотв. софт
и ещё один девайс с блютусом на котором будет запускаться этот софт.
+
avatar
+1
Все зависит от потребностей. Кому-то надо только со смарта поклацать, а кому-то надо в ethernet трафик завернуть. У меня одно время был транслятор rs485toethernet на ардуино, надо было с бесперебойника дергать инфу.
+
avatar
  • scuaed
  • 06 сентября 2020, 16:33
0
А сложно сделать чтобы веб-эмулятор был не в режиме AP? Для того чтобы иметь несколько штук сразу в разных окнах
+
avatar
  • clericJ
  • 06 сентября 2020, 17:33
0
На самом деле были мысли добавить опции подключения ST, ST+AP, esp это умеет, а так же, нарисовать корпус. Но к сожалению дефицит времени не дал бы мне сделать это быстро. И чтобы не превращать проект в долгострой, сделал необходимый мне минимум. Отвечая на вопрос, дописать самому думаю не составит проблем
+
avatar
  • Nuts_
  • 06 сентября 2020, 21:12
+1
если знать великий язык arduino то это пару строчек поменять…
+
avatar
  • scuaed
  • 07 сентября 2020, 13:53
0
хде? ткните, pls.
+
avatar
  • Nuts_
  • 08 сентября 2020, 00:36
+1
в процедуре Application::startAP() там правда строек 10 но суть начинается
с WiFi.mode(WIFI_AP); можно догадаться что здесь включаться режим точки доступа
режим клиента соответвенно WiFi.mode(WIFI_STA)
дальше подключаем wifi примерно так
/* Put your SSID & Password */
const char* ssid = «tfsi»; // Enter SSID here
const char* password = «1234567890»; //Enter Password here
WiFi.begin(ssid, password);
+
avatar
  • Wiking
  • 06 сентября 2020, 16:56
0
Есть такая платка. Подскажите, как на ней сделать метеостанцию с экранчиком?)
+
avatar
  • Nuts_
  • 06 сентября 2020, 21:17
0
гугл в помощь ;)
и ещё экранчик нужен будет
единственное надо только уточнить:
нужно ли чтобы платка лезла в интернет и оттуда погоду брала и на экранчике казала — таких не один проект.
либо ещё подключить разные датчики а то еще выкладывать с них температуру скажем на narodmon.
+
avatar
  • Wiking
  • 06 сентября 2020, 23:10
0
Вообще то хотелка просто оффлайн, без интернета. Давно хочу, проблема начать была, вот платку както купил за бакс, теперь нада проект для чайника под нее, так как в этом вообще ниразу не понимаю))
+
avatar
  • Nuts_
  • 06 сентября 2020, 23:31
0
ну просто в платке есть wifi и проекты рассчитаны что он будет задетвован
+
avatar
  • Wiking
  • 06 сентября 2020, 23:49
0
Можно помимо экрана выводить на телефон)
+
avatar
  • Nuts_
  • 07 сентября 2020, 00:08
0
вводим в гугл «esp8266 weather»
получаем детальную инструкцию с картинками www.instructables.com/id/Minitaure-Weather-Station-ESP8266/
хотя мне вот эта больше нравиться lastminuteengineers.com/bme280-esp8266-weather-station/
+
avatar
0
это когда дома температуру узнать, а за окном лучше OpenWeatherMap

+
avatar
  • Nuts_
  • 07 сентября 2020, 08:15
0
тут явно можно организовать спор на три станицы но мы не будем :)
чётко есть эти два течения: кто тотхочет с интернета грузить, а кто-то хочет свой датчик. у обоих вариантов естьтсвои плюсы и недостатки. а можно и то и то.
+
avatar
+1
сравнивал значения OpenWeatherMap в моем городе со значениями домашней метеостанции с уличным датчиком — значения один в один.

на картинке скриншот вебморды часов. на экране самих часов вывожу только температуру. от вывода влажности отказался — бесполезно и не информативно.
+
avatar
0
it4it.club/topic/55-meteostanciya-na-esp8266-ot-it4itclub/
Так же можно закинуть отправку на тот же narodmon. Уличные можно публиковать, домашние датчики не публиковать. Есть приложение для много чего.
+
avatar
0
видел это проект когда он был версии 2.0. автор молодец, но имхо очень сильно перемудрил с кодом — без пол литра не разобраться. такое чувство что он не знает стандартных методов и на изобретал велосипедов. например то что делается одной строчкой кода у него занимает 20. в итоге отказался и написал свой с нуля.
+
avatar
0
Я такой проблемы не заметил. Мне код зашел. Без проблем вписал свой датчик и дописал свой код ватчдога 220В с отправкой броадкаст сообщений.
Вроде бы как автор пишет все с нуля и может быть когда-нибудь будет новая версия.
И работает стабильно.
+
avatar
0
скачал еще раз, автор взялся за ум и упростил код. вот как он выглядел в 2019. странно, что номер версии он оставил тот же 2.0

+
avatar
  • teuchezh
  • 06 сентября 2020, 16:59
+1
Вещь хорошая, как-нибудь соберу себе тоже, не хватает только пару кнопок в веб интерфейс, чтобы можно было повесить на пару пинов модуль реле и дергать Power/Reset.
+
avatar
  • Nuts_
  • 07 сентября 2020, 00:12
0
такие есть и готовые китайские
и конфигуратор прошивок где можно было «подключить» релешки
+
avatar
+2
Отличный проект. Спасибо.

Я бы еще добавил настойку выходной мощности. Щас пишу часы на esp8266 и матричных дисплея, так путём уменьшения мощности до 10mW удалось значительно уменьшить ток потребления и нагрев esp.
+
avatar
+4
Кстати если вы откроете официальный help на последний релиз arduino esp8266, то найдете интересные замечания по мощности и phy:

recommended < 18dBm (reduce power consumption, RF noise especially in PHY_MODE_11N mode & improve connectivity, but range will also be reduced)

— PHY_MODE_11B=1 (longest LOS range) и PHY_MODE_11N=3 (longest indoor range)

+
avatar
+1
Этим я и решил воспользоваться, накидав в Easy IDEA шилд
Проект шилда в easyedea
Сервис называется EasyEDA
+
avatar
  • clericJ
  • 06 сентября 2020, 19:58
0
Поправил
+
avatar
  • parakhod
  • 06 сентября 2020, 21:28
+1
На блютусе ж такую штуку сильно проще сделать, благо куча микросхем контроллеров готовых есть. Спарил — и автоматом в системе новый COM появился, чего ещё надо-то…

Но сама концепция очень правильная. У меня сейчас дофига девайсов в доме, которые любят настраиваться (по крайней мере первоначально или после слёта) исключительно по RS232 (кто с родными уровнями, кто с TTL, кто с 3,3). Сейчас таскаюсь к ним с ноутбуком ежели приспичит, а от ноутбука шлейф переходников и проводов. И всё равно приходится на чердаке где-нибудь с сомнительным удобством располагаться. Если не вообще на улице.
Так что подобная штукенция — вполне логичное и удобное решение.
+
avatar
  • Nuts_
  • 07 сентября 2020, 00:18
+1
чуть выше есть ссылка на готовый синезуб-девайс на ali
+
avatar
  • pdacity
  • 06 сентября 2020, 23:32
+2
Мысли вслух — почему то все советчики к«ак проще» забывают что COMпорт это не TTL и там помимо TX и RX еще куча сигналов. DTR, DSR например — нет, не слышали…

Автору поста респект и уважуха, утянул в свой приватный гит исходнячки. В свободное время подумать как в TLS обернуть, безопасности много не бывает ;)
+
avatar
  • Nuts_
  • 07 сентября 2020, 00:17
+2
по счастью эта фигня в современности не нужна для подавляющего числа случаев
а на девайсах к которыми подключается данная шутка эти сигналы могут быть и вообще не реализованы
+
avatar
+1
К счастью, теплые ламповые девайсы умерли еще в прошлом веке, а у современных контроллеров достаточно скорости процессора и памяти под буфер, чтобы работать без квитирования. Фанаты могут использовать xon/xoff в надежде, что этому будет применение — но опаньки им. Современный 232 — это три провода.
+
avatar
  • pdacity
  • 07 сентября 2020, 10:29
0
И ссылочка на новый стандарт есть или спецификацию? Может я пропустил чего?

А «три провода» это TTL.

Также рекомендую внимательно почитать про
допустисые уровни сигнала в COM (RS-232) и TTL
+
avatar
  • Nuts_
  • 07 сентября 2020, 15:29
+1
не не тут разделяем две вещи
три провода RXd txd gnd работающих на физическом и байтовом уровне rs232 вполне достаточны для организации передачи данных. на остальные сигналы при этом просто положен болт.
стандарт, спецификация при этом никого не волнует.
ну а ttl это вобще только физичкские уровни сигнала, поскольку физика rs232 требует отдельной микросхемы а городить огород для 10см провода совершенно незачем. байтовый протокол при этом обычно именуют UART что как бы не совсем точно, но всем все понятно и работает у всех, везде стартовые и стоповые биты, контроль четности совместимые на логическом уровне с rs232, вот только скоростей добавили нестандартных.
+
avatar
+4
5 вольт, 3 вольта, 1.8 вольта, или двухполярное 12 — детали конкретной реализации. Кстати +-12 — вымирающий вид, разве что в древних десктопах его встретить, а «в дикой природе» сейчас везде +-6, потому что именно столько выдает MAX3232 и ее аналоги. А по входу двухполярности не было отродясь, поскольку абсолютно у всех микросхем приемников порог переключения — в положительной области: +2.5 у старых, и порядка +1.5 у современных. Поэтому «двухполярный» вариант вполне себе работает в однополярном виде, чем и пользуются значительное число производителей.
И кстати о стандарте. Если вы подадите на вход китайской MAX3232 24 вольта, что вполне допустимо по EIA232, она просто сгорит. И пофиг, что даташит на оригинальную микросхему разрешает 25 вольт.
Вот в таком реальном мире мы живем. Я ответил про уровни?
И вот в этом самом реальном мире есть RX, TX и GND (еще RTS и CTS, у примерно 0.1% извращенцев). Остальные сигналы остались в пыльных манускриптах прошлого века.
+
avatar
  • rx3apf
  • 08 сентября 2020, 00:43
0
5 вольт, 3 вольта, 1.8 вольта, или двухполярное 12 — детали конкретной реализации.
Не-а! Потому как первые три — уровни UART, а двухполярная 12 — это, самое главное, инвертированная полярность. Уровни-то ладно, а вот инвертировать хоть чем, но надо.
+2.5 у старых, и порядка +1.5 у современных.
MC1489 — достаточно старый? +1.3V. С 2.5 даже что-то и не припоминается никого.
чем и пользуются значительное число производителей.
Угу. Не ставят конденсаторы обвязки «зарядового насоса». Но это все ж дурной тон, у совсем уж жлобских «производителей».
+
avatar
0
Ещё нашёл вот такую вундервафлю.
Сказано, что при наличии двух штук при включении они автоматически подключаются друг к другу и можно использовать как беспроводной канал.
Верить или не верить — каждый решит сам)

+
avatar
  • Nuts_
  • 07 сентября 2020, 01:03
0
я сегодня мастер гугла
www.diymore.cc/collections/wifi-module/products/arduino-db9-rs232-rf-wireless-bluetooth-module-hc-06-slave-serial-port
не все так просто с ними но как бы должно быть.
+
avatar
0
смысл ссылки не ясен. инфа там та же, только у меня дешевле, особенно если пару брать (доставка рф)
+
avatar
  • Nuts_
  • 07 сентября 2020, 08:19
0
да у меня чтототна Ali не сразу отобразилось.
смысл ссылки в том что там инфа типа от производителя. а то что при этом у него цена выше тоже факт занятный…
+
avatar
0
Спасибо за интересную статью, как раз лежит без дела esp-шка, вот теперь я точно знаю куда её применю!
+
avatar
  • Kolja
  • 07 сентября 2020, 09:12
-1
Если я правильно понял это только плата без ПО? Все по придется писать самому или искать в интернете? Тогда не проще ли взять простой модуль ESP? Выйдет намного дешевле. А если нужен батарейный отсек, ну возьмите кусок макетки, и с помощью него разместите там все что душе угодно.
+
avatar
+1
Нет не правильно поняли. github.com/clericJ/wifi-terminal
Можно. Много что можно. Но он автор, он так видит.
+
avatar
  • Nuts_
  • 07 сентября 2020, 15:03
+1
так ведь в этом весь смысл что самому и под свои личные хотелки ;)
собственно автор прошивку то и написал, только прошить ее
+
avatar
  • BarberXP
  • 07 сентября 2020, 09:54
0
Нихрена непонятно, но КРУТО!!! )))
+
avatar
  • tornadox
  • 10 сентября 2020, 16:15
0
Большой респект за труды!
А можете сделать сравнение уже существующих решений типа ESP-Link github.com/jeelabs/esp-link
atadiat.com/en/e-esp8266-esp32-wifi-serial-bridge-converter/ — хорошая стать и тут другие проекты есть
Я думаю многим будет интересно!
+
avatar
  • VLOD
  • 14 сентября 2020, 09:50
0
Насколько я понял — для связи Ардуино с СОМ терминалом пойдет?
+
avatar
  • clericJ
  • 14 сентября 2020, 16:06
0
Вы имеете ввиду зашить прошивку в Ардуино? Если так, нет, к сожалению у простых ардуин не хватит памяти
+
avatar
  • VLOD
  • 14 сентября 2020, 16:17
0
Нет, я имел ввиду использовать вместо шнурка UART — USB для вывода информации с Ардуино на на компьютер командой serial.print.

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.