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

Нужна помощь NODE MCU V3 + SIM800L через UART

Тема в разделе "Железные вопросы по esp8266", создана пользователем Vypra, 31 янв 2019.

  1. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.198
    Симпатии:
    227
    какой терминал? Вы хотите UART использовать и для команд модулю и для терминала? Одновременно?
    Вас же уже предупредили

     
    Последнее редактирование: 8 фев 2019
  2. Vypra

    Vypra Новичок

    Сообщения:
    148
    Симпатии:
    0
    Стоп, чтоб послать команду модулю, нужно ее напечатать в терминал (или руками, или програмно). И ответ от модуля туда же прилетит. Или я не так понимаю?
    Ну на крайняк ответ от модуля мне нужен будет потом, я смогу вывести через RemoteXY себе на смарт. Есть такая задумка после настройки соединения с СИМ800 в будущем развить код.
     
  3. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.198
    Симпатии:
    227
    послать команду модулю. Терминал тут при чём? Терминал - это просто интерфейс связи компьютера с человеком. И ему тоже можно что-то посылать (для отображения) и принимать (для ввода с клавиатуры). Для этого на борту может стоять чип адаптер USB-UART. А может не стоять.
    Если нужен терминал - то подключайте модуль на другие пины, делайте softserial и шлите туда команды и оттуда же принимайте ответ, потом его выводите в терминал на аппаратный UART.
     
    Vypra нравится это.
  4. Vypra

    Vypra Новичок

    Сообщения:
    148
    Симпатии:
    0
    Я всегда думал, что терминал и UART отображают одно и то же. Если не ошибаюсь, на Ардуино так.
    Хорошо, SerialPrintln ("AT"); отображается в терминале, а через ТX уходит на модуль?
     
  5. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.198
    Симпатии:
    227
    терминал отображает то что выведено в UART, если терминал подключен к нему. Так же терминал отображает ввод с клавиатуры, но прочитать этот ввод должна программа.
    вряд-ли.
     
  6. Vypra

    Vypra Новичок

    Сообщения:
    148
    Симпатии:
    0
    Ну наверное это и есть проблема. Терминал мне не нужен. Тогда как послать команду на ТХ?
     
  7. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.198
    Симпатии:
    227
    Вам уже отвечали
    шлёте вы правильно, только уберите всё то что вы шлёте для человека. Ну и учтите, что ответа вы так не увидите, только результат, если он будет.
     
    Vypra нравится это.
  8. Vypra

    Vypra Новичок

    Сообщения:
    148
    Симпатии:
    0
    У меня еще свободные остаются GPIO 15 и GPIO 13, потому что датчик температуры завелся только на GPIO 13 и то с боем. Я их и оставил в покое.

    Можно ли с GPIO 15 и GPIO 13 сделать GPIO для softserial, а GPIO 1, GPIO 3 останутся для UART?
     
    Последнее редактирование: 8 фев 2019
  9. Vypra

    Vypra Новичок

    Сообщения:
    148
    Симпатии:
    0
    Модули живые. И это радует.
    Я запустил SoftSerial через GPIO 12, GPIO 14 - все работает.
    А вот назначить GPIO 15, GPIO 13 простыми GPIO через pinMode(PIN, FUNCTION_3); и потом запустить через них SoftSerial никак не получилось. Пробовал pinMode на 15,13 пинах INPUT/OUTPUT прописывать - не завелось.
    Получается, что если запускать SoftSerial через GPIO 12, GPIO 14 - у меня не хватает пинов под датчики.
    Остается как и раньше вариант только задействовать GPIO 1, 3, 15, 13 под SIM800.
     
  10. Vypra

    Vypra Новичок

    Сообщения:
    148
    Симпатии:
    0
    И вот это случилось. ))))
    Заработала только эта комбинация на GPIO 15, 13:
    Код (Text):
    1. void setup() {
    2.   Serial.begin(9600);
    3.   pinMode(15, OUTPUT);
    4.   Serial.swap();
    5.  
    6.    Serial.println ("AT+CFUN=1,1");
    7. }
    8. void loop()
    9. {}
    Команда уходит, потому что диод мигает часто когда SIM800 перезагружается. Подключение кстати как на Ардуино - зеркальное.
    Без pinMode(15, OUTPUT); не работает.
    Только мне кажется это странным? Serial.swap(); должен был Serial перебросить на GPIO 15, 13 и все. Но нет, нужно 15 GPIO объявить OUTPUT.
     

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