Esp8266 wifi rs232 мост

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

WiFi-UART bridge implemented on ESP8266

License

clericJ/wifi-terminal

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

readme.rst

Wireless Terminal — simple, configurable with web, wifi to uart bridge, using esp8266

Code written using Visual Studio Code and PlatformIO plugin. After flashing, download files in data folder to esp8266.

At startup, the controller creates a WirelessTerminal access point with the password 123456789. Configurable with web interface (192.168.4.1 address by default). To connect to a device via uart (or rs232 via a converter), open a TCP terminal (eg telnet client) and connect to the controller on port 23 eg:

The emulator is implemented using the jQuery Terminal Emulator: https://terminal.jcubic.pl/ library

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

Прошивка написана в Visual Studio Code с использованием PlatformIO. После первой прошивки следует загрузить файлы из директории data. Во флеш память esp8266.

Настройка осуществляется с помощью web интерфейса. При старте, контроллер, создаёт точку доступа WirelessTerminal с паролем 123456789. Для конфигурации следует открыть в браузере адрес 192.168.4.1 (по умолчанию). Для соединения с устройством через uart (или rs232 через преобразователь), следует открыть TCP терминал (например telnet клиент) и подключится к контроллеру через порт 23 пример:

Так-же возможен запуск эмулятора терминала прямо из браузера благодаря библиотеке jQuery Terminal Emulator: https://terminal.jcubic.pl/

Читайте также:  Перестал ловить вай фай компьютер

Для этого достаточно перейти по ссылке: :: 192.168.4.1/terminal.html

img/interface.png

Wemos D1 Mini rs232 shield

Для сборки законченного устройства, разработан шилд для wemos d1 mini, который преобразует uart микроконтроллера в физический интерфейс rs232 с помощью микросхемы max3232. Схема и плата: https://easyeda.com/clericJ/wemos-d1mini-rs232shield

Оптимальным выбором для отладочной платы НА esp8266 будет любая плата с автономным питанием от аккумулятора. Например TTGO T-OI ESP8266: https://aliexpress.ru/item/4000429110448.html?spm=a2g0s.9042311.0.0.2b5133edVjkrSm&_ga=2.179155172.1130155723.1595170840-791673895.1587745386

img/wemos-rs232-shield.png

About

WiFi-UART bridge implemented on ESP8266

Источник

WiFi-UART Serial Bridge Using ESP8266 or ESP32

esp link web

One of the most well-known (appeared on Hackaday’s blog) and well-designed projects to make ESP8266 as a WiFi-UART bridge is jeelabs’s esp-link. Actually, this project is far beyond being a simple serial bridge as it also manages MQTT client pub/sub and REST HTTP requests in order to connect the MCU to the internet. Moreover, it can be used to flash the attached MCU. Esp-link has a very handy web interface stored inside the ESP. To make the test, we will use ESP8266 development board, specifically NodeMCU.

Prepare The Software

First, we need to download one of the release images of the project from releases page. The compressed file (A .tgz file is beside the download word in bold) should have 5 bin files :blank.bin, boot_v1.x.bin, esp_init_data_default.bin, user1.bin and user2.bin. The ESP8266 board should be connect after downloading one of the available download tools like: Flash download tool from Espressif or Nodemcu flasher. Now, follow the flashing guidelines available in Readme file according to your ESP8266 edition and set the bin files addresses according to your module memory size. nodemcu toolYou can simply make the Flash download tool from Espressif find it for you by connecting it and pressing “start” to get the required specification from the boot message. esp download toolAlternatively, you can read the boot message using a serial console with 76600 baud. esp8266 bootAfter flashing the image files successfully, you should see a new WiFi network. Connect to it and type this IP address into the browser http://192.168.4.1 . Now, you should see the home page.

Prepare The Hardware

To test the serial bridge code, we will achieve the following connection: TX0 from ESP with RX of the device and RX0 with TX of the device that sends serial information and needed to be bridged via WiFi. For the sake of the test, the device here would be a USB-TTL cable (USB-UART converter) and the data will be sent and received from a console (PUTTY for instance). Image Courtesy of ElecFreaks Now, let’s see some serial data fly over the air! Esp-link tx Esp-link rxFinally, I think a considered amount of time is needed to explore the other options of this amazing project!

Serial Bridge Using ESP8266 (Simpler)

The previous project could be too complicated to do the simple job of converting Serial connection to a WiFi connection. So I decided to port a project described in the rest of this article written in Arduino. The ported code works on ESP8266 and can be download from here:

Читайте также:  Сажает ли включенный вай фай батарею

Источник

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

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

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

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

Но было интересно реализовать самому, попрактиковаться, так сказать, ведь такое хобби приносит море удовольствия.

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

 Спецификации оборудования Чипсет: 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.

Читайте также:  Esp8266 wi fi робот

Компоненты списком:

С ЛУТом возиться не хотелось, поэтому заказал её изготавливание в Китае.
Шилд занимает 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

Источник

Оцените статью
Adblock
detector