SMS модуль

Тема в разделе "Посоветуйте детальки", создана пользователем DrProg, 2 авг 2015.

  1. dwk26111974

    dwk26111974 Гик

    Нормальный модуль по отличной цене (чуть более 100 руб на али), собрал 4 шт - полет нормальный.!))
    Обязательно - кондер на 1000 мкф (я ставил 2000 мкф), БП на 2а, и замыкать boot на землю, и будет всем счастье.:)
     
  2. buktopz

    buktopz Нерд

    а кодом можете поделиться?
     
  3. dwk26111974

    dwk26111974 Гик

    А кодом чего? Этот модуль работает по АТ командам....
     
  4. buktopz

    buktopz Нерд

    команды, я так понимаю контроллер посылает, или Вы без него обходитесь. Тогда тем более интересно, поделитесь, было бы не плохо сэкономить
     
  5. buktopz

    buktopz Нерд

    боюсь, что это невозможно, даже если и есть в модуле какая то память, то в этой памяти точно нет номера нужного телефона... А код я имел ввиду сигнализации, например для ардуинки.
     
  6. dwk26111974

    dwk26111974 Гик

    1.Настроить модуль можно без Дуни, подключив его к компу.
    2.Естественно без Дуни в составе устройства он работать не будет...
    3.Проектов сигнализации на Дуни и модуле -достаточно в нете, поищите и выберете под себя
     
  7. buktopz

    buktopz Нерд

    так а вы то для чего настраиваете, для того чтобы настроить? Практическое применение то в чем. Впрочем сразу бы сказали, что секретные разработки, я бы и не спрашивал
     
  8. dwk26111974

    dwk26111974 Гик

    Уважаемый, вы прочитайте сначала ветку этого форума, и у вас вопросов станет гораздо меньше...тут умные люди очень много времени и сил потратили, что б была ясность для чего этот модуль предназначен, как его настраивать и ЗАЧЕМ ЕГО НАСТРАИВАТЬ!!!
     
  9. buktopz

    buktopz Нерд

    да ладно, ладно, я понял, Вы агент ЦРУ, вопросов больше нет
     
  10. buktopz

    buktopz Нерд

    Вы не обижайтесь, но я простой вопрос задал. Вы то зачем его настраиваете? Ну не хотите отвечать, так и скажите, зачем на ветку то ссылаться, на коды в интернете. Вы то зачем его настраивали? Еще раз без обид.
     
  11. dwk26111974

    dwk26111974 Гик

    Я не из обидчивых))) Настраивать его нужно, что б он корректно работал с Дуней, тк в 90% случаев они приходят со скоростью обмена данных не 9600,а с более высокими, и в итоге некорректно работают. Код - это скетч для конкретной программы/проекта (сигнализация, освещение, таймеры итд) и здесь вы уже сами выбираете что вам нужно.Я могу выслать то,что я реально сделал и это работает.
     
  12. buktopz

    buktopz Нерд

    Да я читал про скорость, поставил терминал себе на компьютер. Модуль пришел, завтра настрою, где то и видео было по настройке. Ну а рабочие скетчи пригодились бы для анализа, я новичок, хочу сделать сигнализацию.
     
  13. https://www.google.ru/search?q=gsm+...&oe=utf-8&gws_rd=cr&ei=3kXIV6_DGIWhsgHOzZqQCQ
     
  14. buktopz

    buktopz Нерд

    Здорово!! А как это Вы нашли столько
     
  15. buktopz

    buktopz Нерд

    вот, например код, можете мне объяснить как это нога на растяжку, растяжка нормально замкнутый между А2 и землей, нормально разомкнуты между А2 и + питания. И так почти везде, тупо накопируют один скетч на 100 сайтов, поэтому и спрашиваю реально рабочие:
    Код (C++):
    #include <EEPROM.h>

    //// как подключен модем?
    #include <SoftwareSerial.h>                 // если программный
    SoftwareSerial gsm(7, 8); // RX, TX
    //#define gsm Serial                           // если аппаратный в UNO
    //#define gsm Serial1                          // если аппаратный в леонардо

    #define LED 13

    #define TELLNUMBER "ATD+79134521987;"                 // номен на который будем звонить
    #define SMSNUMBER "AT+CMGS=\"79134521987\""           // номер на который будем отправлять SMS
    #define TELMODE "79833148141"                         // номер для установки на охрану

    #define SH1 A2              // шлейыф
    //#define SH2 A3

    #define pinBOOT 5           // нога BOOT или K на модеме

    byte mode = 0;              // 0 - только включили
                                // 1 - установлена охрана
                                // 2 - снята с охраны
                                // при добавлении не забываем посмотреть на 41 строку


    void setup() {
      delay(1000);                    //// !! чтобы нечего не повисало при включении
     
      gsm.begin(9600);                         /// незабываем указать скорость работы UART модема
    //  Serial.begin(9600);
      pinMode(LED, OUTPUT);
      pinMode(pinBOOT, OUTPUT);                /// нога BOOT на модеме
      pinMode(SH1, INPUT_PULLUP);              /// нога на растяжку
    //  pinMode(SH2, INPUT_PULLUP);              /// нога на растяжку

                                              // читаем режим из еепром
      mode = EEPROM.read(0);
      if (mode > 2) mode = 2;                 // проверяем значение в еепром
                                          // занимаемся модемом      
      delay(1000);                          
      digitalWrite(LED, HIGH);                // на время включаем лед
      digitalWrite(pinBOOT, LOW);             /// включаем модем
          // нужно дождатся включения модема и соединения с сетью
      delay(2000);  
    //  while(gsm.find("STARTUP"));          /// ждем команды от модема
      gsm.println("ATE0");                  // выключаем эхо
     
      while(1){                             // ждем подключение модема к сети
            gsm.println("AT+COPS?");
            if (gsm.find("+COPS: 0")) break;
               digitalWrite(LED, LOW);               // блымаем светодиодом
               delay(50);
               digitalWrite(LED, HIGH);
               delay(500);
        }

    //Serial.println("Modem OK");
       digitalWrite(LED, LOW);               // блымаем светодиодом
       delay(1500);
       digitalWrite(LED, HIGH);
       delay(250);
       digitalWrite(LED, LOW);  
     
    }

    void loop() {
     
      if (mode == 1){                         // если в режиме охраны
                                              // проверяем датчики
        if (digitalRead(SH1)){                // если обрыв
                                              // отзваниваемся
            gsm.println(TELLNUMBER);
            delay(2500);                      
              if (gsm.find("NO CARRIER")){      // ищим сброс вызова,
                                                // снимаем охранку
                  mode = 2;
                  EEPROM.write(0, mode);
              }
        }
      }

     
      // если охрана снята
      if (mode == 2){
        if (digitalRead(SH1)){  // проверяем датчики, включаем LED
          digitalWrite(LED, HIGH);  
        }
        else digitalWrite(LED, LOW);
      }

     
    // ищим RING
       // если нашли, опрашиваем кто это и ставим на охрану
        if(gsm.find("RING")){                    // если нашли RING
          gsm.println("AT+CLIP=1");              // включаем АОН,
               
          while(1){                              // в цикле
           if (gsm.find(TELMODE)){               // ищим номер телефона, если нашли
             mode = 1;                           // меняем режим
             EEPROM.write(0, mode);              // пишим его в еепром
             break;                              // и выходим
           }
           else{                                 // иначе
             gsm.println("AT+CPAS");             // спрашиваем состояние модема  
             delay(100);
             if (gsm.find("+CPAS: 0")) break;    // и если он в "готовности", выходим из цикла
           }                                     // если звонок в процессе, возвращает +CPAS: 3
          }                                      // и крутимся дальше
         
            gsm.println("AT+CLIP=0");            // выключаем АОН,
            delay(500);
            gsm.println("ATH0");                 // сбрасываем вызов

             digitalWrite(LED, LOW);             // сигнализируем об этом
             delay(500);
             digitalWrite(LED, HIGH);
             delay(250);
             digitalWrite(LED, LOW);  
     
        }
       
    }
     
  16. buktopz

    buktopz Нерд

    ну пишут обрыв, обрыв между чем и чем? прошло то время когда шлейфы были нормально замкнутый с землей, сейчас по разному делают, этот код на 20-25 сайтах видел, никто не смог объяснить только догатки потому что сам никто не проверял. АВ поисковиком научился пользоваться ровно 20 лет назад, спасибо за подсказку
     
  17. ZAZ-965

    ZAZ-965 Гуру

    Код (C++):
    pinMode(SH1, INPUT_PULLUP);              /// нога на растяжку
    Этот код означает, что к входу SH1 (пину А2) подключен внутренний подтягивающий резистор, т.е. при отсутствии сигнала вход установлен в единицу. Шлейф подключен к входу SH1 (пину А2) и земле (желательно через токоограничивающий резистор 330 Ом), т.е. при целом шлейфе сигнал на входе установлен в ноль.
     
  18. buktopz

    buktopz Нерд

    Ну вот! Наконец по теме! Спасибо, сейчас даже скопирую, вдруг завтра всемирная сеть рухнет. Разбираться буду завтра, у нас уже поздно, мозг уже спит, я пока кино смотрю, но тоже скоро спать. Еще раз спасибо, помогли здорово.
     
  19. RuiG

    RuiG Нуб

    Вопрос по SIM800L mini.
    Вобщем приобрел данный модуль, пытался подключить, использовал 12v 2A бп с преобразователем DC-DC. Пробовал от аккумулятора питать. Модуль ни в какую не хочет регистрироваться в сети, хотя проверял, сети видит. Пробовал симку другого оператора и тоже ни в какую. Пытается зарегистрироваться и всё. Подскажите, что это может быть и как решить эту проблему?
     
  20. Vad33

    Vad33 Капитан-оригинал

    Это может быть: Или модуль бракованный(подпорченный) или руки кривые.
    Решить проблему: В первом случае модуль поменять, во втором - руки выпрямить.