ARDUINO UNO + SIM800L

ale_mild
Offline
Зарегистрирован: 20.04.2017

Здравствуйте! помогите, пожалуйста! написала программу,все соединила,все работало! использовала библиотеку SIM800l.h. НО.... несколько дней ничего не изменяла, ничего нового не писала! и каким-то образом все перестало работать...! убираю часть, с чтением и отправкой sms, все работает! вставляю обратно,выводит в порт то, что в setup прописано и все....никаких действий дальше не происходит! в чем может быть проблема? 

ale_mild
Offline
Зарегистрирован: 20.04.2017

#include <Sim800l.h>
#include <SoftwareSerial.h> //is necesary for the library!! 
Sim800l Sim800l;  //to declare the library



String textSms,numberSms;
uint8_t index1;
uint8_t LED2=13; // use what you need 
bool error;



void setup(){
 
pinMode(LED2,OUTPUT); 
digitalWrite(LED2,HIGH);

    Serial.begin(9600); // only for debug the results . 
    Sim800l.begin(); // initializate the library. 
    Sim800l.reset();
    //don't forget to catch the return of the function delAllSms! 
    error=Sim800l.delAllSms(); //clean memory of sms;
    
}

void loop(){
    textSms=Sim800l.readSms(1); //read the first sms
    
    if (textSms.indexOf("OK")!=-1) //first we need to know if the messege is correct. NOT an ERROR
        {           
        if (textSms.length() > 7)  // optional you can avoid SMS empty
            {
                
                numberSms=Sim800l.getNumberSms(1);  // Here you have the number
                //for debugin
                Serial.println(numberSms); 
                textSms.toUpperCase();  // set all char to mayus ;)

                if (textSms.indexOf("TURNON")!=-1){
                    Serial.println("LED TURN ON");
                    digitalWrite(LED2,1);
                }
                else if (textSms.indexOf("TURNOFF")!=-1){
                    Serial.println("LED TURN OFF");
                    digitalWrite(LED2,0);

                }
                else{
                    Serial.println("Not Compatible ...sorry.. :D");
                }


            Sim800l.delAllSms(); //do only if the message is not empty,in other case is not necesary
             //delete all sms..so when receive a new sms always will be in first position
            } 



        }
    }

вот код из примеров к этой библиотеки! делала на этом примере! 

 

SHADOW_UB
Offline
Зарегистрирован: 05.01.2018

Привет, мне сказали, что нада перевести sim800l в 1800Мгц, сказали что нужно с помощью этой команды: AT+CBAND=.....
Там много вариантов, что нужно ввести после знака равно, а то я никогда не работал с GSM (это срочно).

Заранее спасибо!)))

b707
Offline
Зарегистрирован: 26.05.2017

SHADOW_UB пишет:

Привет, мне сказали, что нада перевести sim800l в 1800Мгц,

Не надо.

Что касается кода - у вас цикл ЛУП начинается с чтения СМС с индексом 1. А вы уверены. что в модеме есть хоть одно СМС? - если нет, то ничего выводится и не будет.

SHADOW_UB
Offline
Зарегистрирован: 05.01.2018

понял спасибо)))

SHADOW_UB
Offline
Зарегистрирован: 05.01.2018

Для чего конкретно команда AT+CBAND