Esp8266 uart: ESP8266. Начало работы, особенности

Содержание

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

Предисловие

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

В общем тогда я прямо таки мечтал о беспроводном удлинителе 232-ого интерфейса. И на то время у китайцев существовали такие приблуды. Но, во первых дорого, во вторых громоздко и не автономно (был отдельный БП на 9-12В).
И вот прошли годы, я работаю в другой области и с оборудованием связи имею мало общего. Но иногда с настройкой коммутаторов всё-же приходится сталкиваться. Тут заходя в очередной раз на mysku.club вижу акцию на отладочную плату 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

Адаптер USB to UART ch440 Module usb2ttl arduino

> МОДУЛИ> Адаптер USB to UART ch440 для ESP-01 ESP01 ESP-01s esp8266 модуль программатор

Артикул

универсальный инструмент для прошивки WIFI модулей esp8266 esp-01 esp-01-s

может также использоваться для роутеров, тюнеров, жестких дисков, прошивки ардуино  и т.п.
Преобразователь конвертер USB-UART TTL на микросхеме ch440

комплектация:
адаптер 1шт

опционально Кабель 5шт папа-мама 10см+ пины папа 4шт для запайки

Подробнее


    « Продолжить покупки

Описание

ccылки на драйвер

WINDOWS XP/2008/Win7/Win8/Win10 32-bit/64-bit.

http://www.winchiphead.com/download/Ch441/Ch441SER.ZIP
для Mac Os
http://wch.cn/downloads.php?name=pro&proid=178
для openwrt
#opkg install kmod-usb-serial-ch441

uart адаптер великолепно работает на современных операционных системах windows 8/10 и не имеет проблем с установкой и совместимостью драйверов.



30 других товаров в этой категории:

  • модуль mq-7 датчик угарного газа

    59,10 грн

  • модуль mq-135 Датчик углекислого газа MQ135

    89,00 грн

  • Цифровой Lilytech ZL-7801D термостат влажность…

  • модуль поворотный потенциометр 10 Ком…

    46,00 грн

  • модуль зуммер buzzer module 3В 5В ROBOTDYN

    25,00 грн

  • Модуль подключения SD + MicroSD Card module…

    40,00 грн

  • кнопка Модуль button Module ROBOTDYN ЧЕРНЫЙ BLACK

    27,10 грн

  • кнопка Модуль button Module ROBOTDYN СИНИЙ

    27,20 грн

  • кнопка Модуль button Module ROBOTDYN ЗЕЛЕНЫЙ.
    ..

    27,30 грн

  • кнопка Модуль button Module ROBOTDYN ЖЕЛТЫЙ…

    27,40 грн

  • Датчик SHr03A Цифровой контроллер Lilytech…

    799,00 грн

  • Таймер цифровой, цифровая индикация времени…

    290,00 грн

  • 4 в 1 многоцелевые часы температура внутри и…

  • 4в1 многоцелевые часы температура внутри и…

    245,60 грн

  • 4 в 1 многоцелевые часы температура внутри и…

  • Индикатор заряда батареи 8-70В 12В 24В 36В 48В.
    ..

    285,00 грн

  • Термостат -55 ~ +120 °C терморегулятор W3230…

    170,00 грн

  • Таймер цифровой, цифровая индикация времени…

    299,00 грн

  • Термостат -55 ~ +120 °C терморегулятор W3230…

    185,00 грн

  • Цифровой Lilytech ZL-7918A термостат влажность…

    1 999,00 грн

  • таймер недельный CN101a sinotimer 12В 16А реле…

  • таймер недельный CN101S интервал 1 СЕКУНДА…

  • радио передатчик TX118SA-4 433 MГц RF 4 канала.
    ..

    75,00 грн

  • программируемый обучаемый RF приемник RX480E-4…

    83,25 грн

  • Термостат -50 ~ +120 °C 12В терморегулятор…

    353,40 грн -7% 380,00 грн

  • мини программируемый обучаемый RF приемник 433…

    145,00 грн

  • мини программируемый обучаемый RF приемник 433…

    249,30 грн

  • мини программируемый обучаемый RF приемник 433…

    269,00 грн

  • таймер недельный CN101S интервал 1 СЕКУНДА.
    ..
  • Термостат -50 ~ +110 °C 220В терморегулятор…

    220,00 грн

Покупатели этого товара так же приобрели:

Учебное пособие по UART

для Arduino и ESP8266

Настройка конфиденциальности

Основные (2)

Основные файлы cookie обеспечивают выполнение основных функций и необходимы для правильной работы веб-сайта.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Имя Печенье Борлабс
Провайдер Владелец этого сайта, Выходные данные
Назначение Сохраняет настройки посетителей, выбранные в окне файлов cookie Borlabs Cookie.
Имя файла cookie borlabs-cookie
Срок действия файла cookie 1 год
Имя эзоик
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Необходим для основных функций сайта.
Политика конфиденциальности
Privacy Policy
Имя файла cookie ez*, cf*, unique_id, __cf*, __utmt*
Срок действия файла cookie 1 год

