Using compareto if the received message from GSM800Lis equal to specific value?
trying write code compare if incoming message gsm equal value, if response back. when open serial monitor (still did not send message gsm) see -1 -1 (infinite series of -1).
how make gsm wait new live message , after checks message responds back.
can me code?
how make gsm wait new live message , after checks message responds back.
can me code?
code: [select]
#include "adafruit_fona.h"
#define fona_rx 2
#define fona_tx 3
#define fona_rst 4
#include <softwareserial.h>
softwareserial fonass = softwareserial(fona_tx, fona_rx);
softwareserial *fonaserial = &fonass;
// hardware serial possible!
// hardwareserial *fonaserial = &serial1;
adafruit_fona fona = adafruit_fona(fona_rst);
uint8_t readline(char *buff, uint8_t maxbuff, uint16_t timeout = 0);
void setup() {
while (!serial);
serial.begin(115200);
serial.println(f("fona sms caller id test"));
serial.println(f("initializing....(may take 3 seconds)"));
// make slow easy read!
fonaserial->begin(4800);
if (! fona.begin(*fonaserial)) {
serial.println(f("couldn't find fona"));
while(1);
}
serial.println(f("fona ok"));
// print sim card imei number.
char imei[15] = {0}; // must use 16 character buffer imei!
uint8_t imeilen = fona.getimei(imei);
if (imeilen > 0) {
serial.print("sim card imei: "); serial.println(imei);
}
serial.println("fona ready");
}
char fonainbuffer[64]; //for notifications fona
void loop() {
string c="";
if (fona.available()) //any data available fona?
{
fona.println(c="at+cnmi=2,2,0,0,0");
while (c = fona.read()) {
serial.print(c);
}
serial.println("\nend of message");
if(c.compareto("a") == 0)
{
fona.println("at+cmgf=1"); //sets gsm module in text mode
delay(1000); // delay of 1000 milli seconds or 1 second
fona.println("at+cmgs=\"+xx\"\r"); // replace x mobile number
delay(1000);
fona.print("the hear rate is: ");
fona.print(50);
fona.print(" bpm ");
fona.print("\r"); //the content of message
delay(500);
fona.print((char)26);//the ascii code of ctrl+z 26 (required according datasheet)
delay(1000); ;
}
fona.flush();
serial.println("message deleted");
}
}
Arduino Forum > Products > Arduino GSM Shield (Moderator: fabioc84) > Using compareto if the received message from GSM800Lis equal to specific value?
arduino
Comments
Post a Comment