metaforos Если не трудно погляди что у меня неправильно
пробовал разные варианты. По экрану телефона вижу что ардуина считывает смс из памяти, но обработать и включить пин 5 не выходит, ну и соответственно стирать тоже не хочет смс из памяти. Скорее всего адреса строк пишу неправильно, но как правильно то???
PHP код:
#include <NewSoftSerial.h> //////////// поставить библиотеку сериал
NewSoftSerial mySerial(2,3);
int i=1;
char strok[61]="";
int ledpin = 5; //////////// изменить ледпин на другой
long previousMillis = 0;
long interval = 5000;
void setup()
{
pinMode(ledpin, OUTPUT);
//Serial1.begin(9600); /////// изменить на другой сериал
mySerial.begin(9600);
Serial.begin(9600);
//Serial1.flush(); /////// изменить ?????????
mySerial.flush();
delay(5000);
//Serial1.println("AT+CPMS ='MT'\r" ); /////// ИЗМЕНИТЬ
mySerial.println("AT+CPMS ='MT'\r" );
delay(1000);
//Serial1.println("AT+CNMI=1,1\r"); ////// изменить
mySerial.println("AT+CNMI=1,1\r");
delay(1000);
}
void loop()
{
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval)
{
previousMillis = currentMillis;
//Serial1.println("AT+CMGL=4\r"); ///////// изменить
mySerial.println("AT+CMGL=4\r");
delay(100);
}
//if(Serial1.read()=='0' &&Serial1.read()=='7' &&Serial1.read()=='9') /////ИЗМЕНИТЬ .....только, если в Serial1 есть СМС, а то он начинает читать с АТ+ и т.д.
if(mySerial.read()=='0' &&mySerial.read()=='7' &&mySerial.read()=='9')
{
//for (i=1; i<58; i++) strok[i] = Serial1.read(); ////// ИЗМЕНИТЬ
//for (i=1; i<58; i++) strok[i] = mySerial.read();
for (i=1; i<60; i++) strok[i] = mySerial.read();
// ВКЛЮЧЕНИЕ - отправляю СМС - #a1
//if(strok[48] == '2' &&strok[49] == '1' &&strok[50] == '0' &&strok[51] == '3' &&strok[52] == 'A' &&strok[53] == '3' &&strok[54] == '7' &&strok[55] == '0')
//if(strok[49] == '1' &&strok[50] == '0' &&strok[51] == '3' &&strok[52] == 'A' &&strok[53] == '3' &&strok[54] == '7' &&strok[55] == '0')
if(strok[52] == '1' &&strok[53] == '0' &&strok[54] == '3' &&strok[55] == 'A' &&strok[56] == '3' &&strok[57] == '7' &&strok[58] == '0')
{
digitalWrite (ledpin, HIGH);
delay(1000);
//Serial1.println("AT+CMGD=1"); /////// ИЗМЕНИТЬ
mySerial.println("AT+CMGD=1");
}
// ВЫКЛЮЧЕНИЕ - отправляю СМС - #a0
//if(strok[48] == '2' &&strok[49] == '1' &&strok[50] == '0' &&strok[51] == '3' &&strok[52] == 'A' &&strok[53] == '3' &&strok[54] == '3' &&strok[55] == '0')
//if(strok[49] == '1' &&strok[50] == '0' &&strok[51] == '3' &&strok[52] == 'A' &&strok[53] == '3' &&strok[54] == '3' &&strok[55] == '0')
if(strok[52] == '1' &&strok[53] == '0' &&strok[54] == '3' &&strok[55] == 'A' &&strok[56] == '3' &&strok[57] == '3' &&strok[58] == '0')
{
digitalWrite (ledpin, LOW);
delay(1000);
//Serial1.println("AT+CMGD=1"); /////// ИЗМЕНИТЬ
mySerial.println("AT+CMGD=1");
}
}
delay(100);
}
//0 7 9 1 9 7 6 1 9 8 9 9 0 1 F 0 2 4 0 B 9 1 9 7 6 1 4 6 4 3 3 9 F 2 0 0 0 0 2 1 4 0 5 0 7 1 9 4 6 1 6 1 0 3 A 3 7 0 0 C - #a1
//1 2 3 4 5 6 7 8 9 10 15 20 25 30 35 40 45 50 55 60
//0 7 9 1 9 7 6 1 9 8 9 9 0 1 F 0 2 4 0 B 9 1 9 7 6 1 4 6 4 3 3 9 F 2 0 0 0 0 2 1 4 0 5 0 8 1 0 2 4 1 6 1 0 3 A 3 3 0 0 C - #a0
// - - - - -
Поставил строку Serial.println(strok[52]); чтоб понять значение strok[52] ...но значение выводится закорючкой!!!!