PDA

View Full Version : سوال: سرعت کم کامپونت Kylix



A3ed.BlackHat
پنج شنبه 27 اردیبهشت 1397, 23:50 عصر
سلام
من از مودم GSM دی لینک 157 استفاده میکنم و میخوام از طریق کامپونت Kylix اس ام اس ارسال کنم
توی دموی که خودش گذاشته بود سرعتش خیلی کم بود
مثلا تا بیاد وصل بشه به مودم حداقل 5 ثانیه طول میکشه
برای ارسال اس ام اس هم همینطوریه
راهی هست که سرعتش بیشتر بشه؟

اگه نمونه کد at command دارین که از فارسی هم پشتیبانی کنه بی زحمت بفرستید
ممنون

336699
جمعه 28 اردیبهشت 1397, 00:07 صبح
سلام
برای ارسال هر اس ام اس نیازی نیست که مدام به مودم وصل بشید و بعد دوباره دیسکانکت بشید
شما یکبار کانکت میشی (5 ثانیه) بعد هرچندتا پیام خواستی ارسال میکنی

در مورد سرعت ارسال پیام هم بستگی به طول پیام و سخت افزار مودم و شبکه مخابراتی ، سرعت ارسال متفاوت خواهد بود.

شما انتظار نداشته باش مثل سامانه های ارسال پیامک ، ثانیه ای چند هزار پیامک ارسال بشه.

با این روش هر پیامک سه ثانیه زمان میبره تا ارسال بشه.

A3ed.BlackHat
جمعه 28 اردیبهشت 1397, 09:46 صبح
سلام


برای ارسال هر اس ام اس نیازی نیست که مدام به مودم وصل بشید و بعد دوباره دیسکانکت بشید
شما یکبار کانکت میشی (5 ثانیه) بعد هرچندتا پیام خواستی ارسال میکنی

یه بار وصل میشم و فقط تابع ارسال اس ام اس رو صدا میزنم
هر کدوم حداقل 5 ثانیه طول میکشه


در مورد سرعت ارسال پیام هم بستگی به طول پیام و سخت افزار مودم و شبکه مخابراتی ، سرعت ارسال متفاوت خواهد بود.
شما انتظار نداشته باش مثل سامانه های ارسال پیامک ، ثانیه ای چند هزار پیامک ارسال بشه.
با این روش هر پیامک سه ثانیه زمان میبره تا ارسال بشه.

بله انتظار ندارم مثل سامانه های پیامکی سرعتش باشه
اما با دستورات at command تست کردم سرعت خیلی خوبی داشت اما مشکلی که داره با فارسی سازگار نیست



کد وصل شدن به مودم

axKylixSMS.RegisterName = "6B796C6978736F66742E636F6D";
axKylixSMS.RegisterCode = "766D8DF9E7ADE95B888A300F228751B96639FBFD2D3DDFCF23 6E50AF278C358F";
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();

Mahmoud Zaad
جمعه 28 اردیبهشت 1397, 12:38 عصر
سلام

