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

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

راه اندازی 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 طراحی کنید که قابلیت اتصال به هر نوع میکروکنترلی را داشته باشد.

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

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

 

0 نفر

پــــســنــدیـده انـد

توجه

آواتار نویسنده
BLO OM

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

دیدگاه ها

10 دیدگاه

  • محمد
    ۱۹ بهمن ۱۴۰۰

    با سلام و خسته نباشد
    لطف کنید آموزش ارسال SMS فارسی در حالت HEX رو با این ماژول قرار بدید ، چون من هر چی سعی کردم با خطا مواجه شدم ، ممنون از شما

  • محسن
    ۱۹ دی ۱۳۹۹

    سلام وقتتون بخیر کد هاتون بدرستی اجرا نمیشن با اینکه همه رو کتابخانه هم کردو روتین کامپایل کردم به تابع srvice گیر میده که در بالا تعریف نشده ؟؟

  • مهدی
    ۲۸ مرداد ۱۳۹۸

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

    • Sisoog Os
      Sisoog OS
      ۲۸ مرداد ۱۳۹۸

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

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

  • مهدی
    ۶ مرداد ۱۳۹۸

    سلام
    با ماژولهای 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

    • BLO OM
      BLO OM
      ۶ مرداد ۱۳۹۸

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

      • مهدی
        ۷ مرداد ۱۳۹۸

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

        • BLO OM
          BLO OM
          ۷ مرداد ۱۳۹۸

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

  • رضا
    ۲۲ تیر ۱۳۹۸

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

    • BLO OM
      BLO OM
      ۲۳ تیر ۱۳۹۸

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

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 3 سال پیش
راه اندازی LCD گرافیکی Nokia 1661

راه اندازی LCD گرافیکی Nokia 1661

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش
ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

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

Zeus ‌ Zeus ‌
  • 5 سال پیش
همه چیز درباره ریموت کنترل‌های هاپینگ

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش
مسابقه سوم: استخراج داده از رشته ها در زبان C

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش
مسابقه ششم: بزن میکروکنترلر را بسوزون!

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 12 ماه پیش
آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش
ساخت ماینر با FPGA و ARM

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش
کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش
مسابقه چهارم: کدام حلقه سریع‌تر است؟

مسابقه چهارم: کدام حلقه سریع‌تر است؟

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

Zeus ‌ Zeus ‌
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک