Gsm Modem, Quectel کویکتل, آردوینو arduino, پروژه, پروژه آردوینو, توصیه شده, مقاله

راه اندازی GSM Modem با آردوینو (MC60 کویکتل)

راه اندازی GSM Modem با آردوینو (MC60 کویکتل)

تقریبا می‌توان گفت اسم شرکت کویکتل و ماژول های قدرتمند این شرکت به وفور به گوش علاقمندان فعال در حوزه الکترونیک رسیده، بالاخص برای دوستانی که در زمینه راه اندازی GSM کار می‌کنند. در این آموزش قصد داریم که ماژول قدرتمند MC60 شرکت کویکتل را توسط آردوینو راه اندازی کنیم.

توصیه میکنم حتما مقاله ماژول های کوئکتل – کویکتل و قابلیت خارق العاده OpenCPU را بخوانید تا با ماژول های قدرتمند شرکت کویکتل بیشتر آشنا شوید.

برای راه اندازی این ماژول حداقل باید موارد زیر در دسترس باشند تا بتوان آن را را راه اندازی کرد.

  • برد آموزشی آردوینو (از هر نوعی بود فرقی نداره)
  • برد آموزشی ماژول MC60
  • کدنویسی برای برقراری ارتباط با این ماژول

البته ممکن است خیلی از علاقمندان مورد دوم را نداشته باشند که در این مورد هم فکر شده و قصد داریم یک شماتیک برای این برد طراحی کنیم و در نهایت بتوانیم از آن استفاده کنیم.

البته در این آموزش برای راه اندازی ماژول MC60 از برد آموزشی که در شکل مشاهده می‌کنید، استفاده شده است.

برد راه انداز MC60

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

گام اول: کدنویسی

در این بخش قصد داریم کدی ساده برای برقراری ارتباط آردوینو با ماژول MC60 بنویسیم که شامل موارد زیر می‌شود.

  • ارسال پیام.
  • دریافت پیام.
  • اعلام موجودی سیم کارت.
  • شناسایی اپراتور.
  • معرفی تابع فیلتر حروف.
  • تنظیمات فعال سازی.

کدنویسی بخش ارسال پیام در ماژول MC60

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

کدنویسی بخش دریافت پیام در ماژول MC60

این قسمت از تابع هم به منظور دریافت پیام های دریافتی به همراه حذف آن ها از حافظه ماژول MC60 می‌باشد که این قسمت از برنامه حتما باید در قسمت LOOP برنامه باشد.

کدنویسی بخش اعلام موجودی سیم کارت در ماژول MC60

این بخش شامل سه زیر مجموعه می‌باشد.

  • بخش اول: شناسایی اپراتور
  • بخش دوم: تغییر زبان اپراتور به زبان انگلیسی
  • بخش سوم: دریافت موجودی

 

کدنویسی بخش شناسایی اپراتور در ماژول MC60

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

کدنویسی بخش تغییر زبان اپراتور به زبان انگلیسی در ماژول MC60

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

کدنویسی بخش دریافت موجودی در ماژول MC60

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

کدنویسی بخش معرفی تابع فیلتر حروف در ماژول MC60

این تابع کار فیلتر کردن حروف را به عهده دارد که توسط این تابع می‌توانیم هر رشته ای را بنویسیم و آن را توسط تابع بالا دریافت کنیم.

کدنویسی بخش دریافت شماره تلفن در ماژول MC60

کاری که این تابع انجام می‌دهد دریافت شماره تلفن می‌باشد که طبق همین تابع می‌توانیم شماره تلفن ها را محدود کنیم و اصطلاحا چندین کاربر و مدیر در برنامه خود تعریف کنیم.

کدنویسی بخش تنظیمات اولیه در ماژول MC60

این تابع در واقع کار ماژول GSM را چک می‌کند که آیا اماده به کار است یا خیر؟ در صورتیکه همه چیز درست باشد، باید OK را از ماژول دریافت کنیم.

 

خب حالا وقت استفاده از توابع رسیده، که باید از این توابع در قسمت اصلی کد استفاده کنیم.

نکته

این خط به این معنی است که اگر، بین BLOOM و bloom، هر رشته ای که نوشتیم آن را تشخیص دهد. به عبارت دیگر اصلا به عبارت مابین رشته ربطی ندارد بلکه تصور میکروکنترلر این است که، هر چیزی بین BLOOM و bloom بود آن را فیلتر کند و در نهایت مورد آنالیز قرار دهد که رشته فیلتر شده مربوط به کدام قسمت می‌باشد. (بسیار باعث خوانایی کد می‌شود)

به طور مثال اگر پیامی با متن BLOOM OUTPUT1 bloom بنویسیم. روندی که میکروکنترلر در پیش خواهد گرفت شامل موارد زیر می‌باشد.

شناسایی رشته بین BLOOM و bloom.

تحلیل رشته OUTPUT1.

اجرای دستورات رشته تحلیل شده.

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

برای دریافت دیتاشیت این ماژول اینجا کلیک کنید.

گام دوم: طراحی شماتیک برد MC60

شماتیک مدار تغذیه GSM Modem مدل MC60 کویکتل

