دوستان من میخام یه sms دریافت کنم و محتویاتشو توی یه متغیر save کنم هرچی نگاه کردم لیست AT command ها رو متوجه نشدم شاید خوب نگاه نکردم از دوستان کسی میتونه کمک کنه؟
دوستان من میخام یه sms دریافت کنم و محتویاتشو توی یه متغیر save کنم هرچی نگاه کردم لیست AT command ها رو متوجه نشدم شاید خوب نگاه نکردم از دوستان کسی میتونه کمک کنه؟
من هم دقیقا دنبال راهی میگردم که متن اس ام اس و توی یه مقدار رشته ذخیره کنم
فکر میکنم باید سریال و بخونیم و هروقت اس ام اس اومد کامند at+cmgr=1 و بفرسته و و بعدش متن پیام و بخونه
اما با این روش توی خواندن سریال مشکل دارم کسی کمک کنه خیلی ممنون میشم
من از این کد برای خواندن سریال و تبدیل اون به رشته استفاده کردم ولی مشکل اینجاس وقتی میخوام اتکامند بفرستم ارسال نمیشه و فقط حرف اولش نوشته میشه روی سریال
مثلن مینویسم AT مینویسه توی سریال A
کد:String readString; void setup() { Serial.begin(9600); } void loop() { while (Serial.available()) { delay(3); char c = Serial.read(); readString += c; } if (readString.length() >0) { if (readString == "example") { //do somethings } readString=""; } }
String Buffer;
String number;
String text;
if (Serial.available()) {
Buffer = Serial.readString();
if (Buffer.indexOf("+CMT") != -1){
Buffer.replace("+CMT: \"+98", "");
number = Buffer.substring(2, 12);
text = Buffer.substring(41, 51);
}
}
می تونید کد این تاپیک رو مطالعه کنید:
Receiving SMS using GSM and controlling LED using Arduino - Electrical Engineering Stack Exchange
میاد یه پیام دریافت می کنه و بر اساس کامند اون تصمیم میگیره چند تا LED رو خاموش و روشن کنه
قبل از این کدها باید دستور at+cnmi=1,2,0,0,0 رو ارسال کنید
وقتی هم زنگ می زنید برای اینکه شماره تماس رو هم نشون بده باید دستور at+clip=1 رو ارسال کنید در غیر این صورت فقط ring نشون میده