"Прозрачный" мост WiFi-UART на ESP2866

Pavel Safronov

New member
Всем доброго здравия!
Проштудировал форум прежде чем задать конкретный вопрос под свою задачу.
Я так не могу найти прошивку или обучение чтобы сделать чистый мост (замена кабеля USB-COM) WiFi-UART. С самой железкой язык нашел, прошивал и обменивался данными через Termite, но esp дает свой текст в эфир, а мне нужен чистый мост, иначе два устройства не поймут друг друга.
Задача следующая:
Нужно два устройства на базе ESP2866 (любой модели)
Первое устройство должно иметь свою Wifi точку доступа, скорость связи по UART 38400 бод. При подключении ПК к некому устройству (например Arduino) должна быть связь без посторонних служебных команд (на терминале я пробовал ESP2866-01 и она дает в эфир свои команды)
Второе устройство аналогичное, но должно по команде от МК (например атмеги328) менять скорость связи с целевым устройством)

На сегодняшний день мною успешно используется данный девайс: HLK-RMO4
http://www.hlktech.net/product_detail.php?ProId=39
Какие у него плюсы:
1.возможность сохранения настроек в файл
2.обилие настроек
3. веб интерфейс
Какие минусы:
1. огромный размер
2. цена
Если на базе ESP2866 задачу выполнить пока невозможно - буду юзать проверенное HLK-RMO4
Если кто-либо заинтересован потратить свое время на реализацию этой задачи, пишите в личку - я готов дать вознаграждение за проведенную работу (потом я выложу все труды сюда в открытый доступ)
 

Вложения

Victor

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

Еще интересный момент в том, что вы пытаетесь заменить модуль стоимостью 13$ на модуль стоимостью 3$ при этом вам придется затратить на разработку 1000$ (сумма взята с потолка).

Если вам нужен просто результат - оставайтесь на HLK-RMO4, если для вас интересен процесс - вливайтесь к нам, изучайте ESP8266 и делайте свою собственную прошивку для своих устройств.
 

Pavel Safronov

New member
Если вы имеете ввиду мусор, который сыплется в UART при старте любой прошивки, то к сожалению, эта проблема пока не решена, остальное все можно реализовать.
.
Виктор, спасибо огромное. Я подозревал что esp - не для серьезных промышленных тем, но надежда есть. В программировании я только начинаю, перечитав кучу тем с момента их появления усвоил для себя - либо жду прошивку хоть как-то годную для моста, либо инвестирую в ее создание. Ваши цифры - что может быть понятней, благодарю.
Так как устройство которое мне нужно - носимое (используется в полях) - принцип чем меньше в размерах и энергозатратах - стимулирует на поиск новых и новых устройств в реализации задачи
 

Victor

Administrator
Команда форума
@Pavel Safronov, а почему не хотите сами попробовать? в качестве хобби, например. Я бы вам посоветовал написать собственную прошивку для ESP8266 в Arduino IDE.
[off]кстати, процесс достаточно увлекательный :)[/off]
 

Pavel Safronov

New member
@Pavel Safronov, а почему не хотите сами попробовать? в качестве хобби, например. Я бы вам посоветовал написать собственную прошивку для ESP8266 в Arduino IDE.
[off]кстати, процесс достаточно увлекательный :)[/off]
Займусь, обязательно. Для меня вся эта тема как хобби =) Но сроки поджимают и нужно уже что-то готовое и надежное. А если сложить возможности ESP и мои познания в программировании.... =) скорее я найду информацию, чем создам ее) Тема с ESP с каждым днем нарастает как снежный ком.
 

JustACat

Moderator
Команда форума
Pavel Safronov, А мне вот только что пришла в голову мысль по поводу мусора в порту: а что если просто поставить между ESP и приемным МК микросхему буфер? Любую, у которой есть перевод в Hi-Z состояние?
Принцип такой:
- пока ESP не стартовал нормально вашу прошивку - EN вход буфера притянут к запрещающему сигналу (обычно это вроде + питания)
- когда на ESP все устаканилось, и запустилась ваша прошивка - в ней вы на 1 из ножек ESP подаете 0 - и эта ножка как раз управляет EN входом буфера
- буфер включается и соединяет RX|TX ESP и вашего МК
Как итог: мусора (который при старте выдает загрузчик в ESP) вы не получите.
PS: в остальное не вчитывался, подумал лишь про задачу с избавлением от стартового мусора (отладочной инфы).
 
Последнее редактирование:

Pavel Safronov

New member
Pavel Safronov, А мне вот только что пришла в голову мысль.
При тестировании 01 железки я не увидел проблем при старте. Послдений раз баловался с ней осенью, скорей всего прошивок уже куча новых. Сейчас пришла очередная посылка с esp. У меня была проблема с приемом\передачей. Когда отсылал с ПК - на ESP приходило именно то что отослал. Но когда отсылал с ESP - все приходящие в ПК сообщения были с префиксом.
Хорошо, надо опять сесть и предметно разобрать этот вопрос - что и как. После праздников займусь серьезно.
 

