, EEPROM / , .
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
int ch = 0;
int led = 13;
String val = "";
void setup() {
delay(2000);
pinMode(led, OUTPUT);
digitalWrite(led, LOW);
Serial.begin(9600);
Serial.println("GSM tester v1.0");
mySerial.begin(9600);
mySerial.println("AT+CLIP=1");
delay(100);
mySerial.println("AT+CMGF=1");
delay(100);
mySerial.println("AT+CSCS=\"GSM\"");
delay(100);
}
void loop() {
if (mySerial.available()) {
while (mySerial.available()) {
ch = mySerial.read();
val += char(ch);
delay(10);
}
if (val.indexOf("RING") > -1) {
if (val.indexOf("71234567890") > -1) {
Serial.println("--- MASTER RING DETECTED ---");
mySerial.println("ATH0");
digitalWrite(led, HIGH);
delay(3000);
digitalWrite(led, LOW);
}
} else
Serial.println(val);
val = "";
}
if (Serial.available()) {
while (Serial.available()) {
ch = Serial.read();
val += char(ch);
delay(10);
}
if (val.indexOf("sendsms") > -1) {
sms(String("hello world"), String("+71234567890"));
}
val = "";
}
}
void sms(String text, String phone)
{
Serial.println("SMS send started");
mySerial.println("AT+CMGS=\"" + phone + "\"");
delay(500);
mySerial.print(text);
delay(500);
mySerial.print((char)26);
delay(500);
Serial.println("SMS send complete");
delay(2000);
}