PDA

View Full Version : سوال: اتصال به مودم و ارسال پیامک



morteza271
دوشنبه 02 تیر 1393, 00:31 صبح
سلام دوستان.
من مودم زیر رو خریداری کردم :
D-Link DWM-156 3.75G HSUPA USB Adapter (http://www.digikala.com/Product/DKP-5236/D-Link-DWM-156-3-75G-HSUPA-USB-Adapter/%D8%AF%DB%8C-%D9%84%DB%8C%D9%86%DA%A9-%D8%A2%D8%AF%D8%A7%D9%BE%D8%AA%D9%88%D8%B1-%DB%8C%D9%88-%D8%A7%D8%B3-%D8%A8%DB%8C-DWM-156)

یه برنامه تست نوشتم که قصد دارم با استفاده از کامپوننت Kylix SMS ActiveX 5.5 به مودم بشم و پیامک ارسال کنم.
ولی اصلا به مودم وصل نمیشه!
راستش نمیدونم شاید من بلد نیستم که تنظیماتش رو درست انجام بدم ولی کد زیر رو نوشتم :
axKylixSMS1.ConnectionMode = 4;
axKylixSMS1.ConnectionParameter = "COM18, 921600";
if (axKylixSMS1.Connect() != 1)
axKylixSMS1.GetLastError(1);

اون 4 هم به معنی اینه که با USB وصل شده!
ولی همش پیام زیر رو نشون میده وقتی کلید کانکت رو میزنم :
ERR_PORT_NOT_EXIST
از متن پیام مشخصه که میگه پورت وجود نداره ولی من از Device Manger در بخش Modems که نگاه میکنم در قسمت مشخصات مودمم زده COM18

اینم تصویر مشخصات مودم :
http://upload7.ir/viewer.php?file=46595331283625827455.jpg
ممنون میشم اگه راهنمایی ام کنین...
با تشکر

c0mmander
دوشنبه 02 تیر 1393, 06:51 صبح
اول عکس که گذاشتی که خیلی داغونه!

دوم میزان باد رو درست تنظیم کن با توجه به عکس فکر کنم باید 9600 باشه..

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

چهارم یک تستی کن پروت رو ببین یک وقتی پورت دست یک برنامه دیگه ای نباشه.

پنجم میتونی از Mcore هم استفاده کنی کنی

shahryari
دوشنبه 02 تیر 1393, 09:50 صبح
اول عکس که گذاشتی که خیلی داغونه!

دوم میزان باد رو درست تنظیم کن با توجه به عکس فکر کنم باید 9600 باشه..

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

چهارم یک تستی کن پروت رو ببین یک وقتی پورت دست یک برنامه دیگه ای نباشه.

پنجم میتونی از Mcore هم استفاده کنی کنی

ششم : با امکانات خود دات نت و دستورات at commands که همه مودم ها ساپورت میکنن ، میتونی بدون نیاز و بدون منت به کامپوننت اینکارو انجام بدی
http://www.diafaan.com/sms-tutorials/gsm-modem-tutorial/

abdullah20
دوشنبه 02 تیر 1393, 15:12 عصر
همون طور که دوستمون گفتند از نسخه کرک شده استفاده نکنید وحتما از نسخه اورجینال کامپوننت استفاده کنید
باید ConnectionProtocol را هم تنظیم کنید
داخل وبلاگم اموزش ارسال و دریافت پیامک با سورس موجوده میتونید دانلود کنید (http://www.abirayaneh.blogfa.com/)

morteza271
دوشنبه 02 تیر 1393, 16:48 عصر
ششم : با امکانات خود دات نت و دستورات at commands که همه مودم ها ساپورت میکنن ، میتونی بدون نیاز و بدون منت به کامپوننت اینکارو انجام بدی
http://www.diafaan.com/sms-tutorials/gsm-modem-tutorial/

ممنونم دوست عزیز.
با استفاده از دستورات at command میشه هم پیامک ارسال کرد و هم دریافت کرد؟
شما نمونه برنامه ای دارین برای اینکار که از دستورات at command استفاده کرده باشه؟
ممنون میشم بیشتر راهنمایی کنین...

morteza271
دوشنبه 02 تیر 1393, 16:52 عصر
همون طور که دوستمون گفتند از نسخه کرک شده استفاده نکنید وحتما از نسخه اورجینال کامپوننت استفاده کنید
باید ConnectionProtocol را هم تنظیم کنید
داخل وبلاگم اموزش ارسال و دریافت پیامک با سورس موجوده میتونید دانلود کنید (http://www.abirayaneh.blogfa.com/)
ممنونم دوست عزیز.
میتونم بپرسم شما کامپوننت kylix رو چقدر خریداری کردین که قصد فروشش (به مبلغ 20 هزار تومان) رو دارین؟!!!

shahryari
دوشنبه 02 تیر 1393, 17:47 عصر
ممنونم دوست عزیز.
با استفاده از دستورات at command میشه هم پیامک ارسال کرد و هم دریافت کرد؟
شما نمونه برنامه ای دارین برای اینکار که از دستورات at command استفاده کرده باشه؟
ممنون میشم بیشتر راهنمایی کنین...

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

morteza271
دوشنبه 02 تیر 1393, 18:07 عصر
به اون لینکی که دادم برید هم واسه دریافت هست و هم واسه ارسال
یه نمونه کد پیدا کردم که اینکار رو میکنه!
فقط اینکه متن فارسی که ارسال میکنم به صورت علامت سوال به گوشی میرسه!
کسی میدونه باید چیکار بکنم؟
چند تا روش توی نت پیدا کردم ولی فایده نداشت!!!

amirzandi
دوشنبه 02 تیر 1393, 18:13 عصر
متن فارسی را باید تبدیل به کد هایی کنید که شبکه موبایل ایران آنها را ترجمه می کنه به فارسی. از هر کامپوننتی برای ارسال استفاده می کنید این ترجمه را انجام می دهند.

morteza271
دوشنبه 02 تیر 1393, 18:15 عصر
متن فارسی را باید تبدیل به کد هایی کنید که شبکه موبایل ایران آنها را ترجمه می کنه به فارسی. از هر کامپوننتی برای ارسال استفاده می کنید این ترجمه را انجام می دهند.
من الان از کامپوننت استفاده نمیکنم و دارم از دستورات at command استفاده میکنم برای ارسال پیامک...

abdullah20
دوشنبه 02 تیر 1393, 18:16 عصر
ممنونم دوست عزیز.
میتونم بپرسم شما کامپوننت kylix رو چقدر خریداری کردین که قصد فروشش (به مبلغ 20 هزار تومان) رو دارین؟!!!
این را من خودم 2 سال پیش 700 هزار تومان خریداری کردم

amirzandi
دوشنبه 02 تیر 1393, 18:27 عصر
من الان از کامپوننت استفاده نمیکنم و دارم از دستورات at command استفاده میکنم برای ارسال پیامک...

تبدیلش کنید به اسکی کد و تست کنید

morteza271
دوشنبه 02 تیر 1393, 18:32 عصر
دوستان من الان هم با دستورات at command مشکل دارم و هم با کامپوننت kylix

با دستورات at که همونطور که قبلا گفتم پیام فارسی رو ارسال میکنه ولی متنش رو خراب میکنه.
وقتی که کد زیر رو هنگام اتصال به پورت میزنم هم اصلا پیام خالی ارسال میکنه!!!
port.Encoding = Encoding.UTF8;

مشکل با کامپوننت هم به این صورته که :
با کمک دوستان تونستم به مودم وصل بشم.
ولی وقتی میخوام پیامی رو با کد زیر ارسال کنم خطای(تصویر) زیر رو میده :
long lSendReference; axKylixSMS1.RequestDeliveryReport = Convert.ToInt16(true);
axKylixSMS1.SendInterval = 1;
axKylixSMS1.SendRetryTimes = 1;
axKylixSMS1.SendTimeout = 28;
axKylixSMS1.SMSValidity = 5;
lSendReference = axKylixSMS1.SendSMS(txtNumber.Text, txtText.Text);


if (lSendReference < 1)
axKylixSMS1.GetLastError(1);
else
MessageBox.Show("\nSent successfully.\n\nReference: " + lSendReference.ToString());

120425
دوستان لطفا راهنمایی کنین...
با تشکر...

morteza271
دوشنبه 02 تیر 1393, 18:34 عصر
تبدیلش کنید به اسکی کد و تست کنید
منظورتون رو متوجه نشدم!
میشه بیشتر توضیح بدین و اگه امکانش هست نمونه کدش رو بدین؟

amirzandi
دوشنبه 02 تیر 1393, 18:35 عصر
استرینگی که متن اس ام اس هست رو encoding اش رو باهاش بازی کنین فک کنم فارسی بفرسته. من خیلی وقت پیش این کار رو کردم… یادم نیست دقیق

amirzandi
دوشنبه 02 تیر 1393, 18:39 عصر
دوستان من الان هم با دستورات at command مشکل دارم و هم با کامپوننت kylix

با دستورات at که همونطور که قبلا گفتم پیام فارسی رو ارسال میکنه ولی متنش رو خراب میکنه.
وقتی که کد زیر رو هنگام اتصال به پورت میزنم هم اصلا پیام خالی ارسال میکنه!!!
port.Encoding = Encoding.UTF8;


مشکل با کامپوننت هم به این صورته که :
با کمک دوستان تونستم به مودم وصل بشم.
ولی وقتی میخوام پیامی رو با کد زیر ارسال کنم خطای(تصویر) زیر رو میده :
long lSendReference; axKylixSMS1.RequestDeliveryReport = Convert.ToInt16(true);
axKylixSMS1.SendInterval = 1;
axKylixSMS1.SendRetryTimes = 1;
axKylixSMS1.SendTimeout = 28;
axKylixSMS1.SMSValidity = 5;
lSendReference = axKylixSMS1.SendSMS(txtNumber.Text, txtText.Text);


if (lSendReference < 1)
axKylixSMS1.GetLastError(1);
else
MessageBox.Show("\nSent successfully.\n\nReference: " + lSendReference.ToString());

120425
دوستان لطفا راهنمایی کنین...
با تشکر...

جی اس ام مودم را بکشید و دوباره به سیستم وصل کنید.

c0mmander
دوشنبه 02 تیر 1393, 19:13 عصر
منم این مشکل رو داشتم برای همین بهت پیشنهاد ندادم .. اما خیلی برام جالبته که بشه فارسی رو هم به کام فرستاد... جنابamirzandi (http://barnamenevis.org/member.php?199599-amirzandi) تنبلی نکن راهش رو به یاد بیار چون خیلی خوب میشه اگه بشه فارسی هم مستقیم فرستاد.

من برات گشتم داخل سیستمم یک نسخه ای داشتم از این کامپوننتته که الان که تستش کردم اس ام اس هم با مودم (Nokia 6303i classic) بصورت فارسی فرستاد و مشکلی نداشت برنامه های نمونه داره فقط کرکش رو درست بزار داخل system32 و از اون نسخه دمو multidivice استفاده کن خلاصه تره ..

لینک : http://www.mediafire.com/download/285y2aqqq89n5w3/Kylix.SMS_v5.0.5.1.rar

c0mmander
دوشنبه 02 تیر 1393, 19:24 عصر
من الان داشتم داخل msdn ول میگشتم که یه چیزی دیدم msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx

Write(Byte[], Int32, Int32) (http://msdn.microsoft.com/en-us/library/ms143551.aspx) بصورت بایت هم مبشه ارسال کرد ... پس فکر کنم اگر رشته رو به بایت تبدیل کنیم میشه الان تست میکنم.. نتیجه رو میگم.

morteza271
دوشنبه 02 تیر 1393, 19:57 عصر
منم این مشکل رو داشتم برای همین بهت پیشنهاد ندادم .. اما خیلی برام جالبته که بشه فارسی رو هم به کام فرستاد... جنابamirzandi (http://barnamenevis.org/member.php?199599-amirzandi) تنبلی نکن راهش رو به یاد بیار چون خیلی خوب میشه اگه بشه فارسی هم مستقیم فرستاد.

من برات گشتم داخل سیستمم یک نسخه ای داشتم از این کامپوننتته که الان که تستش کردم اس ام اس هم با مودم (Nokia 6303i classic) بصورت فارسی فرستاد و مشکلی نداشت برنامه های نمونه داره فقط کرکش رو درست بزار داخل system32 و از اون نسخه دمو multidivice استفاده کن خلاصه تره ..

لینک : http://www.mediafire.com/download/285y2aqqq89n5w3/Kylix.SMS_v5.0.5.1.rar
ممنونم دوست عزیز.
ولی با این نسخه هم تست کردم بازم همون خطا رو میده موقع ارسال پیامک!!!

morteza271
دوشنبه 02 تیر 1393, 19:58 عصر
استرینگی که متن اس ام اس هست رو encoding اش رو باهاش بازی کنین فک کنم فارسی بفرسته. من خیلی وقت پیش این کار رو کردم… یادم نیست دقیق
نمیدونم من IQم پایینه یا اینکه شما کم و بی حوصله توضیح میدین!!!
متاسفانه متوجه نمیشم باید چیکار کنم!!!

shahryari
دوشنبه 02 تیر 1393, 20:12 عصر
نمیدونم من IQم پایینه یا اینکه شما کم و بی حوصله توضیح میدین!!!
متاسفانه متوجه نمیشم باید چیکار کنم!!!

به زبان انگلیسی سرچ کنی مقدار بسیار زیادی کد در این باره بدست میارید مثال: send sms via AT Command unicode
http://www.jiramot.info/c-send-sms-via-at-command-unicode-pdu

morteza271
دوشنبه 02 تیر 1393, 20:37 عصر
به زبان انگلیسی سرچ کنی مقدار بسیار زیادی کد در این باره بدست میارید مثال: send sms via AT Command unicode
http://www.jiramot.info/c-send-sms-via-at-command-unicode-pdu
هر چقدر که تونستم سرچ کردم همش هم به زبان انگلیسی!!!
ولی فایده ای نداشت!!

morteza271
دوشنبه 02 تیر 1393, 20:47 عصر
دوستان ببینید الان من این کدها رو نوشتم :

تابع برای اتصال به مودم :

axKylixSMS1.RegisterName = "000000000000000";
axKylixSMS1.RegisterCode = "000000000000000000000000000000000000000000";
axKylixSMS1.ConnectionMode = 1;
axKylixSMS1.ConnectionProtocol = 1;
axKylixSMS1.ConnectionParameter = txtComName.Text;
if (axKylixSMS1.Connect() != 1)
axKylixSMS1.GetLastError(1);
else
MessageBox.Show("Connect Ok.")


که بدون مشکل به مودم وصل میشه.
و با این کد قصد ارسال یک پیامک دارم :

axKylixSMS1.RequestDeliveryReport = 1;
axKylixSMS1.IsConcatenatedSMS = 1;
axKylixSMS1.SendInterval = 1;
axKylixSMS1.SendRetryTimes = 1;
axKylixSMS1.SendTimeout = 28;
axKylixSMS1.SMSValidity = 5;
long lSendReference = axKylixSMS1.SendSMS(txtNumber.Text, txtText.Text);


if (lSendReference < 1)
axKylixSMS1.GetLastError(1);
else
MessageBox.Show("\nSent successfully.\n\nReference: " + lSendReference.ToString());


ولی ارسال نمیکنه و بعد از چند ثانیه خطا میده.
تصویر خطا رو هم در تایپیک های قبلی گذاشتم.

کسی نمیدونه مشکل از کجاست؟

c0mmander
سه شنبه 03 تیر 1393, 16:34 عصر
والا این کدت که درسته مشکلی هم نداره ... اگر اشتباهی هم است داخل این تکه کد نیست.

این kylix یک برنامه دمو داره یک تستی کن ببن اصلا با اون برنامه میتونه بفرسته؟! اگر نفرستاد یعنی اینکه باید این کتاب خونه رو کلا بی خیال بشی بری دوباره سراغ دستی با at command اگر فرستاد و مشکلی هم نداشت باید ببینی کجای برنامه اشتباه کردی. اما این فطع کدت مشکلی نداره.
-------------------------------------
برای ارسال متن فارسی با AT command اون روشی که گفتم (استفاده از بایت) به هیچ دردی نمیخوره ..تنها راه ممکنه اینکه اول دستگاه داخل UDP mode برری و همین طور باید هگز یا UCS2 قرار بدی برای .. و بصورت کلی باید یک فرمت UDP که تلفیقی از شماره تلفن دریافت کننده و متن به هگز 16 باتی هست نه 8 و نه 7 به دستگاه بفرستی و به جای شماره تلفن که وقتی میخوای بصورت تکس استفاده کنی از مودم باید طول رشته هگز شده همون به UPD ساخته شده تقسیم بر 2 و منهای 1 کنی و قرار بدی.

اینم چندتا لینک مفید که اگر خواستی به صورت AT استفاده کنی به دردت میخورده:
http://twit88.com/home/utility/sms-pdu-encode-decode
http://www.codeproject.com/Questions/209636/use-pdu-format-for-send-persian-sms-by-gsm-modem?display=Print ---> حتما ببین این رو چون خیلی مفیده.
http://www.codeproject.com/Articles/20420/How-To-Send-and-Receive-SMS-using-GSM-Modem
http://www.codeproject.com/Articles/8372/Using-VB-NET-to-Decode-PDU-string
http://www.smssolutions.net/tutorials/gsm/sendsmsat/

morteza271
سه شنبه 03 تیر 1393, 17:34 عصر
این kylix یک برنامه دمو داره یک تستی کن ببن اصلا با اون برنامه میتونه بفرسته؟!
اتفاقا با اون هم تست کردم و دقیقا مثل برنامه خودمه و به مودم وصل میشه ولی وقتی ارسال میکنی همون خطای بالا رو میده!!!

با at command هم که مشکل ارسال متن فارسی رو دارم و هنوز نتونستم حلش کنم!!!
حالا این رفرنس های شما رو هم نگاه میکنم ببینم درست میشه یا نه! ممنون
از دوستان اگه کسی راه حلی به ذهنش میرسه لطفا دریغ نکنه...

morteza271
سه شنبه 03 تیر 1393, 17:51 عصر
اول عکس که گذاشتی که خیلی داغونه!

دوم میزان باد رو درست تنظیم کن با توجه به عکس فکر کنم باید 9600 باشه..

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

چهارم یک تستی کن پروت رو ببین یک وقتی پورت دست یک برنامه دیگه ای نباشه.

پنجم میتونی از Mcore هم استفاده کنی کنی
دوست عزیز اینجا نوشتین که میشه از mcore استفاده کرد!
من هر چی تو نت میگردم نمیتونم یه نسخه واسه دانلود پیدا کنم. شما دارین این کامپوننت رو؟
و اصلا چطوری هست این کامپوننت؟ خوبه مشکلی ایجاد نمیکنه؟

abdullah20
سه شنبه 03 تیر 1393, 18:08 عصر
کد شما مشکلی نداره مشکل مودم شما است
ببینید کامپوننت کایلیکس با 60 درصد موبایل ها بدون مشکل کار میکند
و با 99 درصد مودم های gsm هم مشکلی نداره
متاسفانه مودم شما جزء 1 درصد است
شما از چه ورژن کامپوننت استفاده میکنید؟

c0mmander
سه شنبه 03 تیر 1393, 18:12 عصر
من با اون کامپوننت کار نکردم اما شنیده بودم که از نظر امکانات فرقی با Kylix نداره و خیلی هم بهتره لینک : http://barnamenevis.org/showthread.php?262157-%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-SMS-MCore

morteza271
سه شنبه 03 تیر 1393, 18:24 عصر
شما از چه ورژن کامپوننت استفاده میکنید؟
من هم از ورژن 5 و هم از ورژن 5.5 کامپوننت استفاده کردم ولی فایده ای نداشت!!!

مطمئن هستید که مشکل از مودمه و کامپوننت مودم رو ساپورت نمیکنه؟

c0mmander
سه شنبه 03 تیر 1393, 18:51 عصر
نمیشه گفت که اشکل از مودمت باشه ممکنه که فونت فارسی رو ساپروت نمیکنه از این AT زیر استفاده کن ببین از چه فرمت هایی ساپورت میشه:


AT+CSCS=?

خروچی که برای گوشی من میده اینه :


+CSCS: ("UCS2","GSM","PCCP437","PCDN","IRA","8859-1","HEX")

مهم این دو تاست : UCS2 و HEX

morteza271
سه شنبه 03 تیر 1393, 19:10 عصر
اون دستور رو که اجرا کردم این خروجی رو داد :


+CSCS: ("IRA", "GSM", "HEX", "PCCP437", "8859-1", "UCS2", "UCS2_0X81")

پس با فارسی مشکلی نداره درسته؟

c0mmander
سه شنبه 03 تیر 1393, 19:36 عصر
مودم که وقتی AT رو ساپروت میکنه که مشکلی نداره اما احتمالا توسط کلیکس درست ساپورت نمیشه .

این برنامه رو تست کن : http://www.mediafire.com/download/mp42vd078avi32v/SmsSandCsharp.rar ببین بالاخره فارسی رو میفرسته یا نه؟

morteza271
سه شنبه 03 تیر 1393, 20:42 عصر
با این برنامه ای که دادین هم چک کردم.
به مودم وصل شد ولی وقتی ارسال sms رو میزنم خطا میده.
اینم تصویر خطا :
120461
به یه فایل dll نیاز داره که نیست!
اون فایل فشرده ای که دانلود کردم فقط یه فایل exe داره و هیچ فایل دیگه ای نداره!!!

morteza271
سه شنبه 03 تیر 1393, 21:39 عصر
دوستان دارم دیوونه میشم تو رو خدا یه نفر کمک کنه!!!

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

try
{
string path = "07929051983750F211000B929051292217F00008AA08063306 4406270645" + Char.ConvertFromUtf32(26);


if (!PortSMS.IsOpen)
PortSMS.Open();
PortSMS.DiscardInBuffer();
PortSMS.DiscardOutBuffer();


string atCommandStr = "AT";
PortSMS.WriteLine(atCommandStr + (char)13);
txtLog.Text += "\r\n" + PortSMS.ReadExisting();


atCommandStr = "AT+CSCS=\"UCS2\"\n";
PortSMS.WriteLine(atCommandStr + (char)13);
txtLog.Text += "\r\n" + PortSMS.ReadExisting();


//baraye moshakas kardan halate PDU
atCommandStr = "AT+CMGF=0";
PortSMS.WriteLine(atCommandStr + (char)13);
txtLog.Text += "\r\n" + PortSMS.ReadExisting();


atCommandStr = "AT+CMGS=22";
PortSMS.WriteLine(atCommandStr + (char)13);
txtLog.Text += "\r\n" + PortSMS.ReadExisting();


PortSMS.WriteLine(path + (char)13);
txtLog.Text += "\r\n" + PortSMS.ReadExisting();


PortSMS.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
txtLog.Text += "\r\n" + "-------------------------------";
}


بعد از هر بار اجرای دستور نتیجه رو داخل یه تکست باکس میذارم که نتیجه نهایی به این صورته!!!




OK




OK






OK




>
ERROR


-------------------------------

یعنی آخری که همون کد pdu رو اجرا میکنم خطا میده!!

تو رو خدا یکی بگه باید چیکار کنم.........................................

c0mmander
سه شنبه 03 تیر 1393, 21:41 عصر
این فایل DLL که فکر کنم داره میگه : http://www.mediafire.com/download/6d315s26l31p50l/sms.rar

morteza271
سه شنبه 03 تیر 1393, 21:43 عصر
جالبه خط اول کدهای بالا رو دقت کنین :

string path = "07929051983750F211000B929051292217F00008AA08063306 4406270645" + Char.ConvertFromUtf32(26);


وقتی میگم مقدار path توی یه MessageBox نشون بده اینو نشون میده :
120463

مشکل به خاطر اون مربع آخر عبارت نیست؟!!!

دوستان در ضمن خود مودم وقتی وصل میشه یه نرم افزار نصب میکنه به این اسم :
D-Link Connection Manager
که با این نرم افزار وقتی پیامک فارسی ارسال میکنم مشکلی نداره و به درستی ارسال و در مقصد دریافت میشه!!
پس مطمئنا مودم فارسی رو پشتیبانی میکنه!

c0mmander
سه شنبه 03 تیر 1393, 21:47 عصر
دلیلش رو فهمیدم
مشکلت اینکه صفر داره شمارت... یعنی اینکه :



SMSC#‎‎‎‎‎‎0915897xxxx
Sender:0915922xxxx
TP_PID:00
TP_DCS:08
TP_DCS-popis:Uncompressed Text
class:0
Alphabet:UCS2(16)bit

سلام
Length:4

شماره موبایلت باید باشه 98915922xxxx من شماره رو فیلتر کردم فکر نکنی باید x باشه شماره رو باید بدون صفر استفاده کنی داخل اون لینکی گفتم خیلی مفیده همین مشکل رو گفته بود..

morteza271
سه شنبه 03 تیر 1393, 21:49 عصر
این فایل DLL که فکر کنم داره میگه : http://www.mediafire.com/download/6d315s26l31p50l/sms.rar

بعد از اینکه کلید ارسال رو میزنم این نتیجه رو نشون میده :
OK


OK


>
ERROR

دیگه واقعا دارم دیوونه میشم!!!!
هرکار میکنم نمیشه!!!

البته وقتی متن انگلیسی هم میخوام ارسال کنم همینطوریه!!!

morteza271
سه شنبه 03 تیر 1393, 21:51 عصر
دلیلش رو فهمیدم
مشکلت اینکه صفر داره شمارت... یعنی اینکه :



SMSC#‎‎‎‎‎‎‎0915897xxxx
Sender:0915922xxxx
TP_PID:00
TP_DCS:08
TP_DCS-popis:Uncompressed Text
class:0
Alphabet:UCS2(16)bit

سلام
Length:4

شماره موبایلت باید باشه 98915922xxxx من شماره رو فیلتر کردم فکر نکنی باید x باشه شماره رو باید بدون صفر استفاده کنی داخل اون لینکی گفتم خیلی مفیده همین مشکل رو گفته بود..

یعنی چطوری باید وارد کنم؟
مثلا اگه این شماره مقصد باشه باید چطوری وارد کرد تا درست باشه؟

09151234560

c0mmander
سه شنبه 03 تیر 1393, 22:02 عصر
989151234560 باید به این صورت باشه...

c0mmander
سه شنبه 03 تیر 1393, 22:08 عصر
ببین استاندارد UDP اصلا صفر نداره اولش حتی از 9151234560 هم باشه بازم مفرسته...

morteza271
سه شنبه 03 تیر 1393, 22:40 عصر
989151234560 باید به این صورت باشه...
نه متاسفانه بازم ارسال نمیکنه!!!
بازم همون خروجی قبلی رو میده. هم برنامه خودم و هم برنامه ای که شما معرفی کردین.

morteza271
سه شنبه 03 تیر 1393, 23:37 عصر
دوستان یه چیز جدید فهمیدم!!!
من تا الان متن انگلیسی ارسال نکرده بودم ولی الان که اونم تست میکنم میبینم که متن انگلیسی رو هم خراب میفرسته و یعنی هم فارسی و هم انگلیسی رو به صورت حروف ناخوانا به مقصد ارسال میکنه.
اینم کدهایی که نوشته شده :
تابع اتصال به مودم :

private bool Connect_Port()
{
receiveNow = new AutoResetEvent(false);
PortSMS = new SerialPort();
try
{
PortSMS.PortName = "COM20";
PortSMS.BaudRate = 9600;
PortSMS.DataBits = 8;
PortSMS.StopBits = StopBits.One;
PortSMS.Parity = Parity.None;
PortSMS.ReadTimeout = 300;
PortSMS.WriteTimeout = 300;
PortSMS.Encoding = Encoding.GetEncoding("iso-8859-1");
PortSMS.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
PortSMS.Open();
PortSMS.DtrEnable = true;
PortSMS.RtsEnable = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return false;
}
return true;
}


تابع ارسال sms :

private bool SendSMS()
{
try
{
string recievedData = ExecCommand(PortSMS, "AT", 300);
txtLog.Text += "\r\n" + recievedData;


recievedData = ExecCommand(PortSMS, "AT+CMGF=1", 300);
txtLog.Text += "\r\n" + recievedData;


String command = "AT+CMGS=\"" + txtNumber.Text + "\"";
recievedData = ExecCommand(PortSMS, command, 300);
txtLog.Text += "\r\n" + recievedData;


command = txtText.Text + char.ConvertFromUtf32(26) + "\r";
recievedData = ExecCommand(PortSMS, command, 3000);
txtLog.Text += "\r\n" + recievedData;


if (recievedData.EndsWith("\r\nOK\r\n"))
{
this.txtLog.Text += "\r\n" + "Message has sent successfully";
return true;
}
else if (recievedData.Contains("ERROR"))
{
this.txtLog.Text += "\r\n" + "Failed to send message";
return false;
}
return false;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return false;
}
finally
{
txtLog.Text += "\r\n" + "-------------------------------";
}
}


و اینم تابعی که دستورات رو اجرا میکنه :

public string ExecCommand(SerialPort port, string command, int responseTimeout)
{
try
{
port.DiscardOutBuffer();
port.DiscardInBuffer();
receiveNow.Reset();


port.Write(command + "\r");


string input = ReadResponse(port, responseTimeout);
if ((input.Length == 0) || ((!input.EndsWith("\r\n> ")) && (!input.EndsWith("\r\nOK\r\n"))))
txtLog.Text += "\r\n" + "No success message was received." + "\r\n" + input;


return input;
}
catch (Exception ex)
{
return ex.Message;
}
}


تو رو خدا هرکی میتونه کمکم کنه که بدجوری کارم گیره!!!
الان 3 روزه درگیرش هستم و هنوز که هنوزه نتونستم حتی یک پیامک درست ارسال کنم!!! :گریه::گریه::گریه:

c0mmander
چهارشنبه 04 تیر 1393, 05:52 صبح
PortSMS.ReadTimeout = 300; PortSMS.WriteTimeout = 300;
PortSMS.Encoding = Encoding.GetEncoding("iso-8859-1");




برای پورت سریال encoding قرار نده.



recievedData = ExecCommand(PortSMS, "AT+CMGF=1", 300);
txtLog.Text += "\r\n" + recievedData;




وقتی در حالت تکس میخوای استفاده کنی فقط کارکتر های 8 بیتی رو ارسال میکنه و کارتر های بالای 8 بیت ارسال نمیشن. حتی اگر encoder پورت رو هم عوض کنی بازم به همین صورتی ارسال میشه. حالت شماره یک {AT+CMGF=1} یعنی حالت متنی فقط برای کارکتر های اینگلیسی کاربرد داره که اونم باید از UFT8 استفاده کنی . قرار دادن اینکدر برای پورت کام همین میشه که فونت ناخوانا مفرسته .

--------------
در اخر هم من برنامه که خودم قبلا نوشته بودم و بعد از دیشب بهینه اش کردم گذاشتم میتونید از اون استفاده کنید.
http://barnamenevis.org/showthread.php?196747-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%87%D8%A7%DB%8C-Open-Source&p=2048635&viewfull=1#post2048635

morteza271
چهارشنبه 04 تیر 1393, 18:56 عصر
من حتی اون دستور Encoding رو هم برداشتم ولی بازم هم متن فارسی و هم متن انگلیسی رو خراب ارسال میکنه!!!

من با پروژه شما هم تست کردم ولی ERROR میده و پیام رو ارسال نمیکنه!!
آخه دلیلش چیه که اینطوریه؟!!!

morteza271
چهارشنبه 04 تیر 1393, 19:05 عصر
دوستان من وقتی که دستورات زیر رو اجرا میکنم متون انگلیسی رو درست میفرسته ولی به جای حروف فارسی علامت سوال ارسال میکنه!!!
"AT+CSCS=\"GSM\""
"AT+CSCS=\"IRA\""

شما نمیدونین باید چیکار کنم تا حروف فارسی رو هم درست ارسال کنه؟!!!

c0mmander
چهارشنبه 04 تیر 1393, 19:15 عصر
فکر کنم باید قبل از هر کاری باید سیم کارت رو روشن کنی با استفاده از این کد :



AT+CFUN=1

بعدش اقدام کن به اس ام اس فرستان

بعد اصلا ببین شارژ داره

morteza271
چهارشنبه 04 تیر 1393, 22:15 عصر
نه اینم فایده ای نداشت!!!


بعد اصلا ببین شارژ داره
حواسم هست شارژ داره.
در ضمن اگه نداشته باشه کلا ارسال نمیکنه نه اینکه ارسال کنه ولی متن رو خراب کنه!!!

ببینید این الان آخرین تابع ارسال پیامک منه که متن انگلیسی رو درست ارسال میکنه ولی متن فارسی رو اشتباه ارسال میکنه.


private bool SendSMS()
{
try
{
string recievedData = "";


recievedData = ExecCommand(PortSMS, "AT+CFUN=1" + Environment.NewLine, 300);
txtLog.Text += "\r\n" + recievedData;


recievedData = ExecCommand(PortSMS, "AT+CMGF=1" + Environment.NewLine, 300);
txtLog.Text += "\r\n" + recievedData;


recievedData = ExecCommand(PortSMS, "AT+CSCS=\"IRA\"" + Environment.NewLine, 300);
txtLog.Text += "\r\n" + recievedData;


String command = "AT+CMGS=\"" + txtNumber.Text + "\"" + Environment.NewLine;
recievedData = ExecCommand(PortSMS, command, 300);
txtLog.Text += "\r\n" + recievedData;


command = txtText.Text + char.ConvertFromUtf32(26) + "\r";
recievedData = ExecCommand(PortSMS, command, 5000);
txtLog.Text += "\r\n" + recievedData;


if (recievedData.EndsWith("\r\nOK\r\n"))
{
this.txtLog.Text += "\r\n" + "Message has sent successfully";
return true;
}
else if (recievedData.Contains("ERROR"))
{
this.txtLog.Text += "\r\n" + "Failed to send message";
return false;
}
return false;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return false;
}
finally
{
txtLog.Text += "\r\n" + "-------------------------------";
}
}


حالا چیکار کنم تا فارسی رو هم درست بفرسته؟؟
دوستان خواهشا کمک کنین....

khokhan
چهارشنبه 04 تیر 1393, 22:47 عصر
حالا چیکار کنم تا فارسی رو هم درست بفرسته؟؟
دوستان خواهشا کمک کنین....:لبخند:

.................................................. ....................................

morteza271
چهارشنبه 04 تیر 1393, 23:11 عصر
دوست عزیز این برنامه ای که فرستادین چطوریه؟!!

واسه وصل شدن به مودم جی اسم ام باید چه تنظمیاتی وارد کنم؟
پورت مودم هم COM23 هست!
چی باید توی تنظیمات برنامه وارد کنم تا به مودم وصل بشه؟!

morteza271
پنج شنبه 05 تیر 1393, 11:34 صبح
من همچنان درگیر همین مسئله هستم ...
از کلیه دوستانی که در این زمینه اطلاعات دارن عاجزانه درخواست کمک میکنم...

MehdiElexal
پنج شنبه 05 تیر 1393, 12:30 عصر
شما با دستورات AT Command خیلی راحت میتونید مسیج فارسی ارسال کنید .
دوست عزیز اگر شما با دستورات معمولی این کارو کنید بله متن مسیج خراب میشه
شما at+cmgf=0 قرار بده تا بتونی بصورت pdu متن ارسال کنی
سپس متن مورد نظرت رو به فرمت pdu تبدیل کن و براحتی با همون دستورات ارسال میتونید مسیج فارسی ارسال کنید
برای دریافت هم در همین مد کافیه تبدیل رو عکس کنید و از pdu به متن برگردونید تا مسیج هاتون رو فارسی دریافت کنید و نیاز به این همه مشقت و استفاده از چیزای دیگه نیست رفیق
موفق باشید

MehdiElexal
پنج شنبه 05 تیر 1393, 12:33 عصر
مرتضی جان شما چرا از مودم استفاده میکنید ؟ چرا از ماژول استفاده نمیکنید که خیلی راحت تر ارسال و دریافت پیامک داره ؟ شایدم منظورتون همونه
مثل SIM900 یا SIM908 که جی پی اس هم داره
خیلی بهتر و کم مصرف تر و کم حجم تر از مودم ها هستند
شما مدل مودم یا ماژولتون چی هست ؟

morteza271
پنج شنبه 05 تیر 1393, 12:54 عصر
شما با دستورات AT Command خیلی راحت میتونید مسیج فارسی ارسال کنید .
دوست عزیز اگر شما با دستورات معمولی این کارو کنید بله متن مسیج خراب میشه
شما at+cmgf=0 قرار بده تا بتونی بصورت pdu متن ارسال کنی
سپس متن مورد نظرت رو به فرمت pdu تبدیل کن و براحتی با همون دستورات ارسال میتونید مسیج فارسی ارسال کنید
برای دریافت هم در همین مد کافیه تبدیل رو عکس کنید و از pdu به متن برگردونید تا مسیج هاتون رو فارسی دریافت کنید و نیاز به این همه مشقت و استفاده از چیزای دیگه نیست رفیق
موفق باشید
ممنون دوست عزیز.
ولی با استفاده pdu هم تست کردم ولی هرکاری میکنم خطا میده و اصلا ارسال نمیکنه!!
حتی یکی از دوستان هم یه نمونه برنامه داد که از pdu استفاده میکرد و اونم همینطوری خطا میداد.
بعد اینکه متن pdu شده رو توی پورت write میکردم نتیجه ERROR میداد و پیامک ارسال نمیشد!!!

شما چه راه حلی دارین؟
به نظرتون مشکل از کجاست که به صورت معمولی ارسال میکنه ولی اشتباه ارسال میکنه ولی به صورت pdu رو ارسال نمیکنه؟!!

morteza271
پنج شنبه 05 تیر 1393, 12:56 عصر
مرتضی جان شما چرا از مودم استفاده میکنید ؟ چرا از ماژول استفاده نمیکنید که خیلی راحت تر ارسال و دریافت پیامک داره ؟ شایدم منظورتون همونه
مثل SIM900 یا SIM908 که جی پی اس هم داره
خیلی بهتر و کم مصرف تر و کم حجم تر از مودم ها هستند
شما مدل مودم یا ماژولتون چی هست ؟

راستش منظورتون رو از ماژول متوجه نمیشم!!!
میشه بیشتر توضیح بدین چی هستن؟

من از این مودم استفاده میکنم :
D-Link DWM-156 3.75G HSUPA USB Adapter (http://www.digikala.com/Product/DKP-5236/D-Link-DWM-156-3-75G-HSUPA-USB-Adapter/%D8%AF%DB%8C-%D9%84%DB%8C%D9%86%DA%A9-%D8%A2%D8%AF%D8%A7%D9%BE%D8%AA%D9%88%D8%B1-%DB%8C%D9%88-%D8%A7%D8%B3-%D8%A8%DB%8C-DWM-156)
اگه بتونین کمکم کنین که به نتیجه برسم خیلی ازتون ممنون میشم.
حداقل طوری باشه که متوجه بشم مشکل از مودمه یا از چیز دیگه ای!!!!!!!
بازم ممنونم دوست عزیز....

MehdiElexal
پنج شنبه 05 تیر 1393, 14:30 عصر
شما یه کاری کن برای اینکه متوجه شی تبدیلاتت درست انجام میشه بعد تبدیل کد هات رو به این سایت بده ببین متن رو درست بر میگردونه یا نه
اگر درست داد کد پی دی یوتون درسته
http://www.diafaan.com/sms-tutorials/gsm-modem-tutorial/online-sms-pdu-decoder/
اگر نه عملیات تبدیل مشکل داره
ماژول ها تشکیل شده اند از یک سری قطعات الکترونیکی روی یک برد و مثل مودم شما جعبه و خوشگل و اینا نیستند اما بسیار کاربردی هستند
مثال یک مودم جی اس ام ماژول :
http://www.hificat.com/sim900/images/sim900a.jpg

من چون کارم الکترونیک هست برای خودم مدارش رو چاپ کردم شمام خواستی فایلش رو میتونم بدم بدی چاپ خونه برات چاپ کنن بعد قطعات بگیری و مونتاژ کنی
یا نه میتونم بدم بچه های شرکت خودمون برات مونتاژ کنن اما هزینه مونتاژ داره برات

حال از بحث اصلی دور نشیم شما اول تست پی دی یو رو انجام بده

morteza271
پنج شنبه 05 تیر 1393, 17:29 عصر
شما یه کاری کن برای اینکه متوجه شی تبدیلاتت درست انجام میشه بعد تبدیل کد هات رو به این سایت بده ببین متن رو درست بر میگردونه یا نه
اگر درست داد کد پی دی یوتون درسته
http://www.diafaan.com/sms-tutorials...s-pdu-decoder/ (http://www.diafaan.com/sms-tutorials/gsm-modem-tutorial/online-sms-pdu-decoder/)

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

بازم ممنون بابت راهنمایی هاتون...

abdullah20
جمعه 06 تیر 1393, 16:29 عصر
من کاری به بحث at command ندارم
در رابطه با پیامی که به من دادید
تو پست قبلیم گفتم که kylix با مودم D-Link مشکل داره و نمیتونه پیامک ارسال کنه و کاری به نسخه اورجینال و کرک شده نداره (احتمالا نمیتونه مرکز کنترل را درست از سیم کارت بخونه)
شما با موبایلتون تست کنید میبینید که بدون مشکل پیامک ارسال میکنه
مثلا کامپوننت kylix با مودم WaveCom GPRS Modem کاملا سازگاره

shahryari
جمعه 06 تیر 1393, 16:59 عصر
بعضی از مودمهای برخی دستورات at command رو ساپورت نمیکنن
در آینده اگر فرصتی بود قصد دارم یک کامپوننت برای ارسال و دریافت پیام توسط جی اس ام مودم را بنویسم

morteza271
شنبه 07 تیر 1393, 13:51 عصر
دوستان بالاخره به کمک دوست خوبمون c0mmander (http://barnamenevis.org/member.php?332447-c0mmander) یه نمونه پروژه پیدا کردم که با اون تونستم پیام فارسی هم ارسال کنم.
ظاهرا نحوه تبدیل متن به کد pdu اون پروژه با اونی که من استفاده میکردم فرق داره که با اون ارسال شد.
فقط اون پروژه به زبان vb نوشته شده و الان قصد دارم تبدیلش کنم به سی شارپ.
این لینک اون پروژه هستش :
فرستادن sms فارسی از طریق GSM Modem (http://barnamenevis.org/showthread.php?87880-%D9%81%D8%B1%D8%B3%D8%AA%D8%A7%D8%AF%D9%86-sms-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%A7%D8%B2-%D8%B7%D8%B1%DB%8C%D9%82-GSM-Modem)از دوستان اگه کسی قبلا اینکار رو کرده ممنون میشم در این راه کمکم کنه.
با تشکر فراوان از همتون و بخصوص دوست خوبم c0mmander که واقعا در این چند روز خیلی اذیتشون کردم و ایشون خیلی پیگیر مشکل من بودن و بالاخره خودشون هم تونستن راهشو واسم پیدا کنن.
از صمیم قلب برای ایشون و بقیه دوستان که کمکم کردن آرزوی موفقیت دارم و امیدوارم به هرچی که میخواین برسین.

فعلا میرم دنبال تبدیل پروژه vb به سی شارپ و حتما دوباره برای قسمت های بعدی پروژه مزاحمتون میشم...
موفق و پیروز باشید

morteza271
شنبه 07 تیر 1393, 19:36 عصر
دوستان من همون پروژه ای که معرفی کردم رو به سی شارپ تبدیل کردم.
فقط نمیدونم چرا پیامک ارسال نمیکنه!!!
جالبه حتی همه چیز باهم یکی هست حتی کد pdu که هر دو میدن یکی هستش ولی نمیدونم چرا ارسال نمیشه.

فقط متوجه شدم که وقتی میخوام از این دستور استفاده کنم :

com.Output = "AT+CMGS=" + len + Environment.NewLine;

البته نه همین دستور.
کلا زمانی که میخوام مقداری رو توی OutPut پورت بنویسم خطای زیر رو میده :
Exception from HRESULT: 0x800A1F52

توی این پروژه از کامپوننت MSComm32 استفاده شده.
اینم بگم که به درستی رجیستر شده و مشکل از اون نیست!
جالبه همون کدها توی پروژه اصلی که به زبان VB هستش پیامک رو ارسال میکنه ولی توی پروژه من به زبان سی شارپ ارسال نمیکنه و همون خطای بالا رو میده!!
چیکار کنم دوستان؟ کسی ایده ی خاصی نداره؟

morteza271
شنبه 07 تیر 1393, 21:20 عصر
دوستان کسی نمیدونه مشکل از کجاست؟!!

mz6488
شنبه 07 تیر 1393, 21:36 عصر
کلا از وب سرویس استفاده کنیم بهتر نیست؟؟دردسرش خیلی کمتره.هزینه ش هم اگه کمتر نباشه بیشتر نیست.سرعتش هم بیشتره

morteza271
دوشنبه 09 تیر 1393, 20:55 عصر
دوستان دوباره سلام.
امیدوارم نماز روزه هاتون قبول باشه.

دوستان توی همین تایپیک دوست خوبمون c0mmander یه کامپوننت دیگه معرفی کردن به اسم mCore که من از آدرس زیر یه نمونه پروژه ازش دانلود کردم.
کامپوننت ارسال SMS - MCore (http://barnamenevis.org/showthread.php?262157-%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-SMS-MCore)
با این پروژه هم تست کردم پیامک فارسی ارسال شد و خیلی هم خوب بود حتی از اون
MSComm32 هم بهتر بود. چرا که یک پیامک طولانی رو هم به خوبی ارسال میکنه ولی قبلی مشکل داشت!!!
ولی یه مشکل عجیب داره :
کد زیر رو ببینید :


try
{
if (!objSMS.IsConnected && cboPort.SelectedIndex > 0)
{
objSMS.Port = cboPort.Text;
objSMS.BaudRate = (mCore.BaudRate)(Convert.ToInt32(cboBaudRate.Text) );
objSMS.DataBits = (mCore.DataBits)(Convert.ToInt32(cboDataBits.Text) );
objSMS.Parity = (mCore.Parity)cboParity.SelectedIndex;
objSMS.StopBits = (mCore.StopBits)(cboStopBits.SelectedIndex + 1);
objSMS.FlowControl = (mCore.FlowControl)cboFlowControl.SelectedIndex;
objSMS.DisableCheckPIN = chkDisableCheckPIN.Checked;
}
}
catch (mCore.GeneralException ex)
{
MessageBox.Show(ex.Message, strMyAppName, MessageBoxButtons.OK, MessageBoxIcon.Error);
}


کد بالا برای اتصال به مودم هست.
و مشکل اینجاست که من یکبار که مودمم روی پورت 10 قرار گرفته بود این برنامه با همین کد بهش وصل شد و خیلی هم خوب کار کرد.
بعد مودم رو کشیدم و به پورت های دیگه زدم و دوباره سعی کردم که با همین برنامه به مودم وصل شم ولی خطا میداد!!
حتی دوباره که مودم رو گذاشتم روی پورت 10 بازم وصل نشد!!!
و جالب اینحاست که توی همون خط اول خطا میده :
یعنی این خط objSMS.Port = cboPort.Text;


به نظرتون مشکل از کجاست؟
اینم تصویر خطا :
120640
کسی میتونه راهنمایی کنه تا این مشکل رو برطرف کنم؟
به نظرم استفاده از این کامپوننت خیلی بهتره البته اگه این مشکلش برطرف بشه و باز دوباره اذیتم نکنه!!!
با تشکر پیشاپیش...

morteza271
دوشنبه 09 تیر 1393, 22:20 عصر
دوستان من از سایت www.logixmobile.com (http://www.logixmobile.com/) نسخه تریال همین کامپوننت mCore رو دانلود و نصب کردم.
با پروژه ای که روی سیستمم کپی کرد تست کردم درست بود و مشکلی نداشت پس فکر کنم مشکل اون نسخه ای که خطا میداد به خاطر لایسنسش بود!!!

کسی نسخه اصلی یا کرک شده ی مطمئن از این کامپوننت رو نداره؟
دوستان خواهشا کمک کنین خیلی وقتمو گرفت این قضیه ...

morteza271
سه شنبه 10 تیر 1393, 18:40 عصر
دوستان یعنی هیچکس از این کامپوننت استفاده نکرده!!!
خواهشا کسایی که در این زمینه اطلاعاتی دارن کمک کنن...
منتظرم...

morteza271
چهارشنبه 11 تیر 1393, 21:35 عصر
یعنی هیچکی نمیتونه کمک کنه؟؟؟؟؟؟؟؟؟

morteza271
جمعه 13 تیر 1393, 15:56 عصر
خیلی برام جالبه!!!!!!!!!!!!!!!!
به هر حال ممنون دوستان به خاطر کمک هایی که انجام دادین...
موفق و پیروز باشید...

negar.rafie
پنج شنبه 27 شهریور 1393, 18:14 عصر
سلام
اقا morteza271 مشکلتون حل شد؟
با چه مودمی؟
ایا کامپوننت kylix اقای abdullah20 را خریداری کردید و کار کرد؟
یا با atcommand این کار را کردید؟

morteza271
جمعه 28 شهریور 1393, 18:24 عصر
سلام.
مودمی که من خریداری کردم این مدل هست :
لینک اطلاعات مودم (http://www.digikala.com/Product/DKP-5236/D-Link-DWM-156-3-75G-HSUPA-USB-Adapter/%D8%AF%DB%8C-%D9%84%DB%8C%D9%86%DA%A9-%D8%A2%D8%AF%D8%A7%D9%BE%D8%AA%D9%88%D8%B1-%DB%8C%D9%88-%D8%A7%D8%B3-%D8%A8%DB%8C-DWM-156)

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

به هر حال اگر شما راهی دارین که بتونم با این مودم پیامک فارسی ارسال و دریافت کنم ممنون میشم...

negar.rafie
جمعه 28 شهریور 1393, 18:48 عصر
خوب الان یعنی مشکلتون حل نشده ؟

morteza271
شنبه 29 شهریور 1393, 19:32 عصر
به طور کامل نه.
چون کامپوننتی که با مودم کار کرد کرک معتبری براش پیدا نکردم و نمیشه ازش استفاده کرد!

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

کسی در مورد این مودم اطلاعاتی داره؟

abdullah20
شنبه 29 شهریور 1393, 22:47 عصر
مودم خوبی است و kylix هم باهاش کاملا سازگاره

lovee20002002
شنبه 29 شهریور 1393, 23:26 عصر
سلام من تازه دیدم من از این روش استفاده میکنم امیدوارم کمک کنه
از این لینک dll (http://www.scampers.org/steve/sms/libraries.htm)
اینم کلاسی که نوشتم شرمنده سریع نوشتم تمیز نیست کار راه اندازه بیشتر
using System;using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using PersianMessageBoxDLL;
using System.IO.Ports;
using System.Management;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using GsmComm.PduConverter;
using GsmComm.GsmCommunication;
using GsmComm.Server;
using GSMS.Common;
using System.Threading;
using GsmComm.PduConverter.SmartMessaging;
namespace kharidjoje
{
public class gsmmodemport
{
public static string sendsms(int port, string sms, string phone)
{
string result = "not work now";
GsmCommMain comm = new GsmCommMain(port, 9600, 300);
try
{

comm.Open();
while (!comm.IsConnected())
{
Cursor.Current = Cursors.Default;

Cursor.Current = Cursors.WaitCursor;
}


comm.Close();
}
catch (Exception ex)
{
result = "error";
MessageBox.Show( "Connection error: " + ex.Message, "Connection setup", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}


if (!string.IsNullOrEmpty("0"))
{
comm.Open();
result = "لطفا پورت را پر کنید";
}
else

if (!comm.IsConnected())
{
result = "پورت باز شده اشتباه است";



}




try
{


OutgoingSmsPdu[] pdus;
pdus = SmartMessageFactory.CreateConcatUnicodeTextMessage (sms, phone);






foreach (OutgoingSmsPdu pdu in pdus)
{
comm.SendMessage(pdu);




}


comm.Close();


result = "پیامک با موفقیت ارسال شد.";
}
catch (Exception ex)
{
comm.Close();
MessageBox.Show(ex.Message);
}
return result;
}
public static double getport(int ss)
{
string aa;

ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_PnPEntity");


foreach (ManagementObject queryObj in searcher.Get())
{
if (queryObj["Caption"].ToString().Contains("(COM"))
{
if (queryObj["Caption"].ToString().Length == 38)
{
aa = queryObj["Caption"].ToString();
Regex regex = new Regex(@"\d+");
Match match = regex.Match(aa);
if (match.Success)
{
ss = Convert.ToInt16(match.Value);


}


}


}




}
return ss;


}
}
}




با اینم مسیج میفرستم
var sendsms = gsmmodemport.sendsms(port, sms, phone);

MessageBox.Show(sendsms.ToString());
اگه درست شد اطلاع بدید تا بقیه استفاده کنن

morteza271
یک شنبه 30 شهریور 1393, 18:02 عصر
ممنونم دوست عزیز جواب داد. و پیامک فارسی رو درست ارسال کرد.
فقط چند تا سوال :
این کامپوننت چطوری هستش مشکلی از نظر کرک نداره؟
چطوری میتونم با این کامپوننت پیامک دریافت کنم؟

بازم ممنونم...

lovee20002002
یک شنبه 30 شهریور 1393, 19:29 عصر
فری هست دوست من من فقط واسه ارسال این کلاس رو نوشتم راحت باشم شما هم برای رسیو بنویس نمونه تو همون سایتی که dll هست موجوده اگه واسه رسیو نوشتی ما رو بی نصیب نکن ممنون

sitema
چهارشنبه 17 تیر 1394, 16:33 عصر
با سلام ، دوستای عزیز من رفتم از آدرس http://www.scampers.org/steve/sms/index.htm libraries رو دانلود کردم ولی نمی تونم کدهاشو پیدا کنم ، ظاهرا به فایل XML تبدیل شدن واسه همینم یه خورده گیجم کردن ، ممنون میشم کسی بگه چجوری به سورس کد می تونم دسترسی پیدا کنم ، تشکر