Вопрос по смс от sim800l

Тема в разделе "Arduino & Shields", создана пользователем piter pen, 16 янв 2020.

  1. b707

    b707 Гуру

    тогда такой совет.
    Вы в своем скетче долбите модем командами, не проверяя ответы. Если на какую-то команду модем выдает ошибку - вы даже не узнаете об этом. Чтобы не гадать. вставьте после каждой команды вывод ответа от модема в Сериал Монитор - и тогда сразу будет видно, в каком месте возникает затык.
    Найдете место ошибки - пишите сюда, если сами не разберетесь.
    А искать в темную проблемы в вашем коде никому не интересно
     
    piter pen и DetSimen нравится это.
  2. piter pen

    piter pen Нерд

    спасибо. я этим уже занимаюсь.

    прям никому-никому? или только Вам?
     
  3. b707

    b707 Гуру

    вообще-то это первое, что надо было сделать, вместо того чтоб постить вопрос в форум :)
     
    Daniil и DetSimen нравится это.
  4. piter pen

    piter pen Нерд

    Ну конечно! Я бы сам до этого не додумался. Это же элементарно.
     
  5. b707

    b707 Гуру

    сарказм неуместен, додумались бы - сделали бы это еще вчера
     
  6. piter pen

    piter pen Нерд

    даже и не думал...

    не додумался...
     
  7. SergeiL

    SergeiL Оракул Модератор

    Так а в вашем первом скетче что выводится в монитор порта? Что значит ответ есть?
    Вы видите получение СМС модулем?
    Строчку STATE отправляли в СМС на модуль? Видели ее в мониторе порта?
     
  8. piter pen

    piter pen Нерд

    вот скрин монитора порта
     

    Вложения:

    • 1.jpg
      1.jpg
      Размер файла:
      17,2 КБ
      Просмотров:
      242
  9. SergeiL

    SergeiL Оракул Модератор

    Поменяйте функцию SMSRequest() на эту и снова выложите вывод в монитор порта
    Код (C++):
    boolean SMSRequest() {
      if(SIM900.available() >0) {
        incomingChar=SIM900.read();
        if(incomingChar=='S') {
          delay(10);
          Serial.print(incomingChar);
          incomingChar=SIM900.read();
          if(incomingChar =='T') {
            delay(10);
            Serial.print(incomingChar);
            incomingChar=SIM900.read();
            if(incomingChar=='A') {
              delay(10);
              Serial.print(incomingChar);
              incomingChar=SIM900.read();
              if(incomingChar=='T') {
                delay(10);
                Serial.print(incomingChar);
                incomingChar=SIM900.read();
                if(incomingChar=='E') {
                  delay(10);
                  Serial.print(incomingChar);
                  Serial.print("...Request Received \n");
                  return true;
                }
                else
                    Serial.print(incomingChar);
              }
              else
                  Serial.print(incomingChar);
            }
            else
                Serial.print(incomingChar);
          }
          else
             Serial.print(incomingChar);
        }
        else
           Serial.print(incomingChar);
      }
      return false;
    }
    Криво, но так меньше переписывать.
     
    piter pen нравится это.
  10. parovoZZ

    parovoZZ Гуру

    а есть варианты парсинга поизящнее?
     
  11. SergeiL

    SergeiL Оракул Модератор

    Есть, но я переписывать не хочу. Некогда и лень. :)
    Там нужно все переписать, от начала до конца. Только парсинг не спасет.
     
  12. piter pen

    piter pen Нерд

    хех... ругается на овер вольтаж... причем внешнее питание отключено... кстати где то встречал что модем ругается на номера нашей (российской) кодировки. это наверное надо в библиотеке разбираться? да, еще эти модемы я не смог запустить ни на мегафоне ни на йоте ни на теле2... сейчас работает на Летай.... и при запросе оператора через АТ команду выдает название в цифрах... может это как то влияет?
     

    Вложения:

    • 2.jpg
      2.jpg
      Размер файла:
      35,2 КБ
      Просмотров:
      237
    Последнее редактирование: 17 янв 2020
  13. SergeiL

    SergeiL Оракул Модератор

    попробуйте убрать пробелы между "AT+CMGS=\"+7ХХХХХХХХХХ\""
     
    piter pen нравится это.
  14. piter pen

    piter pen Нерд

    я их убирал... еще до публикации поста... но сейчас все стало работать как надо... смс в ответ пришло...
     
  15. piter pen

    piter pen Нерд

    спасибо большое всем откликнувшимся за помощь!!!