JustACat

Moderator
Команда форума
Pavel Safronov, на счет esp-01 не уверен... 2 его как бы свободных ноги при старте используются загрузчиком, и это тоже может повлиять... По крайней мере GPIO0 точно не пройдет... С GPIO2 в принципе можно попробовать, т.к. при старте она должна быть притянута к + питания, так что и вход буфера можно на нее повесить.
Но надежнее все таки использовать другие ESP с большим кол-вом свободных пинов.
Ну и по поводу прошивки, вы, кажется, про AT прошивку говорите - так вот, это тоже в топку.
В данном случае придется написать свою. Но это не очень сложно. Я бы сказал, совсем.
 

Pavel Safronov

New member
Если не сложно, потом отпишите, пожалуйста, по результатам :)
Обязательно, не зря я их маленькую тележку закупил) Только будьте добры, у меня семья, работа - стараюсь и там и там и хобби продвигать) Возможно сроки передвинутся)
 

JustACat

Moderator
Команда форума
Pavel Safronov, ну, у нас тут практически у всех так или около :) Так что не переживайте, пинать точно никто не будет. Да и это ж ведь не требование, а просьба. Так сказать - будем рады любой информации.
 

lincinus

New member
Задача следующая:
Нужно два устройства на базе ESP2866 (любой модели)
Первое устройство должно иметь свою Wifi точку доступа, скорость связи по UART 38400 бод. При подключении ПК к некому устройству (например Arduino) должна быть связь без посторонних служебных команд (на терминале я пробовал ESP2866-01 и она дает в эфир свои команды)
Второе устройство аналогичное, но должно по команде от МК (например атмеги328) менять скорость связи с целевым устройством)
Вы эту прошивку пробовали?
http://esp8266.ru/forum/threads/razrabotka-biblioteki-malogo-webservera-na-esp8266.56/

есть всё что вы описали, с красивым веб интерфейсом. (не обращайте внимание на заголовок, там есть необходимый вам функционал)
 

pvvx

Активный участник сообщества
Pavel Safronov, А мне вот только что пришла в голову мысль по поводу мусора в порту: а что если просто поставить между ESP и приемным МК микросхему буфер? Любую, у которой есть перевод в Hi-Z состояние?
Нет никакого мусора - есть SWAP RX<->CTS, TX<->RTS, а на пинах GPIO13 и 15 нет никакого "мусора" при старте.
Аналогично и TCP2UART уже давно сделана, но только серверная часть. Соединение как клиентом дописывается за вечер - там главное = оформление HTML :)
Но у автора невыполнимые ни на чем мечты - передача по WiFi потоков, да с разными скоростями без доп.сигналов типа RTS/CTS :)
Пусть раскажет реализацию, когда одно устройство принимает на скорости 3Mbaud, а второе выводит на 9600 Baud - где будут хранится петабайты нагнанные первым устройством? :)
 

lincinus

New member
У автора есть опыт работы с другими устройствами, полагаю у него подходящие условия для работы без CTS/RTS
ваша прошивка работает и без RTS если буфер в mk достаточно ёмкий , естественно работать нужно по прерываниям, как только байт прилетел сразу читать в буфер.
обычная ардуина так и работает, так что если байт не много то и на 3Мбод будет работать.
 

pvvx

Активный участник сообщества
У автора есть опыт работы с другими устройствами, полагаю у него подходящие условия для работы без CTS/RTS
ваша прошивка работает и без RTS если буфер в mk достаточно ёмкий , естественно работать нужно по прерываниям, как только байт прилетел сразу читать в буфер.
обычная ардуина так и работает, так что если байт не много то и на 3Мбод будет работать.
Тогда это пакетная, а не поточная передача. Пакеты формируется на стадии передачи временными промежутками, которые зависят от скорости всего канала приемо-передачи и не являются стабильными в реальности WiFi. Без сигнала, что связь установлена вообще никак (в реальных условиях).
 

Pavel Safronov

New member
Пусть раскажет реализацию, когда одно устройство принимает на скорости 3Mbaud, а второе выводит на 9600 Baud - где будут хранится петабайты нагнанные первым устройством? :)
Есть 3 железки которые настраиваются софтом с ПК. Софт - очень простой, установка тех или иных параметров, онлайн отображение статуса параметров железки. Общение по RS232. Вложил две картинки - пример разных настроек модуля HLK-RMO4. На ПК установлена программа Tibbo (ip->com) и как ни странно, менять настройки ком порта не нужно, нужно только менять скорость rs232 в вафле, которая непосредственно подключена к устройству. Нужен именно обмен данными. Самая высокая скорость в моей задаче - 38400 бод. Для настройки есть только 3 ноги - RX, TX, GND.
 

Вложения

  • 52.8 KB Просмотры: 178
  • 53 KB Просмотры: 160

lincinus

New member
заливайте прошивку и всё будет работать, только не используете режим Sleep Mode: LIGHT, либо MODEM либо NONE
 

Pavel Safronov

New member

Вложения

Последнее редактирование:
Сверху Снизу