Цитата(Aner @ Apr 9 2013, 16:50)

Скиньте по другому написаное, посмотрим.
#include <SoftwareSerial.h>
SoftwareSerial gprsSerial(7, 8);
void setup()
{
gprsSerial.begin(19200);
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
gprsSerial.print("AT+CMGF=1\r");
delay(300);
gprsSerial.print("AT+IFC=1, 1\r");
delay(300);
gprsSerial.print("AT+CPBS=\"SM\"\r");
delay(300);
gprsSerial.print("AT+CNMI=1,2,2,1,0\r");
delay(500);
}
String currStr = "";
int updateTime = 0;
boolean isStringMessage = false;
void loop()
{
sss();
if (!gprsSerial.available())
return;
char currSymb = gprsSerial.read();
if ('\r' == currSymb) {
if (isStringMessage) {
if (!currStr.compareTo("On")) {
digitalWrite(13, HIGH);
digitalWrite(11, 1);
delay(400);
digitalWrite(11, 0);
delay(400);
digitalWrite(11, 1);
delay(400);
digitalWrite(11, 0);
delay(400);
digitalWrite(11, 1);
delay(400);
digitalWrite(11, 0);
} else if (!currStr.compareTo("Off")) {
digitalWrite(13, LOW);
} else if (!currStr.compareTo("On1")) {
digitalWrite(12, HIGH);
} else if (!currStr.compareTo("Off1")) {
digitalWrite(12, LOW);
}
isStringMessage = false;
} else {
if (currStr.startsWith("+CMT")) {
isStringMessage = true;
}
}
currStr = "";
} else if ('\n' != currSymb) {
currStr += String(currSymb);
}
}
void sss()
{
if (millis() >= updateTime) {
gprsSerial.println("AT");
updateTime += 5000;
}
}
Но это пример для приемной панели, для той что отсылает смски другой, но таких примеров много в нете. хотя кому то если интересно и его могу скинуть.
Неплохо заработал на этом случайно )) у меня ее купили. ))
Сообщение отредактировал David_Ali - Apr 9 2013, 19:13