• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP + SIM800 не стартует из-за UART

K.Serg

New member
Привет. Есть связка NodeMCU с SIM800
Подключается через сериал библиотеку к ногам D8, D7 для ЮАРТ общения.
Стандартные выводы RX, TX не хотят норм работать (но не суть).

Проблема: модуль при рестарте пишет "waiting for host"
Получается, при старте, модуль смотрит состояние ноги D8 или D7, и пытается загрузится с UART.
Как побороть?

Отключив D7 на старте модуля, и включив обратно модуль грузится, и общается с SIM800.
 

K.Serg

New member

Посмотреть вложение 9482
Спасибо. Сохранил.
Но по сути, R8, R7 используются как доп UART в доках указано.
Может тогда ножку D8 соединить к примеру на D6 и в библиотеке SoftSerial (примерно) заменить пин на D6?

Странно, что подключив два контроллера через UART по правилам, он начинает загрузку с этого UART чем нарушает обычную работу.
И жаль, что нельзя это отключить.
 

vidok

Member
Чтобы использовать аппаратный uart2 в коде (обычно в setap()) надо команду Serial.swap(); ( uart0 переключается на uart2 ), а программный сериал можно по идее назначить на любой пин , хотя и uart0 прекрасно с SIM800L работает если уровень ttl совместить.( у сим800 он 2.8 вольта и превышение чревато бывает)
Была у меня чем то похожая проблема , но там дело оказалось токопроводящем флюсе и бумажной макетке. После распайки на нормальной плате работает почти 4 месяца без перерыва)
 

vidok

Member
Стандартные выводы RX, TX не хотят норм работать (но не суть).
Проблема: модуль при рестарте пишет "waiting for host
"
Конечно вряд ли,но на всякий случай поинтересуюсь, при подключении sim k esp по uart0 вы ведь отключали от компа esp?
 

vidok

Member
Извините уважаемый CodeNameHawk, но у меня на плате, где стоит sim800l и wemos d1 mini c CH340 usb-uart переходником, он абсолютно не мешает, и без него даже было бы неудобно обновлять прошивку. Может с CP2102 возникают какие то проблемы я не в курсе, но c CH340 отключенным от usb -компа проблем пока не было, а когда надо wemos перепрошить, я просто выдергиваю wemos из разъема на плате подключаю к usb-компа и он нормально шьется на максимальной скорости (921600). Обмен между sim и wemos в работе 115000.
Хотя может я вас неправильно понял ,извините невыспамшись:sleep:
 

K.Serg

New member
Чтобы использовать аппаратный uart2 в коде (обычно в setap()) надо команду Serial.swap(); ( uart0 переключается на uart2 ), а программный сериал можно по идее назначить на любой пин , хотя и uart0 прекрасно с SIM800L работает если уровень ttl совместить.( у сим800 он 2.8 вольта и превышение чревато бывает)
Была у меня чем то похожая проблема , но там дело оказалось токопроводящем флюсе и бумажной макетке. После распайки на нормальной плате работает почти 4 месяца без перерыва)
Возможно Вы правы, CP21020 может чудить. У меня другой контроллер дома, почти 10 лет на ЮАРТ с 5М+ через феритовое кольцо норм работает. А здесь нет. На счет уровней точно не скажу, но в этой плате они подогнаны транзистором.
На макетке как раз наоборот все работало)

И я кстате работаю на скорости ПК-ЕСП 78840 примерно. Видно тогда загрузочную информацию вместо крякозябр в начале.
 

vidok

Member
У вас плата с встроенным конвертером уровней? Я такие не использую с есп , был отрицательный опыт с ними ( почему то они не хотели нормально работать по uart c контроллерами у которых ttl 3.3 в. поток uart постоянно срывался в мусор, а с 5 в. типа ардуинки работали без нареканий (хотя может брак был, назывались-типа SIM800L v2.0).
Кстати по даташиту v1.10 на SIM800 скорость обмена 78840 она не поддерживает.( по моему небольшому опыту, 115000 ей больше всего нравится)
На макетке как раз наоборот все работало)
так может проблема в конечном варианте топологии соединений устройств и стоит как говориться все разрушить и построить заново с чистого листа?
вот схема используемая мной , но она работает с более простой и дешевой(можно сказать почти стандартной) сборкой SIM800L
 

vidok

Member
кстати забыл добавить c Software serial больше 9600 скорость лучше не ставить может не успевать.
 

K.Serg

New member
У меня эта плата оказалась дешевле чем без конвертера уровней.
Если нужно будет еще такие устройства делать, то конечно лучше чистую (голую) плату.
кстати забыл добавить c Software serial больше 9600 скорость лучше не ставить может не успевать.
На счет скорости то это только ПК-ESP, тогда нет крякозябр и видно весь процесс загрузки.
На GSM конечно идет только 9600
 
Сверху Снизу