Хочу подружить эти две штуки, начинающий от слова совсем. В планах штуковина работающая по смс, с информацией о температурах, и извещающая о нештатных вещах, реальное время берем тоже из sim800. Мучаю через esplorer softuart'ом Код (C++): s = softuart.setup(9600, 2, 3) s:on("data", "/r", function(data) buf =buf .. (data) print(data) end) Тоесть играемся АТ командами и наблюдаем всё в esplorer, пишем всё в переменную, из которой мой нубский код и вытягивет все ответы sim 800. Проблема в том что эта строчка то работает то нет. Когда не работает, по моим нубским соображениям теряет место в буфере самого sofuarta откуда начинать или заканчивать строчку и получаются кракозябры вместо букв, и то что отвечает sim800 где то теряется. Даже в команде ' s: write' перед текстом вставляет немного кракозябров видимо с того же буфера. Хотя цифры вроде всеравно улавливает. Взрыв мозга уже заработал. Доковырялся до решения что если триггер функции- это длина буфера этак 70 символов то то что выводится на print или в переменную всегда читаемо, кроме строк которые по краям порезало длинной 'триггера' Но по длине буфера неудобно мониторить чего там sim 800 шлет, да и всеравно с краев обрезает, и может потеряться посыка от sim800 Почему по символу '/r' то идеально пашет то начинается фигня? По другим символам тоже самое видимо, Но как только меняю триггер на объем буфера- в распечатанной куче всё отлично, очень редко пара кракозябр, видимо макетка вносит. Скорость менял- разницы ненашел
Выполнение функции setup требует хоть и очень маленького, но все-таки времени. Если вы выполняете представленный код одним куском, то может быть, что softuart не успевает проинициализироваться.
А можно я задам 1001 раз один и тот же вопрос? А Вы нафига Sofserial используете? Аппаратный есть же?
Да, второй COM использует только Tx. Однако, использование softuart не совсем удобное решение проблемы второго COM'a. Мне кажется, лучше использовать для отладки кода ESP32 c несколькими UART, а затем перенести отлаженный код на ESP8266, если это требуется по ценовым соображениям, или из-за габаритов разрабатываемого устройства.
СофтУарт в Lua на ESP8266 работает из рук вон плохо. Выхода два: - железный уарт на ESP32 - кодить ESP8266 на Си и пробовать что там. Но, полагаю, ненамного лучше.
Значит в этом месте голову не ломать, и ковырять всё остальное, всеравно луа только осваиваю- полезно будет. Чтото другое на есп поизображать, применение найдется. Если упираться в сим800 то пользоваться моментами пока softuart пашет, и худо бедно слепить код, потом попробовать перескочить на единственный норм. юарт. Есп 32 прям сейчас уже дорого для нулевого человека, ну и луа на нем при беглом просмотре немного посложнее запустить с нулем знаниев А есп С3 будет крутить nodemcu?
Судя по обсуждениям на github'e ветка dev-esp32-idf4 поддерживает ESP32-C3. Сам я не проверял, так как у меня этого модуля нет.