دانلود شماتیک مدار GSM Modem کویکتل MC60

خب با این شماتیک به راحتی می‌توانید برای خود یک برد توسعه MC60 طراحی کنید که قابلیت اتصال به هر نوع میکروکنترلی را داشته باشد.

امیدوارم که این آموزش برای شما مفید واقع شده باشد.

با سیسوگ همراه باشید.

 


انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

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

 
BLO OM

درباره BLO OM

«السَّلَامُ عَلَیْکَ یَا أَبَا عَبْدِ اللَّهِ، السَّلَامُ عَلَیْکَ وَ رَحْمَهُ اللَّهِ وَ بَرَکَاتُهُ».

نوشته های مشابه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

8 دیدگاه

  1. Aghil ... مهدی گفت:

    با سلام و تشکر
    اگر امکان داره یه توضیح یا راهکاری بدید در مورد نوع سیم کارت مورد استفاده در مودم های GSM. فرض کنید یک دستگاه با استفاده از ماژول GSM ساختیم و باید در مکانی نصب بشه و برای مدت طولانی (مثلا چند سال) کار کنه و SMS ارسال کنه. حالا از چه نوع سیم کارتی باید استفاده کنیم؟ اعتباری یا دائمی؟ کدام اپراتور؟ برای GPRS چه سیمکارتی مناسب هست؟ و برای پرداخت قبض و یا شارژ سیم کارت اعتباری چه راهکاری وجود داره؟ آیا سرویسی هست که دیگه نیاز به پرداخت قبض موبایل و یا شارژ سیم کارت نباشه؟
    لطفا راهنمایی بفرمایید.
    ممنون

    1. Sisoog Os Sisoog Os گفت:

      سلام دوست عزیز
      در حالت عادی شهری که شما میتونید از همه سیم کارتها و اپراتورها استفاده کنید و زیاد فرقی با هم ندارند
      ولی در شرابط خاص انتن دهی در مکانهای خاص بعضی وقتها اپراتور های خاصی انتن دهی خاصی دارند که میتونه باعث بشه شما اون را انتخاب کنید.

      برای شارژ سیم کارت راحت ترین کارت استفاده از سرویس Top Upهست که بصورت برخط اون را شارژ میکنید ولی در صورتیکه تعداد سیم کارت زیادی دارید میتونید از قابلیتهای خاص سیم کارتهای شرکتی مثل اپراتور ایرانسل استفاده کنید که میتونه به شما کنترل انلاین شارژ سیم کارت و شارژ دسته جمعی و … به شما بده
      به عبارتی نیاز نیست کاری کنید و میتونید چندین هزار سیم کارت را با چند تا شرط ساده براحتی کنترل کنید
      مثلا اگر شارژ سیم کارت کمتر از 500 تومن شد مقدار هزار تومن شارژ بشه

  2. Avatar مهدی گفت:

    سلام
    با ماژولهای gms مختلفی کار کردم: sim908, sim5320 و به توصیه ای که در سیسوگ شده بود اومدم سراغ m66 تقریبا تمام کارهایی که میخوام با m66 میتونم انجام بدم فقط یه مشکل برخوردم زمانی که میخوام sms ارسال کنم پاسخ میده
    +CMS ERROR: 29
    هر کاری کردم نتونستم دلیلش رو بفهمم.
    نحوه ارسال:
    AT+CSCS=”GSM”
    OK
    AT+CMGF=1
    OK
    AT+CMGS=”xxx”
    > TEXT(CTRL-Z)
    +CMS ERROR: 29

    1. BLO OM BLO OM گفت:

      سلام دوست عزیزم
      اگر مقاله رو با دقت خونده باشید تابعی تحت عنوان “ارسال پیام” نوشته شده که فکر میکنم اگر از اون تابع استفاده کنید به مشکلی نخورید چون کاملا روی ماژول‌های شرکت SIMCOM و Quectel تست شده و جواب گرفته
      پیشنهادی که بنده دارم اینکه حتما اون تابع رو مورد بازبینی قرار بدید. امیدوارم که به جواب برسید و مشکلتون حل بشه
      موفق باشید.

      1. Avatar مهدی گفت:

        ممنون بابت راهنمایی سریعتون
        تمام مراحل درست بود اما باز جواب نداد تا بالاخره دلیلش رو پیدا کردم، گفتم همینجا بنویسم برای بقیه دوستان، شاید یکی مثل من گیر کرده بود:
        باید در بخش GPRS COMMAND مقدار دستور
        AT+CGSMS رو مساوی 1 قرار بدین(که پیش فرض ماژول هست)
        این دستور جهت انتخاب سرویس برای MO SMS هستش

        1. BLO OM BLO OM گفت:

          بسیار عالی دوست عزیزم
          خیلی خوشحال شدم که مشکلتون حل شده و ممنون از اینکه راه‌حل رو به اشتراک گذاشتید.
          موفق باشید.

  3. Avatar رضا گفت:

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

    1. BLO OM BLO OM گفت:

      سلام دوست عزیز
      تصویر به صورت کاملا اتفاقی بوده است.