Взаимодействие с GPRS Шилдом

Vovka41
Offline
Зарегистрирован: 15.01.2014

Всем привет. Такой вот вопрос. Хочу сделать так, что ардуино отвечал сообщением "привет" на тот номер, с которого пришло сообщение. И сделать так, что он мог отвечать только "друзьям", а на посторонние номера никак не реагировал. Пока только так получилось, но это не подходит. Помогите, ребята.  

#include <SoftwareSerial.h> // подключение библ для смс отправки
SoftwareSerial gprsSerial(0,1);  // Пины для GPRS шилда
String currStr = "";
// Переменная принимает значение True, если текущая строка является сообщением
boolean isStringMessage = false;
 
void setup()
{
    gprsSerial.begin(19200);
    
    // Настраиваем приём сообщений с других устройств
      gprsSerial.print("AT+CMGF=1\r");
       gprsSerial.print("AT+IFC=1, 1\r");
        gprsSerial.print("AT+CPBS=\"SM\"\r");
       gprsSerial.print("AT+CNMI=1,2,2,1,0\r");
    }
String currStr = "";
// Переменная принимает значение True, если текущая строка является сообщением
boolean isStringMessage = false;
 
void loop() {
void polycsms();
}
 
void polycsms()
{
if (!gprsSerial.available())
        return;
 
    char currSymb = gprsSerial.read();    
    if ('\r' == currSymb) {
        if (isStringMessage) {
            //если текущая строка - SMS-сообщение,
            //отреагируем на него соответствующим образом
            if (!currStr.compareTo("Hello ")) {
                void otpravkasms();  
}
        }
    }
}
 
void otpravkasms() {
    // Устанавливает текстовый режим для SMS-сообщений
    gprsSerial.print("AT+CMGF=1\r");
     // Устанавливаем адресата
    gprsSerial.println("AT + CMGS = \"+xxx\"");
      gprsSerial.println("Hello");
       // обозначaeет,  что сообщение готово
 
    gprsSerial.println((char)26);
 
 
 
com
Offline
Зарегистрирован: 06.09.2013

посмотрите примеры в библиотеке http://www.gsmlib.org/