Нужна помощь Несколько 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, работает без каких либо проблем
 
Сверху Снизу