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

راه اندازی ماژول SIM800 بخش دهم - تشخیص تماس و پیامک بدون دستورات
نوشته شده توسط

با سلام خدمت همه دوستان و همراهان گرامی مایکروالکام. قابلیت دریافت و پردازش پیامک و تماس صوتی، از جمله امکانات جذاب در محصولاتی می‌باشد که در آنها از ماژول های GSM مانند SIM800 استفاده شده است. برای پردازش پیامک و تماس توسط میکروکنترلر، ابتدا باید با روش مناسبی از دریافت آنها توسط ماژول مطلع شد. معمولا برای اطلاع از دریافت این موارد توسط ماژول، میکروکنترلر از دستورات AT Command استفاده می‌کند. اما در اینجا روشی را معرفی خواهم کرد که میکروکنترلر بتواند بدون استفاده از دستورات سریال، از دریافت پیامک یا تماس صوتی به صورت بلادرنگ با استفاده از پایه RI اطلاع پیدا کرده و سپس برای بررسی جزییات آنها از دستورات مربوطه استفاده کند. پس با من تا انتهای مطلب همراه باشید. همچنین شما میتونید سایر مطالب من رو از این لینک مطالعه و بررسی کنید.


معرفی پایه RI در ماژول SIM800

برروی ماژول SIM800 پایه ای به نام RI وجود دارد که در حالت عادی طراحی مدارات، از آن استفاده نمی‌شود. شماره این پایه در ماژول های مختلف متفاوت است. به عنوان مثال، در ماژول SIM800C شماره این پایه 7 می‌باشد.

پایه RI در ماژول SIM800C
پایه RI در ماژول SIM800C

نحوه عملکرد پایه RI در ماژول SIM800

این پایه در شرایط مختلف دریافت پیامک یا تماس صوتی، از سطح 1 به 0 تغییر وضعیت می‌دهد. با اتصال این پایه به ورودی اینتراپت خارجی میکروکنترلر و تنظیم اینتراپت روی فعال شدن با لبه پایین رونده (Falling Edge) میتوان به محض دریافت پیامک یا تماس صوتی، میکروکنترلر را مطلع نمود.

برای این کار، باید رفتار این پایه در شرایط مختلف را بررسی کنیم. طبق دیتاشیت ماژول SIM800C این پایه به طور معمول 3 حالت به خود می‌گیرد:

  1. در حالت عادی یعنی بدون دریافت پیامک یا تماس این پایه در سطح 1 است.
  2. با دریافت تماس صوتی، این پایه 0 شده و با جواب دادن یا قطع تماس، به سطح 1 برمیگردد.
  3. با دریافت پیامک، این پایه 0 شده و بعد از مدت 120 میلی ثانیه دوباره به سطح 1 برمیگردد.

این سه حالت کاری، در شکل زیر در دیتاشیت ماژول نشان داده شده است:

نحوه عملکرد پایه RI در ماژول SIM800
نحوه عملکرد پایه RI در ماژول SIM800

با دریافت تماس یا پیامک توسط ماژول و با تغییر وضعیت پین RI از 1 به 0، میکروکنترلر وارد زیر برنامه اینتراپت می‌شود. در این لحظه، برنامه باید مدت 120 میلی ثانیه (کمی بیشتر مثلا 200 میلی ثانیه برای اطمینان بیشتر) صبر کند یا با تایمر این تاخیر را ایجاد کند. پس از طی شدن این زمان، وضعیت پین RI دوباره بررسی شود. اگر وضعیت پین کماکان 0 بود، به این معناست که ماژول تماس صوتی دریافت کرده است و اصطلاحا ماژول در حال زنگ خوردن است. اما اگر وضعیت پین به سطح 1 برگشته بود یعنی ماژول پیامک دریافت کرده است. پس از تشخیص نوع دریافتی ماژول، برنامه دستورات مربوط به هر بخش برای بررسی محتوای پیامک و یا پاسخ یا رد تماس را اجرا خواهد کرد.

مزیت استفاده از پایه RI در ماژول های GSM مانند SIM800

یکی از مزیت های این روش در استفاده از ماژول های GSM مانند SIM800، توانایی بیدار کردن میکروکنترلر از حالت خواب با استفاده از اینتراپت خارجی می‌باشد. این ویژگی برای دستگاه هایی که با باتری کار می‌کنند و میکروکنترلر در حالت بیکاری سیستم به خواب می رود بسیار اهمیت دارد.


جمع بندی

در اکثر مداراتی که در آنها از ماژول های GSM استفاده شده است، از دستورات AT Command برای آگاهی از دریافت پیامک یا تماس صوتی استفاده می‌شود. در این مطلب، با روشی جدید با استفاده از رفتار پین RI در ماژول های GSM، بدون استفاده از دستورات سریال و با اتصال این پین به اینتراپت خارجی میکروکنترلر، در لحظه دریافت پیامک یا تماس را تشخیص داده و با بررسی مدت زمان 0 بودن پین RI، حالت دریافت پیامک و حالت دریافت تماس صوتی را به خوبی تفکیک می‌کنیم. این روش برای دستگاه های کم مصرف اهمیت ویژه ای دارد زیرا می توان از آن برای مدیریت حالت خواب میکروکنترلر استفاده کرد.

امیدوارم که این مطلب مورد رضایت شما قرار گرفته باشد. چنانچه در این خصوص سوال، نظر و یا اطلاعات و تجربه ای دارید، آن را از قسمت کامنت ها با ما در میان بگذارید تا در اسرع وقت پاسخ داده شود و از تجربیات و اطلاعات شما هم استفاده شود. همچنین ما را در پیج اینستاگرام مایکروالکام دنبال کنید.

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

  1. سلام
    مطلب جالب و منحصر به فردی بود – ممنون
    من میخام با اردینو و ماژول سیم۸۰۰ به کامپیوتر وصل بشم و توسط یک برنامه که توسط اکسس یا سی یا غیره نوشته شده : پیامک های دریافتی سیم۸۰۰ را روی کامپیوتر در یک فایل بریزم – ممنون میشم کمکم کنید.

    1. سلام، برای اینکار باید از مبدل USB به Serial استفاده کنید و متن پیام یا خود پیامک را از طریق میکرو به سیستم ارسال کنید و در اونجا سناریو مورد نظر خودتون پیاده کنید.
      اگر از آردوینو استفاده می‌کنید برای اینکار علاوه بر پورت سریال سخت افزاری برای ارتباط با GSM، از یک سریال مجازی برای تبادل دیتا با ویندوز نیز استفاده کنید.

  2. سلام استاد امکان داره بفرمایید وقتی به واحد وقفه ماژول را وصل میکنیم زمان را اندازه بگیریم چون در واحد وقفه توابع زمان در اردوینو کار نمیکنه ممنون

  3. سلام ممنون بابات اموزشتون.
    اما فکر میکنم فقط برای تماس low میشه و اگه بخایم برای sms هم low بشه باید تنظیمش کنیم و گرنه بصورت پیشفرض غیرفعاله.
    شما امتحان کردید؟

    1. سلام. وقت بخیر
      تا جایی که بنده با انواع ماژول های GSM مثل SIMCOM و QUECTELL کار کردم، این قابلیت پیشفرض فعاله و نیاز به فعالسازی جداگانه نداره. اگر در ماژولهای نسل های جدید نیاز به فعالسازی داشته باشه، قطعا در داکیومنت های ماژول گفته شده.
      موفق باشید.

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

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