راه اندازی ماژول SIM800 بخش نهم – گزارش تحویل پیامک

راه اندازی ماژول SIM800 فعال کردن گزارش تحویل پیام
نوشته شده توسط

در مطالب قبلی راه اندازی SIM800 به بررسی و نحوه ارسال پیامک با ماژول های GSM سری SIM800 پرداخته شد. گزارش تحویل پیام یا SMS Delivery یک عبارت نام آشنا در هنگام استفاده از خدمات مبتنی بر پیامک می‌باشد. از این قابلیت برای اطلاع از اینکه پیامک به طرف مورد رسیده یا خیر استفاده می‌کنیم. در این مطلب نحوه استفاده و فعال کردن این قابلیت بررسی خواهد شد. پس با من تا انتهای مطلب همراه باشید. همچنین شما میتونید سایر مطلب من رو از این قسمت مطالعه کنید.


معرفی Delivery Report یا گزارش تحویل SMS

قابلیت گزارش تحویل پیامک یا Delivery Report در ماژول های GSM مانند تلفن همراه نیز وجود دارد. اما این قابلیت بصورت پیشفرض غیر فعال می‌باشد. برای فعال سازی و استفاده از این قابلیت باید از دستورات AT Command استفاده کرد.

گزارش تحویل پیامک Delivery Report در ماژول GSM سری SIM800
گزارش تحویل پیامک Delivery Report در ماژول GSM سری SIM800

Delivery Report باعث می‌شود هنگامی که پیامکی برای شخص مورد نظر ارسال شود و در پوشش شبکه موبایل نباشه به محض اینکه وارد پوشش شد و پیامک را دریافت کرد فرستنده اون پیامک مطلع شود. این مورد در بسیاری از کاربرد مهم است که مطمئن بشیم پیام به دست کاربر رسیده است یا خیر.


قطعات مورد نیاز


فعال کردن گزارش تحویل پیامک Delivery Report

قابلیت Delivery Report بصورت پیشفرض در ماژول GSM مانند ماژول های SIM800، SIM800L و… غیر فعال است. پس باید با استفاده از دستورات AT Command این قابلیت رو فعال کنیم.

بررسی وضعیت Delivery Report

برای آگاهی از تنظیم فعلی ماژول از دستور زیر استفاده میکنیم.

AT+CNMI?

+CNMI: 2,1,0,0,0

OK

همانطور که از چهارمین پارامتر این دستور مشخص است، گزارش تحویل پیامک یا Delivery Report غیر فعال می‌باشد.

برای فعال کردن Delivery Report، این پارامتر را برابر “1” قرار میدهیم.

AT+CNMI=2,1,0,1,0
OK

در مرحله بعد با استفاده از دستور زیر مدت زمان شناور بودن SMS را تنظیم میکنیم.

AT+CSMP=49,167,0,0

OK

دستورات بالا بصورت اتوماتیک ذخیره نمی‌شوند. برای ذخیره آنها میتونید از دستور زیر استفاده کرده و یکبار ماژول SIM800 رو ریست کنید.

AT&W

OK

برای اطمینان از فعال شدن این قابلیت، یک پیامک میفرستیم. 

برای آگاهی از نحوه ارسال پیامک و راه اندازی ماژول SIM800 این مطلب را مطالعه کنید. با توجه به پاسخ ماژول متوجه میشیم پیامک در چه ساعت و تاریخی به دست مخاطب رسیده است.

AT+CMGS="09xxxxxxxx"
> DELIVERY TEST

+CMGS: 89

OK

+CDS: 6,89,"09XXXXXXXXX",129,"21/06/27,23:19:59+18","21/06/27,23:20:02+18",0

عبارت زیر بیانگر فعال شدن قابلیت گزارش تحویل یا Delivery Report می‌باشد.

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

+CDS: 6,89,”09XXXXXXXXX”,129,”21/06/27,23:19:59+18″,”21/06/27,23:20:02+18″,0


جمع بندی

در این مطلب با گزارش تحویل پیام یا Delivery Report آشنا شدید. با استفاده از دستورات AT Command و مراحل ذکر شده در بالا، میتوانید این قابلیت را برروی ماژول های SIM800 فعال نمایید.

امیدوارم از این آموزش کمال بهره را برده باشید. در صورتی که هرگونه نظر یا سوال داشتید درباره این آموزش لطفا اون رو در انتهای همین صفحه در قسمت دیدگاه ها قرار بدید. در کوتاه ترین زمان ممکن به اون ها پاسخ خواهم داد. اگر این مطلب براتون مفید بود، اون رو حتما به اشتراک بگذارید. همینطور میتونید این آموزش را پس از اجرای عملی توی اینستاگرام با هشتگ microelecom# به اشتراک بگذارید و پیج مایکروالکام (microelecom@) رو هم منشن کنید.

۴ دیدگاه برای “راه اندازی ماژول SIM800 بخش نهم – گزارش تحویل پیامک

  1. سلام، چه دستوری میتونم به sim800 بفرستم تا از تعداد sms خوانده شده و خوانده نشده مطلع بشم؟
    ممنون

    1. سلام
      از دستور AT+CMGL استفاده کنید. همینطور برای اینکه دقیق تر و متناسب با نیازتون استفاده کنید حتما توضیحات این دستور را در داکیومنت مربوطه مطالعه کنید.
      اگر سوالی بود حتما بفرمایید. خوشحال میشم کمکی بتونم کنم.
      موفق باشید.

  2. سلام. ممنون از زحماتتون. خیلی واضح توضیح دادین. یه سوال داشتم. این پیام هایی که از طرف ماژول برای میکرو ارسال میشه (مثل ok و … ) اینا رو چطوری تو یه متغییر ذخیره کنم و ازشون اطلاعات مورد نیازم رو خارج کنم؟ میخام با stm32 باهاش ارتباط بر قرار کنم و یه گوشی خیلی ساده رو شبیه سازی کنم. میخام با توجه به پاسخ های دریافتی از ماژول و تحلیل اونها برنامم رو بنویسم . مثلا میخام پیام بفرستم. پیام رو که با دستور هایی گفتین میفرستم هیچی. ولی جواب ماژول که مثلا پیامک تحویل رو که برام میفرسته رو چطوری ذخیره کنم؟ یا اصلا خیلی ساده / بفهمم که ماژول در جواب دستور هام ok داده یا ارور. ممنون میشم راهنماییم کنین

    1. سلام؛ خواهش می‌کنم. خوشحالیم که مفید واقع شده براتون.
      در این خصوص میتونید هر وقت کامندی برای ماژول ارسال کردید، مدت زمانی را متناسب با نوع کامند در نظر بگیرید. بعد از سپری شدن این زمان با دستورات سریال پورت سریال میکرو رو بررسی کنید و اطلاعاتش رو بخونید و در یک متغییر ذخیره کنید. بعد از اون متغییر را بررسی کنید که چه عبارت یا چیزی داخلش ذخیره شده و نهایتا کار مد نظر خودتون رو انجام بدید.
      برای اینکه متوجه بشید که چه زمانی ماژول دیتایی به میکرو میفرسته هم میتونید از اینتراپت سریال استفاده کنید یا همون موقع که کامند میفرستید پورت سریال رو بخونید یا اینکه از پایه RI ماژو ل [SIM800] استفاده کنید. نحوه استفاده از این پایه رو در لینک زیر میتونید کامل مطالعه کنید.
      https://blog.microele.com/sim800l-gsm-module-tutorial-part10-ri-pin/

      موفق باشید. سوالی بود مجددا بپرسید در خدمتتون هستیم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.