Взаимодействие с GPRS Шилдом
- Войдите на сайт для отправки комментариев
Сб, 15/02/2014 - 07:12
Всем привет. Такой вот вопрос. Хочу сделать так, что ардуино отвечал сообщением "привет" на тот номер, с которого пришло сообщение. И сделать так, что он мог отвечать только "друзьям", а на посторонние номера никак не реагировал. Пока только так получилось, но это не подходит. Помогите, ребята.
#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);
посмотрите примеры в библиотеке http://www.gsmlib.org/