خوب اگه خیلی گیر هستی برای دریافت ، میتونی یه مودم جی اس ام ( از 50 هست به بالا ) تهیه کنی و با خیال راحت ،ارسال و دریافت، USSD و... رو باهاش انجام بدی .
به همین راحتی !!!!!:لبخند::خجالت::کف:
Printable View
با تغيير در كد برنامه kylix داشت تونستم سامسونگ دريافت كنم اما نوكيا هنوز نشده..
حالا يك سوال ديگه توي اين برنامه نمونه كه kylix داره تو قسمت پورت داره at command . nokia fbus.nokia mbus اينها چيه؟
اگه همه این تاپیک رو خونده باشی ، صدبار گفته شده ، بی دردسر ترین گوشی برای ارسال و دریافت و این که با همه کامپوننت ها کار کنه سونی اریکسونه
شما برنامتو با سونی اریکسون تست کن ، بعد به هرکی خواستی بفروشی شرط میکنی تو قرارداد که باید یا مودم بخره یا گوشی سونی اریکسون داشته باشه . بهمین راحتی!!!!!!
با سلام و خسته نباشید خدمت دوستان عزیز
چطوری می تونم از طریق کامپوننت mcore دفترچه تلفن موبایل (لیست مخاطبین) را در بیارم؟؟
ممنون
كتابخانه gsm comm را كسي داره بزاره هرچي ميگردم نميتونم پيداش كنم..
نميدونم kylix چه مشكلي پيدا كرده موقع خوندن اسمس ها (گوشي سوني اريكسون دارم) از قسمت readallsams(0) ارور ميگيره ميگه تقسيم بر 0ميشه يك همچين چيزي... بايد چكارش كنم؟
ميخواهم كاربر فقط يك بار اتصال ايجاد كنه و توي تمام قسمت ها ازش استفاده كنه...اما هر كاري مي كنم نميشه.. يك صفحه جدا ايجاد كردم . كانكت رو اونجا گذاشتم اما صفحه هاي ديگه را كه باز مي كنم انگار اصلا گوشي وصل نيست... كسي ميتونه كمك كنه.
متوجه منظورت نمیشوم بیشتر توضیح میدهی؟
روشی که من استفاده کردم یک فرم ایجادکردم و کامپوننت را در آنجا قرار دادم و در همانجا هم اتصال را برقرار میکنم. البته نوع فرم را به گونه ای گرفته ام که بسته نشود.
برای ارسال هم کاری به این فرم ندارم بلکه پیامها را داخل جدول OUT BOX ذخیره میکنم
در همان فرم ارتباط و ارسالم (شما نامش را بگذار موتور ارسال و دریافت) یک تایمر گذاشته ام که هر چند لحظه به سراغ آن جدول میرود و پیامهای تازه در نوبت ارسال قرار گرفته را پیدا میکند و اقدام به ارسال میکند
برای آنکه سیستم هنگ نکند فرایند ارسال و دریافت را داخل Thread های مناسب قرارداده ام
ببین این روشها کمکت میکند؟ اگر نه بیشتر توضیح بده
اگر میخواهی برنامه را نیز دانلود کنی به سایت زیر برو
www.Abshar-System.ir
سلام دوستان
من برای ارسال sms یک dll تو برنامه add کردم به نام AxInterop.KYLIXSMSLib
و کد زیر رو هم نوشتم :
using AxKYLIXSMSLib;
AxKylixSMS a = new AxKylixSMS();
a.SendSMS("091200000", "تست");
MessageBox.Show("ok");
اما خطای زیر رو میده :
Exception of type 'System.Windows.Forms.AxHost+InvalidActiveXStateEx ception' was thrown
لطفا منو راهنمایی کنید
ارتباط نرم افزار با سخت افزار قطع میشود یا اینکه نرم افزار صرفاً نمیتواند پیامهای ورودی را بخواند ولی هم چنان میتواند پیام ارسال کند؟
اگر فقط نمیتواند بخواند چند تا موضوع را بررسی کن:
1- ببین تنظیمات خواندن پیام از سیم کارت است یا حافظه مودم؟
2- مدل مودم یا گوشی موبایلت چی است؟
3- اگر از کایلیکس استفاده میکنی کایلیکس برای دریافت تریگر دارد و در زمان دریافت پیام آن را نشان میدهد مگر در بعضی از موارد محدود که پیامها در حافظه مودم ذخیره میشوند و سیستم متوجه رسیدن پیام جدید نمیشود در این صورت آنقدر به سیستم پیامک ارسال کنید تا حافظه مودم پر شود
4- اگر میتوانی کد دریافت را بنویس تا بیشتر بررسی شود
موفق باشی
سلام
چطوری با MCore میشه مثلا موجودی شارژ رو گرفت یا شارژ کرد ؟؟
مثلا : *140#1#
مرسی
کسی از دوستان اطلاعات نداره؟؟
کسی از دوستان نمی دونه چسوری میشه موجودی شارژ گوشی رو در آورد همچنین درخواست های مثل *140#1# رو انجام داد؟؟؟
ممنون می شم اگر کسی اطلاع داره بگه
سلام
در مورد mcore و فرستادن پیامک های گروهی سوالی داشتم.
اگر من شماره ها رو توی یک تایمر بزارم و به نوبت مثلا هر 10 ثانیه یک پیامک رو بفرستم , کار درستیه؟
موفق باشید
دوستان با عرض خسته نباشيد و ممنون از اينكه اين همه اطلاعات بهمون داديد
لطفا اگه كسي در مورد ارسال پيامك از طريق اينترنت اطلاعاتي داره كمكمون كنه
من يه نرم افزاري ديدم كه مي گفت ادرس url اينترنتي خود رو وارد كنيد سپس اقدام به ارسال پيامك نماييد مي خواستم بدونم اين url چيه؟؟ چه جوري ميشه تهيه اش كرد؟؟؟ كدهايي كه براي ارسال پيامك تو برنامه مي نويسيم چه جوري هست؟؟؟ اگه يه مثالي هم لطف كنيد ممنون ميشم
ممنون از بابت اين همه اطلاعات مفيد
لطفا كمك كنيد كارم لنگه
دوست خوب url يك وب سرويس ارسال پيامك هست كه شركتهاي مختلفي از جمله شركت آراد ليان - كه زير گروه اصلي شركت مگفا هست
شما متوني با هزينهبالا از شركت مگفا مستقيم خريد كنيد يا با قيمت مناسب تر از شركتهاي زيرگروه و يا حتي زيرگروه تر
من با اين سيتم كامل آشنا هستم و كلي كار كردم
دوست عزيز ممنون از راهنماييت من مي خواستم ببينم كدشو تو برنامه ام چطوري بايد بنويسم؟؟تا اقدام به ارسال پيامك كنه؟ ممنون
خسته نباشید اساتید
نحوه ارسال long SMS (پیامک چند صفحه ای ) با استفاده از کامپوننت kylix sms
ایا میشه همچین کاری کرد
خب دوست عزیز واستاد گرامی(دل شکسته عزیز) میشه بگی چطوری تا من وهمه دوستان استفاده کنیم
دل شکسته عزیز من نسخه اصلیش رو دارم اما زبان فارسی را تا 70 کارکتر بیشتر نمیفرسته
منطورم کامپوننت KAYLIX است
آيا كد نويسي وب سرويس هاي مختلف متفاوت است؟؟؟؟؟ يعني بايد كاربر رو مجبور به استفاده از SMS server پيشنهادي خودم بكنم؟؟؟
ممنون
اساتید محترم اگه کسی میدونه چطوری میشه با کامپوننت KAYLIX SMS اس ام اس چند صفحه ای (بلند) فرستاد لطف کنه یک اموزش کوچولو هم به ما بده کارم گیره ممنون
نه متاسفانه :گریه:
فکر کنم با گوشی موبایل باید گوشی ساپورت کنه
آقا كسي آخرش جواب ما رو نداد؟؟؟؟:گریه:
آيا كد نويسي وب سرويس هاي مختلف متفاوت است؟؟؟؟؟ يعني بايد كاربر رو مجبور به استفاده از SMS server پيشنهادي خودم بكنم؟؟؟
ممنون
[QUOTE=hadisadaghatmehr;1297641]آقا كسي آخرش جواب ما رو نداد؟؟؟؟:گریه:
آيا كد نويسي وب سرويس هاي مختلف متفاوت است؟؟؟؟؟ يعني بايد كاربر رو مجبور به استفاده از SMS server پيشنهادي خودم بكنم؟؟؟
ممنون[/QUOTE
بله فرق میکنه وب سرویس ها با هم ولی متونی کاری کنی که از هرکی گرفت بشه داخل برنامه شما استفاده کرد
دوست عزيز با عرض معذرت مي تونيد نحوه انجام اين كار رو برام يه كم توضيح بديد؟؟ممنون
سلام
Kylix یک ویژگی به نام IsConcatenatedSMS دارد که اگر مقدار آن را یک قرار بدهی پیامهای بلند را بهم پیوسته ارسال میکند و اگر صفر قرار بدهی پیامها را به صورت صفحه صفحه ارسال میکند
KylixSMS.IsConcatenatedSMS=0 OR KylixSMS.IsConcatenatedSMS=1
در صورتی که پیامهای صفحه به صفحه ارسال شود در هر صفحه پیام فارسی میتوانید 70 کاراکتر بنویسید اما اگر پیامهای به صورت پیوسته ارسال شود در هر صفحه 67 کاراکتر میتوانید بنویسد مابقی کاراکترها هزینه پیوستگی صفحات میشود
در گزارشی که کایلیکس برای تعداد صفحات نوشته شده و تعداد کاراکترهای باقی مانده از آخرین صفحه میدهد این مورد نیز دیده شده است
بهتر است اختیار استفاده از این ویژگی را با یک چک باکس به کاربر بدهید
و بهتر از آن این است که با یک چک باکس کنترل اتوماتیک برای کاربرانی که اهل محاسبه نیستند بررسی کنید که اگر پیام شما کمتر از 71 کاراکتر است به صورت پیام نا پیوسته و اگر بیشتر از 70 کاراکتر است به صورت پیوسته ارسال کند
اگر یک برنامه توپ برای ارسال و دریافت و ... در این مورد میخواهی به سایت من یک سری بزن:
www.abshar-system.ir :تشویق:
سلام شما برای ارسال نیازی به تایمر نداری
یک کوری بگیر و توی یک حلقه پیامهای را یکی یکی ارسال کن.
تا زمانی که پیام اول ارسال نشده است دستورات حلقه به خط بعدی نمیروند و در تکرار به پیام بعدی نمیرسند
خود Mcore تنظیماتی دارد که زمان تاخیر بین دو ارسال را کنترل میکند بین یک تا سه ثانیه
همچنین تنظیمات تایم اوت را دارد که معمولاً حدود 30 ثانیه است و اگر تا 30 ثانیه نتوانست پیام را ارسال کند بیخیال میشود و میرود سراغ پیام بعدی
بهتره از تایمر برای این مورد استفاده کنی که مثلاً کاربر میخواهد پیامی را دو روز دیگر در ساعت مثلاً ده صبح ارسال کند یا به عبارت دیگر مدیریت کنترل زمان ارسال
ابتدا پیامها را در یک جدول ذخیره کن که در آن فیلدی برای زمان پیش بینی ارسال داشته باشد
سپس در تایمر یک کوری بذار که پیامهای در صف انتظار برای ارسال را تا همین لحظه حال بررسی کند و اگر پیامی به زمان ارسالش رسیده اقدام به ارسال شود
یک تگ هم برای وضعیت ارسال در جدول در نظر بگیر و اگر پیام ارسال شد تگ آن را از در نوبت ارسال به صورت ارسال شده در بیاور و اگر با موفقیت ارسال نشد تگ آن را به صورت ارسال نشده آپ دیت کن
یک برنامه توپ برای ارسال و دریافت و فال نظر سنجی و مسابقه و خیلی چیزهای دیگه در سایت زیر
www.Abshar-system.ir :تشویق:
سلام آقای تقدمی
ببینید آن 30 ثانیه که گفته میشود در واقع سی ثانیه زمانی است که MCOR پورت سریال را به طور مستقیم برای نوشتن پیام و گرفتن جواب از سیمکارت که آیا پیام را تحویل SMSC داده است یا نه میباشد.
اگر در این 30 ثانیه جوابی از سیمکارت نگیرد ارتباط را با پورتی که مودم به آن وصل است را قطع میکند و دوباره برای پیام بعدی به سراغ آن میرود
حال اگر در زمانی کمتر مثلاً 6 ثانیه جواب را از سیمکارت بگیرد که پیام را تحویل SMSC داده است خوب بلافاصله ارتباط را قطع میکند و برای ارسال پیام بعدی شروع به تلاش میکند
این زمان نقشی در سرعت ارسال ندارد سرعت ارسال را بیشتر ترافیک مخابرات تعیین میکند
من در تست هام بهترین سرعتی که با دستگاههای تاتونگ و GM و چند دستگاه دیگه بدست آوردم حدود همان شش ثانیه برای هر پیام بود یعنی ساعتی 600 پیام
توسط دستور زیر شماره پورتها را در کومبوباکس قرار میدهم
string[] lPorts = System.IO.Ports.SerialPort.GetPortNames();
حالا اگر بخواهیم نرم افزار خودش تشخیص بده که مودم توسط چه پورتی کانکت شده باید چه کدی را بنویسم؟
سلام عزیز،
اینکه شما می خوای خوبه ولی نه فایده ای داره نه مقرون به صرفه است!
فایده نداره برای اینکه اولا شما برای هر نسخه که قراره به مشتری بدی نهایت طرف اول که داره نصب میکنه میگی شماره پورت رو وارد کن اونو ذخیره میکنی و هر موقع لازم داشتی ازش استفاده میکنی!
زیاد به فکر راحتی مشتری نباش!
مگه قراره هر بار که نرم افزار رو باز میکنه هی ازش بپرسی کدوم پورتو لازم داری؟
یا اینکه هر بار یارو می خواد بره دستگاه مودمشو عوض کنه که هی پورت عوض کنی؟
تو اکثر برنامه هایی که تو بازاره من دیدم میگه درایور مودمتو نصب کن بعد برو تو کنترل پنل قسمت مودم ها ببین کدوم پورت مال مودمته بعد بیا اونو تو نرم افزار وارد کن بعد باهاش کار کن!
ضمیمه 73095
این چیزیه که من تو نرم افزارم استفاده کردم. نه کمبو باکسه نه از این چیزا!
مقرون به صرفه نیست یعنی اینکه اگه این کارهم شدنی باشه که بعید نیست اصلا نمی ارزه که اینقدر زحمت مفت بکشی که کاربر راحت باشه!
حالا یه کارای دیگه میشه کرد که کاربر راحت باشه، یعنی چی؟
مثلا بیای از کدهایی استفاده کنی که هر وقت USB به سیستم وارد شد تشخیص بده و اتومات بره به مودم کانتک کنه و یا وقتی از دستگاه قطع شد برو کانکشن رو قطع کنه که کارات ردیف شه.
اگه خواستی کدشو برات بفرستم.
من یه پیشنهاد برای همه که این تاپیک رو دنبال میکنم هم دارم:
این تاپیک خیلی مفیده برای کسی که از AT Command ها و مسائل مربوط به این ها اطلاعاتی داشته باشه.
یعنی وقتی لازم باشه خودش کدها رو تغییر بده.
دقیقا من حرف دوستمون رو که گفت:
من از زمستان پارسال یعنی اواخر ماه آذر رفتم تو کار این برنامه و تا اول اردیبهشت امسال داشتم در رابطه با
AT Command ها و PDU تحقیق میکردم و در نهایت موفق به تقریبا خلق یک DLL شدم که دارم باهاش هرکاری که بگی میکنم.
البته بگم یه چیزی پیدا کردم بعد خودم ویرایش کردم تو همین مدت تقریبا 5 ماه. کدهاش دست خودمه اینکه میگم هر کاری که بخوای بکنی برای همینه که من می تونم تو کدها دستکاری کنم با اطلاعاتی که دارم.
میگن اگه قرار باشه 10 روز وقت داشته باشی که یک درخت رو قطع کنی بهتره 9 روز وقت بزاری تبر تو خوب تیز کنی!!!!
به نظر من اول برید ماهی گیری یاد بگیرین بعد بیاین ماهی بگیرین!!!!
فرستادن پیامک چندتایی هیچ فرقی با یکی نداره فقط یکم تفاوت داره که تو PDU باهم متفاوته.
پیشنهاد میکنم برین یه سری به این تاپیک بزنین
PDU Encoding And Decoding
بعد اگه کسی اینو مطالعه کرد بمن بگه من DLL که دارم بهش بدم. از این به بعد خودتون میتونین هر کاری که می خواین بکنین.
سلام،
اینم بگم بعضی ها میگن مثلا با این گوشی کار میکه اون یکی جواب نمیده .....
این درست نیست.
وقتی گفتم برین AT Command ها رو یاد بگیرین برای اینکه بدونین کدوم مدل مودم یا گوشی چه نوع دستوراتی را پشتیبانی میکنه چه دستوراتی رو نمی کنه!
مثلا تو بعضی مدل ها تایید ارسال دارین تو بعضی ها ندارین! مگه میشه؟
اگه نظر منو بخواین میگم نه نمیشه! پس چیه؟
باید تنظیمات گوشی یا مودم رو بلد باشین! یعنی چی؟
مثلا تو همین تایید ارسال که گفتم، اگه بخواین جواب بگیرین باید ببینین تو کدوم مودم یا گوشی چه مدلی رو پشتیبانی میکنه و این فقط از طریق زیر میتونین پیدا کنید:
AT+CNMI=?
+CNMI: (0,1,2,3),(0,1,2,3),(0,2),(0,1,2),(0,1)
OK
حالا باید بسته به نوع مودم گوشی این متغیر را تنظیم کنید که چه طوری تایید ارسال داشته باشید!
به همین راحتی!!!!!!
و اگه کسی وارد باشه میاد اینو اول هر اتصال میزاره و بسته به نوع و مدل پشتیبانی میاد تنظیمات رو انجام میده و اگر بجای OK از مودم یا گوشی Error گرفت یه متغیر رو ست میکنه که این حالت مثلا تایید ارسال رو پشتیبانی نمیکنه. بعد هر جا طرف خواست تایید بگیره میفهمی که این رو پشتیبانی نمی کنه و دیگه دردسر نداری!
بعدشم،
وقتی شما گوشی موبایل رو به عنوان GSM Modem استفاده میکنید فقط اون به عنوان یک رابط برای شما کار می کنه تا بتونید دستورات AT Command رو باهاش بفرستید به اپراتور. یعنی دقیقا گوشی نقش مودمرو بازی میکنه.
اگر بخواهیم در شبکه استفاده کنیم ممکن است روی هر سیستم بایک شماره پورت جدا متصل شده باشد. در آنصورت چه کنیم؟به ازای هر سیستم در شبکه باید یک رکورددر دیتابیسمون وجود داشته باشه؟
در مورد استقاده از ATcommand کاملاً با شما موافقم. هرچند که میگن نباید چرخ رو از نو اختراع کرد. اما من واقعاً بااین چرخهای ساخته شده مشکل دارم و برای من نمیچرخه!
مثلاً در مورد Kylix مشکلم این هست که با مودمم سازگار نیست.
درمورد mcore :اس ام اس ها را نمیتواند بخواند . یعنی گاهی اوقات ارور میده و گاهی میخونه.
فعلاً توسط GSMCommunication تونستم وصل بشم. اما بازم تمام خواسته هاموبرآورده نمیکنه. مثلاً میخوام پیغام تحویل بده.
در مورد dll ای که فرمودید نوشتید. چه طور میتونیم تهیه کنیم؟چه امکاناتی داره؟
نتیجه میگیریم که من الان باید برم atcommand ها را یاد بگیرم؟قعلاً اینقدر وقت ندارم. کامپوننتی بی دردسر سراغ دارید که فعلاً کارمو راه بندازه؟
درمورد تنظیمات پورت در شبکه هم میشه نظرتونو بگید؟
هرکسی این DLL رو میخواد ایمیل شو بده براش بفرستم. البته بگم همونی رو میفرستم که خودم گرفتم یعنی DLL خام با کدهاش و یک مثال.
دوباره اینم بگم من اینو یه جایی پیدا کردم بعد برای خودم تغییرش دادم. کاملا مجانی و با زبان VB نوشته شده. خیلی باحاله، من که باهاش کیف کردم هرجا کم داشته باشه که حتما داره، اونو خودم اصلاح کردم.
من با سی شارپ کارمیکنم.به سی شارپ ندارید؟اسم کامپوننتون چیه؟