ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی “ ورود به حساب” کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمیشود، اینجا را کلیک کنید.





نمایش نتایج: از 1 به 1 از 1
  1. #1
    adminmsp
    مدیر کل و موسس سایت
    تاریخ عضویت
    1970 Jan
    محل سکونت
    M.S.P Soft
    نوشته ها
    1,588
    759
    419

    کار با gsm مودم برای ارسال و دریافت sms با استفاده از زبان برنامه نویسی #c

    [B]چکیده :[/B]

    SMS (Short Message Service) یا سرویس پیام کوتاه ، به موفقیت عظیمی در جهان بی سیم رسیده است. هرروز میلیون ها پیام کوتاه فرستاده می شود. اکنون پیام کوتاه به یک تولید کننده عظیم درآمد برای حاملان بی سیم تبدیل شده است. ایده فرستادن پیام های کوتاه بسیار ساده است. یک پیام روی تلفن موبایلتان می نویسید، شماره تلفن موبایل مقصدتان را وارد می کنید، دکمه Send را می فشارید و پیام خیلی زود توسط گیرنده قابل دسترس خواهد بود.
    در این مقاله ما در مورد دستورات AT ، کاربرد آن در GSM MODEM ها (به طور خاص در مورد ارسال و دریافت پیام کوتاه) و چگونگی استفاده از این دستورات در C# را مورد بحث قرار خواهیم داد .

    [B]فهرست مطالب : [/B]

    1. مقدمه ای بر پیام های کوتاه
    2. چگونگی دریافت پیام های کوتاه با استفاده از یک کامپیوتر
    3. ارسال پیام های کوتاه از کامپیوتر به تلفن همراه
    4. چگونگی استفاده از AT COMMAND در C#
    5. منابع و مآخذ


    [B]مقدمه ای بر پیام های کوتاه [/B]

    1-1 SMS چیست؟
    SMS مخفف Short Message Service است.تکنولوژی است که باعث فرستادن و دریافت پیام ها بین تلفنهای موبایل می شود. SMS برای اولین بار در اروپا در سال 1992 پیشنهاد شد و استانداردهای GSM (Global System for Mobile Communication) را نیز در بر گرفت. بعد به تکنولوژی های بی سیم مثل CDMA وTDMA منتقل شد. استانداردهای GSM و SMS بطور اصلی با ETSI توسعه یافت. ETSI مخفف European Telecommunication Standards Institute است. اکنون 3GPP(Third Generation Partnership Project) برای توسعه و نگهداری استانداردهای GSM وSMS قابل پشتیبانی است. همانطور که به این تکنولوژی نام Short Message Service داده شده است، داده هایی که با یک پیام SMS منتقل می شوند خیلی محدود هستند. یک پیام SMS می تواند شامل بیش از 140 بایت (1120 بیت) داده باشد. بنابراین یک پیام SMS می تواند شامل:
    1- 160 کارکتر، اگر کارکتر7 بیتی بکار رود (مناسب برای کارکترهای لاتین)
    2- 70 کارکتر، اگرUnicode UCS2 16 بیتی بکار رود(پیام های متنی SMS شامل کارکترهای غیر لاتین مثل کارکترهای چینی باید ازencoding 16 بیتی استفاده کنند)

    پیام دهی متنی کوتاه، از زبانهای بین المللی پشتیبانی می کند و با همه زبانهای حمایت شده توسط Unicode شامل عربی، چینی، ژاپنی و کره ای خوب کار می کند.
    گذشته از این متن، پیام های کوتاه می توانند داده های باینری را نیز حمل کنند. برای فرستادن تون های زنگ، تصاویر، logoهای عمل کننده،کاغذ دیواری ها، انیمیشن ها،کارت های تجاری(مثل VCards) و پیکربندی WAP برای یک تلفن موبایل با پیام SMS ممکن است.
    مزیت اصلی پیام کوتاه اینست که توسط 100% تلفن های موبایل GSM پشتیبانی می شوند.
    برای فرستادن و دریافت پیام های کوتاه ازطریق یک تلفن موبایل و با استفاده از یک PC حاوی سیستم عامل ویندوز به موارد زیر نیاز دارید:
    1- یک تلفن موبایل که می تواند به کامپیوتر شما متصل شود (بعضی موبایل ها رابطی برای اتصال به کامپیوتر ندارند)
    2- یک برنامه ویندوز که می تواند تلفن موبایل را برای فرستادن و دریافت پیام های کوتاه کنترل کند.

    امروزه بیشتر موبایل ها حداقل از یکی از موارد زیر برای اتصال به PC پشتیبانی می کنند:
    1- از طریق infrared(IrDA)
    2- از طریق Bluetooth
    3- ازطریق کابل USB
    4- از طریق کابل سریال

    برنامه ویندوز برای فرستادن و دریافت پیام های کوتاه توسط بعضی جنبه های تلفن موبایل فراهم می شود. برای مثال نوکیا بسته نرم افزاری با نام Nokia PC Suite را برای کاربران تلفن موبایل خود ارائه می دهد که می تواند بدون شارژ از وب سایت نوکیا دانلود شود.
    مایکروسافت هم یک برنامه مجانی با نام SMS Sender ایجاد کرده که کاربران ویندوز را قادر به فرستادن پیام های SMS از طریق موبایل GSM ، از یک PC می کند. محدودیت بزرگ این برنامه ویندوزی آنست که نمی تواند پیام های SMS را از یک تلفن موبایل بخواند. گذشته ازاین، از دیگر فرمت های پیام های متنی عادی مثل پیام های SMS رشته ای، flash message، پیام های MMS و پیام هایی که شامل صدای زنگ و logo است حمایت نمی کند.
    [B]توجه:[/B] برنامه SMS Sender فقط می تواند برروی ویندوز XP و ویندوز سرور2003 نصب شود.

    [B]چگونگی دریافت پیام های کوتاه با استفاده از یک کامپیوتر [/B]

    در حالت کلی سه روش برای دریافت پیام های SMS از طریق کامپیوتر یا PC وجود دارد:
    1- اتصال تلفن موبایل یا مودم GSM/GPRS به کامپیوتر یا PC . سپس از یک کامپیوتر/PC و AT Commands برای گرفتن پیام های SMS دریافت شده ازتلفن موبایل یا مودم GSM/GPRS استفاده کنید.
    2- دسترسی به مرکزSMS (SMSC) یا دروازه SMS ازطریق حامل بی سیم. هر پیام SMS دریافت شده با استفاده ازیک پروتکل یا واسط پشتیبانی شده از طرف SMSC یا دروازه SMS برای کامپیوتر/PC شما فرستاده خواهد شد.
    3- دسترسی به دروازه SMS فراهم کننده سرویس SMS (SMS Service provider). هر پیام SMS دریافت شده با استفاده ازیک پروتکل یا واسط پشتیبانی شده از طرف دروازه SMS برای کامپیوتر/PC شما فرستاده خواهد شد.

    [B]اولین روش:[/B]
    دریافت پیام کوتاه از طریق موبایل یا مودم GSM/GPRS نسبت به دو روش دیگر مزیت دارد.
    عیب دریافت پیام کوتاه با این روش آنست که موبایل یا مودم GSM/GPRS نمی تواند مقدار ترافیک زیاد SMS را اداره کند. یک روش برای غلبه بر این مشکل، بارگذاری میزان ترافیک SMS با یک مخزن از تلفن های موبایل یا مودم های GSM/GPRS است.
    هر تلفن موبایل یا مودم GSM/GPRS شماره تلفن و سیم کارت خودش را دارد. از نظر برنامه نویسی فرستادن و دریافت پیام از موبایل با مودم GSM/GPRS مشابه هستند.
    درزیر جدول حاوی لیست دستورات AT Commands مربوط به فرستادن و دریافت SMS وجود دارد.

    [TABLE="class: cms_table, align: right"]
    [TR]
    [TD][B]AT command[/B][/TD]
    [TD][B]معنی[/B][/TD]
    [/TR]
    [TR]
    [TD]+CNMI[/TD]
    [TD]اشاره به پیام جدید[/TD]
    [/TR]
    [TR]
    [TD]+CMGL[/TD]
    [TD]لیست کردن پیام ها[/TD]
    [/TR]
    [TR]
    [TD]+CMGR[/TD]
    [TD]خواندن پیام ها[/TD]
    [/TR]
    [TR]
    [TD]+CNMA[/TD]
    [TD]دانش پیام جدید[/TD]
    [/TR]
    [/TABLE]








    در زیر یک مثال ساده نشان داده شده که ثابت می کند ،چگونه AT Command ها و برنامه HyperTerminal مایکروسافت برای خواندن پیام ها ازمودم GSM/GPRS یا موبایل استفاده می کند.
    خطوطی که به صورت Bold تایپ شده باید در Hyper Terminal وارد شوند. خطوط دیگر پاسخی است که از طرف مودم GSM/GPRS یا موبایل داده می شود.
    کد:
    [B]AT[/B]
     [I]OK[/I]
     [B]AT+CMGF=1[/B]
     [I]OK[/I]
     [B]AT+CMGL="ALL"[/B]
     [I]+CMGL: 1,"REC READ","+989353659299",,"06/11/11,0029+32"
     Hello, welcome to our SMS tutorial.
     +CMGL: 2,"REC READ","+989353659299",,"06/11/11,0020+32"
     A simple demo of SMS text messaging.
    OK[/I]
    توضیح :
    خط اول: "AT" برای بررسی شرایط به مودم GSM/GPRS فرستاده می شود. GSM/GPRS کد نتیجه "OK" (خط دوم) را بازمی گرداند، که به این معنی است که ارتباط بین برنامه HyperTerminal و مودم GSM/GPRS خوب کار می کند.
    خط سوم: +CMGF به مودم دستور می دهد تا در حالت متنی SMS عمل کند. نتیجه "OK" بازگردانده می شود (خط 4)، که نشان می دهد خط کد "AT+CMGF=1" با موفقیت انجام شده است. اگر کد "ERROR" بازگردانده شود، شبیه آنست که مودم از حالت متنی SMS پشتیبانی نکرده است.
    خط 5-9: +CMGL برای لیست کردن تمام پیام های متنی SMS در حافظه پیام مودم GSM/GPRS بکارمی رود. در این مثال دو پیام متنی SMS درحافظه پیام وجود دارد: "Hello, welcome to our SMS tutorial." و "A simple demo of SMS text messaging." . "+989353659299" شماره تلفن موبایل فرستنده است. "06/11/11,0029+32" و "06/11/11,0020+32" زمان دریافت پیام های متنی SMS توسط SMSC را به ما می گوید. "+32" ناحیه زمان (time zone) است.
    [B]توجه:[/B] واحد، یک ربع ساعت است. بنابراین ، +32 به معنی GMT+8 ساعت، 32ربع ساعت = 8 ساعت. "REC READ" هردو پیام متنی که ازقبل خوانده شده را نشان می دهد.
    خط 11: کد نتیجه "OK" نشان می دهد که اجرای +CMGL با موفقیت انجام شده است.
    برای فعال کردن نرم افزار دریافت پیام های متنی، باید source code ی برای اتصال و فرستادن AT Command ها به تلفن موبایل یا مودم GSM/GPRS بنویسید، درست شبیه برنامه terminal بنویسید (مثل HyperTerminal ویندوزمایکروسافت). می توانید source code ی در C،C++،Java،Visual Basic،Delphi، یا هر زبان برنامه نویسی دیگر که دوست دارید بنویسید.
    معمولا راه حل بهتری برای استفاده از API (Application Programming Interface) / SDK(Software Development Kit) / کتابخانه (Library) پیام SMS سطح بالا ، بجای اینکه خودتان کدها را برای تعامل با تلفن موبایل یا مودم GSM/GPRS از طریق AT Commandها بنویسید. API / SDK / library جزئیات سطح پایین را بسته بندی می کند.
    بنابراین یک توسعه دهنده برنامه SMS نیاز به دانستن AT Command ها و ترکیب پیام های SMS در سطح بیت (bit-level) ندارد. بعضی API ها / SDK ها/ Library های پیام SMS از پروتکل های SMSC علاوه بر AT Commandها پشتیبانی می کنند.
    برای حرکت از راه حل SMS مبتنی بر مودم بی سیم به راه حل SMS مبتنی بر SMSC، معمولا نیاز به اصلاح پیکربندی فایل / خصوصیت فایل یا ایجاد تغییرات اندک در source code برنامه پیام SMS خود دارید.
    راه حل سطح بالای دیگر، قراردادن یک دروازه SMS بین برنامه پیام دهنده SMS و موبایل یا مودم GSM/GPRS است. برنامه پیام دهنده SMS می تواند از پروتکل های ساده ای مثل HTTP / HTTPS برای دریافت پیام های SMS استفاده کند. اگر از یک پروتکل SMSC (مثل SMPP ، CIMD و غیره) بجای HTTP / HTTPS برای ارتباط با دروازه SMS استفاده شود، یک API / SDK / Library پیام دهنده SMS می تواند برای شما خیلی مفید باشد. به این دلیل که جزئیات پروتکل SMSC را بسته بندی می کند.



    [B]ارسال پیام های کوتاه از کامپیوتر به تلفن همراه[/B]
    به طور معمول دو روش برای ارسال SMS از کامپیوتربه موبایل وجود دارد:
    1. بین یک تلفن همراه (mobile phone) یا یک مودم GSM/GPRS با یک کامپیوتر اتصالی برقرار کنید .سپس برای دستور دادن به تلفن همراه یا مودم GSM/GPRS جهت ارسال SMS، از کامپیوتر و AT command ها استفاده کنید .
    2. با کامپیوتر (PC) به مرکز SMS (SMSC ) یا گذرگاه SMS یک حمل ونقل بیسیم (SMS gateway of a wireless carrier)، یا یک ارائه کننده ی سرویس SMS متصل شوید. سپس با استفاده از پروتکل یا رابطی که توسط SMSC یا درگاهSMS (SMS gateway) پشتیبانی می شود، پیامتان (SMS) را ارسال کنید.

    در این مقاله قصد داریم اولین روش ارسال SMS را توضیح دهیم.



    [B]ارسال [/B][B]SMS[/B][B] از یک کامپیوتر با استفاده از یک تلفن همراه یا مودم [/B][B]GSM/GPRS[/B][B] :[/B]
    مودم GSM/GPRS، یک مودم بیسیم است که با شبکه های بیسیم GSM/GPRS کار می کند. مودم بیسم بسیار شبیه مودم dial-up است. تفاوت اصلی این دو در این است که مودم بیسیم داده ها را در میان شبکه ی بیسیم انتقال می دهد حال آنکه مودم dial-up داده ها را در میان سیم های خط تلفن منتقل می کند. بیشتر تلفن های همراه را می توان به عنوان مودم بیسیم به کار برد. بعضی از تلفن های همراه محدودیتهایی را در مقایسه با مودم های GSM/GPRS دارا هستند.
    جهت ارسال SMS , ابتدا باید یک سیم کارت معتبر (که بعدا به کامپیوتر متصل می شود) را در تلفن همراه یا مودم GSM/GPRS قرار دهید. چندین راه مختلف جهت اتصال یک تلفن همراه یا مودم GSM/GPRS به کامپیوتر وجود دارد. برای مثال، این ها می توانند با کابل سریال، یک کابل USB، یک لینک Bluetooth، یا یک لینک infrared بهم متصل شوند.انتخاب روش اتصال بستگی به قابلیتهای تلفن همراه یا مودم GSM/GPRS دارد. مثلا اگر گوشی موبایل Bluetooth را پشتیبانی نمی کند، نمی توان تلفن همراه را از این طریق به کامپیوتر متصل کرد.
    بعد از اتصال یک تلفن همراه یا مودم GSM/GPRS به کامپیوتر، می توانید با ارسال یکسری دستورات، تلفن همراه یا مودم GSM/GPRS را کنترل کنید. AT command ها دستوراتی هستند که به این منظور بکار برده می شوند. (AT command ها همچنین به منظور کنترل مودمهای dial-up برای سیستم تلفن سیمی استفاده می شوند). مودم های dial-up، مودم های GSM/GPRS و تلفن های همراه یک مجموعه ی استاندارد از این دستورات را پشتیبانی می کنند. مودم های GSM/GPRS و تلفن های همراه علاوه براین دستورات استاندارد، یک مجموعه ی توسعه یافته (Extended) از AT command ها را نیز پشتیبانی می کنند.یکی از جنبه های استفاده از این دستورات توسعه یافته ارسال و دریافت SMS است.

    جدول زیرلیست دستوراتی را نشان می دهد که جهت نوشتن وارسال SMS بکار می روند.
    [TABLE="class: cms_table, align: right"]
    [TR]
    [TD][B]توضیح[/B][/TD]
    [TD][B]AT command[/B][/TD]
    [/TR]
    [TR]
    [TD][/TD]
    [TD][/TD]
    [/TR]
    [TR]
    [TD]ارسال پیام[/TD]
    [TD]+CMGS[/TD]
    [/TR]
    [TR]
    [TD]ارسال پیام از مکانی که ذخیره شده است[/TD]
    [TD]+CMSS[/TD]
    [/TR]
    [TR]
    [TD]نوشتن پیام در حافظه[/TD]
    [TD]+CMGW[/TD]
    [/TR]
    [TR]
    [TD]حذف پیام[/TD]
    [TD]+CMGD[/TD]
    [/TR]
    [TR]
    [TD]ارسال دستور[/TD]
    [TD]+CMGC[/TD]
    [/TR]
    [TR]
    [TD]ارسال چندین پیام[/TD]
    [TD]+CMMS[/TD]
    [/TR]
    [/TABLE]












    یک راه ارسال AT command ها به تلفن همراه یا مودم GSM/GPRS، استفاده از یک برنامه ی ترمینال است. وظیفه ی برنامه ی ترمینال بدین صورت است که: کارکترهایی را که تایپ می کنید، به یک تلفن همراه یا مودم GSM/GPRS می فرستد. سپس تلفن همراه یا مودم GSM/GPRS پاسخ دریافتی را در صفحه نمایش نشان می دهد. Hyper Terminal، برنامه ی ترمینال در Windows است.
    در زیر یک مثال ساده جهت توضیح چگونگی استفاده از این دستورات و همچنین استفاده از برنامه ی Hyper Terminal به منظور ارسال SMS، نشان داده شده است. خطوطی که فونت آنها bold است، دستوراتی هستند که ما باید آنها را در Hyper terminal بنویسیم. خطوط دیگر، پاسخهای برگشتی از طرف تلفن همراه یا مودم GSM/GPRS است.

    A
    کد PHP:
    T
     OK
     AT
    +CMGF=1
     OK
     AT
    +CMGW="+989353659299"
     
    A simple demo of SMS text messaging.
     +
    CMGW1

     OK
     AT
    +CMSS=1
     
    +CMSS20

     OK 
    [B]توضیح:[/B]

    • خط 1: به منظور تست connection، "AT" به مودم GSM/GPRS ارسال می شود. مودم GSM/GPRS نتیجه که "OK" است را در خط بعد(2) برمی گرداند. نتیجه بدین معناست که connection بین برنامه یHyper Terminal و مودمGSM/GPRS به خوبی برقرار شده و درست کار می کند.
    • خط3: +CMGF دستور AT command ی است که جهت قرار دادن مودم GSM/GPRS در حالت text استفاده می شود. نتیجه ی این دستور که "OK" است در خط 4 بر گردانده شده است. این نشان می دهد که دستور "AT+CMGF=1" با موفقیت اجرا شده است. اگر نتیجه ی این دستور "ERRROR" باشد، به این معنا است که مودم GSM/GPRS ی که در اختیار دارید حالت text را پشتیبانی نمی کند. جهت تعیین این مطلب، در برنامه ی Hyper Terminal دستور"AT+CMGF=?" را تایپ کنید. اگر پاسخ "+CMGF(0,1)" بود (0=مد PDU و1= مدtext)، مودم حالت text را پشتیبانی می کند. اما اگر پاسخ "+CMGF0)" بود، SMS text mode پشتیبانی نمی شود.
    • خطوط 5 و6: +CMGW دستور AT command ی است که یک SMS با پیام متنی (SMS text message) را در مخزن پیام یک مودم GSM/GPRS می نویسد. "+852912345567" , شماره ی تلفن همراه گیرنده ی پیام است. بعد از تایپ شماره تلفن گیرنده ی پیام، باید حتما کلید Enter را بزنید. پس از آن مودم GSM/GPRS نماد اعلان "<" را بر می گرداند و می توانید بعد از این علامت متن پیامتان را تایپ کنید "A simple demo of SMS text messaging.". بعد از اینکه متن پیامتان را نوشتید کلید های CTRL + Z را بزنید.
    • خط 7: "+CMGW:1" به این معنا است که اندیس نسبت داده شده به این SMS برابر 1 است. این عدد نشان دهنده ی مکان این SMS در مخزن پیام مودم GSM/GPRS است.
    • خط 9: نتیجه ی دستور "OK" است که نشان می دهد دستور "+CMGW" با موفقیت انجام شده است.
    • خط 10: +CMSS دستور AT command ی است که جهت ارسال SMS متنی از مخزن پیام مودم "GSM/GPRS" است ."1" اندیس SMS ی است که از خط 7 به دست آمده است.
    • خط 11:"+CMSS:20" بیان می کند: شماره ی مرجعی که به SMS نسبت داده شده است، 20 است.
    • خط 13: نتیجه ی دستور، "OK" است .به این معنا که دستور با موفقیت اجرا شده است.


    به منظور ارسال SMS از یک application، باید source code مربوط به اتصال و ارسال دستورات AT command به یک تلفن همراه یا مودم GSM/GPRS، درست مانند آنچه Hyper Terminal انجام می دهد را بنویسد. می توانید source code را در C,C++,Java,Visual Basic,Delphi , ... بنویسید. اما نوشتن این source code معایبی هم دارد که در زیر به چند مورد اشاره شده است:

    • باید حتما به چگونگی استفاده ی AT command ها آشنا باشید.
    • باید چگونگی تشکیل بیت و بایت sms را بدانید. برای مثال، برای تعیین اینکدینگ کارکترهای SMS ( اینکدینگ 7 بیتی یا اینکدینگ Unicode 16 بیتی )، نیازمند این هستید که بدانید کدام بیتها در header پیام باید ویرایش شوند و چه مقداری به آنها اختصاص داده شود.

    دربیشتر موارد، به جای نوشتن AT command ها به منظور تعامل و ارتباط با تلفن همراه یا مودم GSM/GPRS، راه حل بهتر استفاده از SMS messaging API(Application programming interface) SDK(software development kit) library/ سطح بالا است. API/SDK/library جزئیات سطح پایین را پنهان می کنند. بنابراین، برنامه نویسSMS application نیازی به شناخت AT command ها و ساختار سطح بیتی SMS ندارد. بعضی از API ها، SDK ها وکتابخانه ها علاوه بر AT command ها، پروتکل های SMSC را نیز پشتیبانی می کنند. به منظور تغییر از یک solution SMS مبتنی بر مودم بیسیم به یک SMS solution مبتنی بر SMSC تنها لازم است که یک "فایل پیکربندی"/"فایل خصوصیات" را ویرایش کنید و یا تغییرات اندکی در سورس SMS application انجام دهید.



    [B]چگونگی استفاده از [/B][B]AT COMMAND[/B][B] در [/B][B]C#[/B]
    در ابتدا ما باید فضای نام [I]using[/I][I] System.IO.Ports;[/I] به پروژه اضافه کنیم .
    از این به بعد تمامی کار ما به صورت کار کردن با پورت ها می باشد .
    از آن جایی که با خرید هر مودم دفترچه راهنمایی مبنی بر پشتیبانی آن مودم از AT Command های خاص آن مودم نیز داده می شود پس هنگام استفاده و نوشتن این دستورات روی پورت حتما مطمئن شوید که مودم مورد نظر از این دستورات پشتیبانی خواهد کرد.
    برای کار با پورت ها متغیری همانند زیر به صورت سراسری تعریف می کنیم :
    SerialPort comPort = new SerialPort();
    در سازنده کلاس تنظیمات ابتدایی برای کار با مودم تنظیم می شود:
    کد PHP:
    //COM SETTING
                
    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;
     
    ارسال  پیام کوتاه :
     
            
    //  AT+CMGS    --- To Send Message
            
    private void sendSms()
            {
                if (!
    comPort.IsOpen)
                    
    comPort.Open();
                
    comPort.DiscardInBuffer();
     
                
    comPort.DiscardOutBuffer();
                
    //Exam : 
                //AT+CMGS="09353659299"
                //message text
                //Ctrl+Z : Char.ConvertFromUtf32(26)
                //Enter : (char)13
                
    atCommandStr "AT+CMGS=" Char.ConvertFromUtf32(34) + phoneTXT.Text
                        
    Char.ConvertFromUtf32(34) + (char)13 messageTXT.Text
                        
    Char.ConvertFromUtf32(26);
                
    comPort.WriteLine(atCommandStr + (char)13);
                
    //read immediately response
                
    messageTXT.Text comPort.ReadExisting();
                
    comPort.Close();
            } 


    [B]خواندن پیام کوتاه :[/B]
    نکته قابل توجه در این بخش حافظه سیم کارت می باشد، با توجه به اینکه سیم کارت مثل یک آرایه عمل کرده و در اولین مکان خالی پیام دریافتی قرار خواهد گرفت. بعد از خواندن پیام نیز حتما باید آن پیام پاک شود تا فضا برای دریافت مابقی پیام ها آزاد گردد. معمولا حافظه آزاد هر سیم کارت به اندازه 15 پیام می باشد :


    کد PHP:
    //AT+CGMR=#  --- To Read Message
            
    private void readSms()
            {
                if (!
    comPort.IsOpen)
                    
    comPort.Open();
     
                
    string s string.Empty;
               
                
    unreadMessage.Clear();
                for (
    int i 1<= 15i++)
                {
                    
    atCommandStr "AT+CMGR=";
                    
    comPort.DiscardInBuffer();
                    
    comPort.DiscardOutBuffer();
                    
    comPort.Write(atCommandStr i.ToString() + (char)13);
                    
    comPort.ReadExisting();
                    if (
    s.Contains("REC UNREAD"))
                    {
                        
    unreadMessage.Add(s);
                        
    deleteMessage(i);
                    }
                }
                
    inboxTXT.Clear();
     
                for (
    int i 0unreadMessage.Counti++)
                    
    inboxTXT.Text += unreadMessage[i].ToString() + "\n";
               
     
                
    comPort.Close();
            }
     
            private 
    void deleteMessage(int index)
            {
                if (!
    comPort.IsOpen)
                    
    comPort.Open();
                
    comPort.DiscardOutBuffer();
     
                
    atCommandStr "AT+CMGD=" index.ToString();
                
                
    comPort.WriteLine(atCommandStr + (char)13);
     
     
            } 

    [B]خلاصه :[/B]
    همانطور که نشان داده شد، مهمترین قسمت کار برای ارسال و دریافت sms از طریق یک تلفن همراه یا مودم GSM/GPRS، شناخت هر چه بهتر دستورات "AT Command" است. در این مقاله ما تنها به بررسی دو مورد از این مجموعه دستورات وسیع "AT Command" پرداختیم و بررسی مابقی دستورات را برعهده خواننده گذاشته شده است.
    امید است که توانسته باشیم قدمی هر چند کوچک در جهت بالا بردن سطح دانش شما عزیزان برداشته باشیم.
    فایل های ضمیمه فایل های ضمیمه
    با M.S.P Soft به دنياي برنامه نويسي وارد شويد[برای نمایش لینک باید عضو شوید. ]
نمایش نتایج: از 1 به 1 از 1

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ: 0
    آخرين نوشته: 2012-02-01, 08:25 AM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

Content Relevant URLs by vBSEO 3.6.0 RC 2