برای ارسال به فارسی باید sms رو به صورت PDU کد کنید و قاعدتاً موقع دریافت هم باید sms رو از این حالت دیکد کنید. اینجا (http://barnamenevis.org/showthread.php?108432-PDU-Encoding-And-Decoding) ساختارش رو توضیح داده زحمت کدنویسیش با خودتونه. دستورات At Command شما درسته فقط به جای شماره و متن پیام، باید دستور PDU رو به مودم بفرستید. همین. بخش اصلی کار درست کردن دستور PDU هست.

با سیمکارت معمولاً بین 10-15 پیامک در دقیقه ارسال میشه.

برای دریافت پیامک و دریافت دلیوری بعضاً به مشکل میخورید چون مودم سریعتر از برنامه شما پیامک دریافتی رو میخونه و پورت خالی میشه.

اگر تعداد پیامک بالا یعنی انبوه! با این روش ارسال کنید مخابرات ارسال پیامک سیمکارت شما رو به صورت دائم قطع می کنه و باید برید سراغ یه سیمکارت دیگه.

336699
جمعه 28 اردیبهشت 1397, 13:11 عصر
قبلا یه برنامه جهت تست ارسال پیامک نوشته بودم

شما این برنامه رو تست کن

شماره رو بصورت 0912xxxxxxx وارد کن

148181

A3ed.BlackHat
جمعه 28 اردیبهشت 1397, 15:31 عصر
قبلا یه برنامه جهت تست ارسال پیامک نوشته بودم

شما این برنامه رو تست کن

شماره رو بصورت 0912xxxxxxx وارد کن

148181

اگه امکانش هست سورس برنامه رو بفرستید

336699
جمعه 28 اردیبهشت 1397, 15:46 عصر
اگه امکانش هست سورس برنامه رو بفرستید

روی مودم شما جواب داد؟

A3ed.BlackHat
جمعه 28 اردیبهشت 1397, 15:58 عصر
روی مودم شما جواب داد؟

بله جواب داد
البته خودم تونستم با دستورات at command اس ام اس فارسی ارسال کنم
فعلا توی اس ام اس چند پارتی مشکل دارم


public static string Str2Hex(string strMessage)
{
byte[] ba = Encoding.BigEndianUnicode.GetBytes(strMessage);
string strHex = BitConverter.ToString(ba);
strHex = strHex.Replace("-", "");
return strHex;
}



private void button_SendSMS(object sender, EventArgs e)
{

SerialPort sp = new SerialPort();
sp.PortName = "COM13";
sp.Open();

sp.Write("AT\r");
Thread.Sleep(1000);

sp.Write("AT+CSCS="UCS2"\n");
Thread.Sleep(1000);

sp.Write("AT+CMGF=1\n");
Thread.Sleep(1000);

sp.Write("AT+CMGS="" + "09120000000" + ""\n");
Thread.Sleep(1000);

sp.Write(Str2Hex("سلام") + "\x1A");
Thread.Sleep(1000);

var response = sp.ReadExisting();
if (response.Contains("ERROR"))
{

MessageBox.Show("ERROR" + response);
}
else
{

MessageBox.Show("SEND" + response);
}
sp.Close();
}

A3ed.BlackHat
شنبه 29 اردیبهشت 1397, 22:35 عصر
کسی نیست نمونه کد برای ارسال اس ام اس چند پارتی داشته باشه؟

A3ed.BlackHat
دوشنبه 31 اردیبهشت 1397, 21:49 عصر
قبلا یه برنامه جهت تست ارسال پیامک نوشته بودم

شما این برنامه رو تست کن

شماره رو بصورت 0912xxxxxxx وارد کن

148181

اگه قصد کمک ندارید چرا اصلا وارد تاپیک یا انجمن میشید؟:متفکر:
شما برنامه ای که توی عکس هست رو پیوست کرده بودین فقط فایل exe اش رو اونم چی !
با Enigma Virtual Box و IntelliLock هم پکش کرده بودین که خدایی نکرده کسی نتونه از سورس استفاده کنه
بعد از چند روز هم برنامه ای که پیوست کرده بودین رو پاک کردین !
واقعا این کارا یعنی چی؟
برنامه ای که پیوست کرده بودین رو دوباره پیوست میکنم


در ضمن خودم راه حل رو پیدا کردم(ارسال sms فارسی و چند پارتی) به زودی تاپلیک آموزشی این موضوع به همراه کدهاش رو توی انجمن میزارم تا بقیه دوستان هم استفاده کنن

336699
دوشنبه 31 اردیبهشت 1397, 23:56 عصر
اگه قصد کمک ندارید چرا اصلا وارد تاپیک یا انجمن میشید؟:متفکر:
شما برنامه ای که توی عکس هست رو پیوست کرده بودین فقط فایل exe اش رو اونم چی !
با Enigma Virtual Box و IntelliLock هم پکش کرده بودین که خدایی نکرده کسی نتونه از سورس استفاده کنه
بعد از چند روز هم برنامه ای که پیوست کرده بودین رو پاک کردین !
واقعا این کارا یعنی چی؟
برنامه ای که پیوست کرده بودین رو دوباره پیوست میکنم


در ضمن خودم راه حل رو پیدا کردم(ارسال sms فارسی و چند پارتی) به زودی تاپلیک آموزشی این موضوع به همراه کدهاش رو توی انجمن میزارم تا بقیه دوستان هم استفاده کنن

شما مثل اینکه متوجه نیستی اینجا پونیشا و ... نیست
من و دیگران وظیفه نداریم به شما پروژه آماده و یا سورس کد تقدیم کنیم.
بعضی ها همیشه طلبکار هستند.

A3ed.BlackHat
سه شنبه 01 خرداد 1397, 00:26 صبح
شما مثل اینکه متوجه نیستی اینجا پونیشا و ... نیست
من و دیگران وظیفه نداریم به شما پروژه آماده و یا سورس کد تقدیم کنیم.
بعضی ها همیشه طلبکار هستند.
از کسی طلبکار نیستم و انتظارم ندارم که بیاد به من سورس بده ... !
حرف من این هست اگه قصد کمک ندارید اصلا برای چی وارد تاپیک میشید
چرا از محیط برنامه ای که قبلا نوشتید عکس میزارید و فایل exe پک شده میزاید بعدم دوباره پاک میکنید؟کی چی مثلا این حرکتا
تو هیچ سایتی مثل stackoverflow ، codeproject از این رفتار های بچه گانه مثل امثال شما ندیدم

ماشالله الانم دارید پست هاتون رو ویرایش میکنید و عکس پیوستی از محیط برنامه رو پاک کردید
همین ویرایش کردن پست هاتون حرفای های منو کاملا اثبات میکنه ........