PDA

View Full Version : مشکل در برنامه ارسال sms یا دستورات at command



خسرو خان
دوشنبه 24 مهر 1391, 16:05 عصر
سلام
من دارم با سی شارب و دستورات at command یه برنامه مینویسم که بتونه sms بفرسته . حالا میخوام بدونم چطور
میشه بیام تحویل دادن sms رو پروزه اضافه کرد و چطور میشه که وقتی sms جدید میاد برنامه متوجه بشه ؟
البته یه چیزای در مورد دستور AT+CNMI پیدا کردم ولی چیزس متوجه نشدم یعنی نفهمیدم کجای برنامه و چطور میشه از اون استفاده کرد

Y_Safaiee
دوشنبه 24 مهر 1391, 16:34 عصر
سلام دوست من

+CNMI ->اشاره به پیام جدید
+CMGL ->لیست کردن پیام ها
+CMGR -> خواندن پیام ها
+CNMA -> تست آمدن پیام جدید
+CMGF ->آماده سازی پورت برای کراهای متنی
+CMGD ->حذف پیام
+CMGC ->ارسال دستور
+CMGS -> ارسال پیام

حالا برای کار با دستورات AT باید یه Serial Port بزاری و پورتشو برابر با پورت مودمت کنی و کدهای ارسال و دریافتو توسط دستورات AT پاس بدی به پورت و جواب بازگشتی رو بررسی کنی.

مثلا کانفیگ و دیدن همه پیام ها



AT+CMGF=1
AT+CMGL="ALL"


پیکربندی اولیه :


SerialPort comPort = new System.IO.Ports.SerialPort();
comPort.PortName = "COM1";
comPort.BaudRate = 115200;
comPort.Parity = Parity.None;
comPort.StopBits = StopBits.One;
comPort.DataBits = 8;
comPort.ReadBufferSize = 10000;
comPort.ReadTimeout = 1000;
comPort.WriteBufferSize = 10000;
comPort.WriteTimeout = 10000;
comPort.RtsEnable = true;


ارسال پیام :


private void sendSms() {
if (!comPort.IsOpen) comPort.Open();
comPort.DiscardInBuffer();
comPort.DiscardOutBuffer();
string atCommandStr = "AT+CMGS=" + Char.ConvertFromUtf32(34) + PhoneNumber.Text + Char.ConvertFromUtf32(34) + (char)13 + messageTXT.Text + Char.ConvertFromUtf32(26);
comPort.WriteLine(atCommandStr + (char)13);
messageTXT.Text = comPort.ReadExisting();
comPort.Close();

}


موفق باشین
بایت بایت