نوشته شده توسط
336699
سلام
برای ارسال هر اس ام اس نیازی نیست که مدام به مودم وصل بشید و بعد دوباره دیسکانکت بشید
شما یکبار کانکت میشی (5 ثانیه) بعد هرچندتا پیام خواستی ارسال میکنی
یه بار وصل میشم و فقط تابع ارسال اس ام اس رو صدا میزنم
هر کدوم حداقل 5 ثانیه طول میکشه
در مورد سرعت ارسال پیام هم بستگی به طول پیام و سخت افزار مودم و شبکه مخابراتی ، سرعت ارسال متفاوت خواهد بود.
شما انتظار نداشته باش مثل سامانه های ارسال پیامک ، ثانیه ای چند هزار پیامک ارسال بشه.
با این روش هر پیامک سه ثانیه زمان میبره تا ارسال بشه.
بله انتظار ندارم مثل سامانه های پیامکی سرعتش باشه
اما با دستورات at command تست کردم سرعت خیلی خوبی داشت اما مشکلی که داره با فارسی سازگار نیست
کد وصل شدن به مودم
axKylixSMS.RegisterName = "6B796C6978736F66742E636F6D";
axKylixSMS.RegisterCode = "766D8DF9E7ADE95B888A300F228751B96639FBFD2D3DDFCF2 36E50AF278C358F";
axKylixSMS.ConnectionMode = 1;
axKylixSMS.ConnectionProtocol = 1;
axKylixSMS.ConnectionParameter = "COM13,9600";
if (axKylixSMS.Connect() != 1)
axKylixSMS.GetLastError(1);
else
{
MessageBox.Show("Connect");
}
کدارسال sms
axKylixSMS.SendSMS("09120000000", "test");
MessageBox.Show("OK");
دستورات at command
SerialPort sp = new SerialPort();
sp.PortName = "COM13";
sp.Open();
sp.Write("AT\r");
Thread.Sleep(2000);
sp.Write("AT+CSCS=HEX\r\n");
Thread.Sleep(2000);
sp.Write("AT+CMGF=1\r\n");
Thread.Sleep(2000);
sp.Write("AT+CSMP=1,173,0,8\r\n");
Thread.Sleep(2000);
sp.Write("AT+CMGS=" + "09120000000" + Char.ConvertFromUtf32(13));
Thread.Sleep(2000);
sp.Write("test" + "\x1A" + "\r\n");
Thread.Sleep(2000);
var response = sp.ReadExisting();
if (response.Contains("ERROR"))
{
MessageBox.Show("ERROR");
}
else
{
MessageBox.Show("SEND");
}
sp.Close();