Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Нужна помощь ESP32 UART<->WiFi мост

Тема в разделе "ESP32 - все о железе", создана пользователем kreker, 6 май 2019.

  1. kreker

    kreker Новичок

    Сообщения:
    5
    Симпатии:
    0
    Доброго дня.

    Надо реализовать связь с низкой интенсивностью обмена данными между двумя удалёнными контроллерами.

    Может кто проверить в работе пример по ссылке?
    Заказал пару отладок, но они в пути. И может это вовсе не то, что мне надо.

    Работу примера понял так: можно связать два модуля ESP32 по WiFi и отсылать \ принимать данные через UART с обоих концов.

    Заблуждаюсь?
     
  2. Алексей.

    Алексей. Авторитетный участник сообщества

    Сообщения:
    533
    Симпатии:
    60
    В примере, том что по ссылке, организовано "прозрачное" соединение TCP<->UART
    В примере реализован только tcp сервер, клиенты там не реализованы, некому исходящее соединение устанавливать.
    UART<->TCP<->UART не реализовано, проверять пока нечего.
     
  3. kreker

    kreker Новичок

    Сообщения:
    5
    Симпатии:
    0
    А есть такие проекты в которых это реализовано?
     
  4. Алексей.

    Алексей. Авторитетный участник сообщества

    Сообщения:
    533
    Симпатии:
    60
    Промышленные преобразователи интерфейсов moxa, пользовался моделью de-311, впечатления только положительные.
     
  5. kreker

    kreker Новичок

    Сообщения:
    5
    Симпатии:
    0
    Ещё бы они были другими за 13 927 рублей то. :)
     
  6. nikolz

    nikolz Гуру

    Сообщения:
    4.137
    Симпатии:
    431
    чтобы не гонять из пустого в порожнее,
    давайте уточним задачу.
    -----------------------
    У вас два контроллера, которые что-то иногда выдают в uart. Верно?
    Вопрос куда и ждут ли ответа.
    какой формат сообщений
    как синхронизируется переда-прием
    допускается ли пропуск сообщений
    какие контроллеры.
    пока все.
     
  7. kreker

    kreker Новичок

    Сообщения:
    5
    Симпатии:
    0
    @nikolz
    >У вас два контроллера, которые что-то иногда выдают в uart. Верно?
    Верно.

    >Вопрос куда и ждут ли ответа.
    Пока не проработано: передал контроллер 1 -> принял контроллер 2 или передал контроллер 2 -> принял контроллер 1. Т.е. прям постоянного обмена не надо.

    >какой формат сообщений
    В данный момент - его нет.

    >допускается ли пропуск сообщений
    Не желателен.

    >как синхронизируется передача-прием
    Пока никак. Самое простое - отправка запроса на передачу и получение разрешение на её осуществление. Нет ответа на запрос или ответ отрицательный - принимаем. Ничего не принято в течении n-ого времени - снова запрос на передачу.
    В таком вот сыром виде.

    >какие контроллеры
    Не важно.

    Вообще, надо бы самому делать... Только с ESP32 не знаком.
    На одной ESP32 - TCP сервер и чтение \ запись буфера UART.
    На другой ESP32 - TCP клиент и чтение \ запись буфера UART.
     
  8. nikolz

    nikolz Гуру

    Сообщения:
    4.137
    Симпатии:
    431
    из ваших ответов следует, что готового решения нет.
    Будете делать сами.
    Вашу задачу можно решить и на ESP8266 или ESP8285,
    так как решение на ESP32 избыточно,
    сложнее,дороже и нет преимуществ.
     
  9. nikolz

    nikolz Гуру

    Сообщения:
    4.137
    Симпатии:
    431
    из своего опыта
    я решил бы эту задачу одним из следующих вариантов
    1) сообщения от микроконтроллера через UART на ESP8285 и далее широковещание по UDP . кому надо, тот принимает по UDP и далее на UART.
    по такому решению могут обмениваться любое число микроконтроллеров.
    2) если сообщения не более 512 байт, то вместо широковещательного UDP применил бы ESP-NOW.
    ------------------
    оба решения в инете не найдете.
     
  10. kreker

    kreker Новичок

    Сообщения:
    5
    Симпатии:
    0
    @nikolz
    Подскажите, а может ли приложение использовать встроенную (которой располагает модуль) память этих модулей (ESP8266 или ESP8285, ESP32), чтобы сократить лишние интерфейсы и не устанавливать внешнюю микросхему (организовать передачу UART MCU -> UART ESP?? -> Built-in ?RAM)?
    Или лучше писать на внешнюю память?
     
  11. nikolz

    nikolz Гуру

    Сообщения:
    4.137
    Симпатии:
    431
    если хватит, то лучше использовать внутреннюю память.
    у 8266 Есть 40 Кбайт энергозависимой памяти, которая не сохраняется в режиме deep-sleep
    примерно 3 Мбайта свободной флеш
    и 512 байт RAM RTC - сохраняемой в режиме deep-sleep
    у ESP32 еще больше
    ------------
    deep-sleep используется для сокращения энергопотребления. Тоr потребления при этом ESP8266 -20 мка, ESP8285 -10 мка.ESP32<10
     

Поделиться этой страницей