Предпочтения (1)

Настройки

Файлы cookie предпочтений хранят информацию о представлении и функциях веб-сайта, например, отображается ли оптимизированная или исходная версия веб-сайта.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять Ezoic — Настройки
Имя Ezoic — Настройки
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Запоминать информацию, которая меняет поведение или внешний вид сайта, например предпочитаемый язык или регион, в котором вы находитесь.
Политика конфиденциальности
Privacy Policy
Имя файла cookie ez*, sitespeed_preview, FTNT*, SITESERVER, SL*, speed_no_process, GED_PLAYLIST_ACTIVITY, __guid
Срок действия файла cookie 1 год

Статистика (1)

Статистика

Статистические файлы cookie собирают информацию анонимно. Эта информация помогает нам понять, как наши посетители используют наш веб-сайт.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять Эзоик — Статистика
Имя Эзоик — Статистика
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Помогает понять, как посетители взаимодействуют с веб-сайтами, собирая и сообщая информацию анонимно.
Политика конфиденциальности
Privacy Policy
Имя файла cookie ez*, __qca, _gid, _ga, _gat, AMP_ECID_EZOIC, __utm*, _ga*
Срок действия файла cookie 1 год

Маркетинг (1)

Маркетинг

Маркетинговые файлы cookie используются сторонними рекламодателями или издателями для отображения персонализированной рекламы. Они делают это, отслеживая посетителей на веб-сайтах.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять Эзоик — Маркетинг
Имя Эзоик — Маркетинг
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Используются для отслеживания посетителей на веб-сайтах. Цель состоит в том, чтобы отображать релевантные и привлекательные для отдельного пользователя объявления.
Политика конфиденциальности
Privacy Policy
Имя файла cookie ez*, _sm_au, cto*, __gads, mind*, _ym_uid, GoogleAdServingTest
Срок действия файла cookie 1 год

Внешние носители (1)

Внешние носители

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

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять YouTube
Имя YouTube
Провайдер Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ирландия
Назначение Используется для разблокировки контента YouTube.
Политика конфиденциальности https://policies.google.com/privacy?hl=en&gl=en
Хост(ы) google.com
Имя файла cookie НИД
Срок действия файла cookie 6 месяцев

на базе Borlabs Cookie

Политика конфиденциальности Выходные данные

Страница не найдена — DIYI0T

Настройка конфиденциальности

Основные (2)

Основные файлы cookie обеспечивают выполнение основных функций и необходимы для правильной работы веб-сайта.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Имя Печенье Борлабс
Провайдер Владелец этого сайта, Выходные данные
Назначение Сохраняет настройки посетителей, выбранные в окне файлов cookie Borlabs Cookie.
Имя файла cookie borlabs-cookie
Срок действия файла cookie 1 год
Имя эзоик
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Необходим для основных функций сайта.
Политика конфиденциальности
Privacy Policy
Имя файла cookie ez*, cf*, unique_id, __cf*, __utmt*
Срок действия файла cookie 1 год

Предпочтения (1)

Настройки

Файлы cookie предпочтений хранят информацию о представлении и функциях веб-сайта, например, отображается ли оптимизированная или исходная версия веб-сайта.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять Ezoic — Настройки
Имя Ezoic — Настройки
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Запоминать информацию, которая меняет поведение или внешний вид сайта, например предпочитаемый язык или регион, в котором вы находитесь.
Политика конфиденциальности
Privacy Policy
Имя файла cookie ez*, sitespeed_preview, FTNT*, SITESERVER, SL*, speed_no_process, GED_PLAYLIST_ACTIVITY, __guid
Срок действия файла cookie 1 год

Статистика (1)

Статистика

Статистические файлы cookie собирают информацию анонимно. Эта информация помогает нам понять, как наши посетители используют наш веб-сайт.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять Эзоик — Статистика
Имя Эзоик — Статистика
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Помогает понять, как посетители взаимодействуют с веб-сайтами, собирая и сообщая информацию анонимно.
Политика конфиденциальности
Privacy Policy
Имя файла cookie ez*, __qca, _gid, _ga, _gat, AMP_ECID_EZOIC, __utm*, _ga*
Срок действия файла cookie 1 год

Маркетинг (1)

Маркетинг

Маркетинговые файлы cookie используются сторонними рекламодателями или издателями для отображения персонализированной рекламы. Они делают это, отслеживая посетителей на веб-сайтах.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять Эзоик — Маркетинг
Имя Эзоик — Маркетинг
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Используются для отслеживания посетителей на веб-сайтах. Цель состоит в том, чтобы отображать релевантные и привлекательные для отдельного пользователя объявления.
Политика конфиденциальности
Privacy Policy
Имя файла cookie ez*, _sm_au, cto*, __gads, mind*, _ym_uid, GoogleAdServingTest
Срок действия файла cookie 1 год

Внешние носители (1)

Внешние носители

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

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять YouTube
Имя YouTube
Провайдер Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ирландия
Назначение Используется для разблокировки контента YouTube.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *