• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Несколько softwareserial к 1 esp8266

nikromenski

New member
Добрый день коллеги. Очень прошу вашей помощи в задаче.
Суть такова. Есть модуль esp8266. и есть 4 модуля sim800. Нужно подключатся к каждому модулю допустим в цикле и получать от него какие то данные (к примеру смс которые будут приходить на каждый из этих модулей). Проблема в том как я понял что esp8266 поддерживает только работу с 1 uard с портом. Как реализовать общение с несколькими модулями?

Задавал эти вопросы другим участникам и сказали так:
1) На каждый модуль покупать отдельно arduino nano и уже потом создавать шину i2c и через esp8266 получать оттуда данные. Или пробывать atmega8 на каждый модуль
2) Покупать отдельно ttl конвертор для подключения каждого модуля sim800 и работать с каждым на своем порту.
3) Использовать eppom для сохранения результата как я понял последнего модуля с которым общался
тут я до конца не понял в какую сторону копать если кто прояснит буду благодарен.
4) Подсказывали использовать метод Listen() от Softwareserial, но в esp8266 такого метода нет.

5) повесить все выходы sim800 на шину i2c и пытаться общаться через эту шину, но проблема в скорости передачи данных, как быстро можно передавать данные от модуля если допустим 5 смс сразу придет на каждый модуль? и их надо все считать и передать?

Кто из знатоков сталкивался с несколькими UARD подскажите!
 

pvvx

Активный участник сообщества
В том веке, обычная IBM-XT и до процессоров i486 могли работать c одним UART всего до скоростей 115200 Baud, пока в UART не встроили FIFO.
ESP8266, если обрабатывать прием с его UART по одному байту, не ушел далее IBM-XT, а у вас вообще в наличии всего Softwareserial. :)
Берете специализированный MCU и строите на нем 4 UART с FIFO на сотни байт и организуете связь ESP8266 с ним, к примеру по SPI...
Пример: STM32F100xx в корпусе LQFP 64 10x10 имеет 5 шт SUART.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Есть. Я вешал два устройства на Wemos D1 mini.
С помощью мультиплексора аппаратного UART можно повесить сотню последовательно опрашиваемых устройств. :p
В пром. исполнении, чуждом Arduino, используют один мастер и пачки "слейв" на одном линии типа RS-485 (к примеру тот-же ModBus).
 

nikromenski

New member
С помощью мультиплексора аппаратного UART можно повесить сотню последовательно опрашиваемых устройств. :p
В пром. исполнении, чуждом Arduino, используют один мастер и пачки "слейв" на одном линии типа RS-485 (к примеру тот-же ModBus).
О каком мультиплексоре идет речь?
 

zoomi

New member
Добрый день коллеги. Очень прошу вашей помощи в задаче.
4) Подсказывали использовать метод Listen() от Softwareserial, но в esp8266 такого метода нет.

Кто из знатоков сталкивался с несколькими UARD подскажите!
Я подключил 3 счетчика PZEM-004T с использованием Softwareserial, работает без каких либо проблем
 
Сверху Снизу