ماژول های سیم کارتی از مهم ترین ابزارها در پروژه های مخابراتی به شمار می روند. به کمک این ماژول ها می توانید از راه دور و بدون هیچ محدودیت فاصله ای، به ارسال و دریافت داده بپردازید. این ماژول ها همانند یک تلفن همراه عمل می کنند. بدین ترتیب که به کمک آن ها، می توان به ارسال و دریافت پیامک، برقراری تماس تلفنی صوتی دو طرفه پرداخت. همچنین به کمک این ماژول شما قادر به اتصال به شبکه جهانی اینترنت خواهید بود. بدین ترتیب با پروتکل های مختلف و روش های متفاوت، امکان ارتباط از راه دور فراهم می شود. ماژول های سیم کارتی نقش بسیار مهمی را در پروژه های کنترل از راه دور ایفا می کنند. تاثیر این ماژول ها بر صنعت مخابرات به گونه ای است که در تمام پروژهای اینچنینی، می توان تاثیر و کاربرد این ماژول را مشاهده نمود. ماژول های سیم کارتی جهت راه اندازی و کار از استاندارد ۳GPP پشتیبانی می کنند. طبق این استاندارد، ماژول های مخابراتی با فرامینی از پیش تعیین شده تحت عنوان AT ها، راه اندازی می شوند. در این آموزش ما به طراحی و توسعه یک کتابخانه GSM تحت آردوینو، جهت کار با این ماژول ها می پردازیم. در ادامه آموزش توسعه کتابخانه GSM با مرجع تخصصی ماژول سیم کارت به زبان فارسی، دیجی اسپارک همراه باشید.
ماژول های سیم کارت تعریف و کاربرد
ماژول های سیم کارتی یکی از مهم ترین ابزارها در پروژه های کنترل از راه دور به شمار می روند. با قرارگیری سیم کارت درون این ماژول ها، همانند یک تلفن همراه به شبکه موبایلی کشور متصل می گردند. بدین ترتیب به کمک این قابلیت، شما می توانید به دریافت و ارسال پیامک، تماس تلفنی و… با ماژول مخابراتی خود بپردازید.
مطابق تصویر فوق، کاربر تنها به کمک تلفن همراه خود و بدون نیاز به هیچ ابزار دیگری، می تواند به ماژول مخابراتی فرمان ارسال کرده و یا داده دریافت کند. ماژول های مخابراتی، مانند ماژول های شرکت سیم کام، دارای رابط ارتباط سریال UART هستند. به کمک این رابط ماژول می تواند از کاربر فرامین را دریافت کرده و پاسخ مناسب را به ماژول ارسال کند. این فرامین ، در حقیقت همان فرامین AT هستند. پیشتر در سلسله آموزشی، به راه اندازی و کار با این ماژول پرداخته ایم. این سلسله آموزش را با کلیک بر روی این لینک می توانید دنبال کنید. سلسله آموزشی که پیشتر منتشر شده، با محوریت فرامین AT به صورت عمقی به موضوع می پردازد. در این سلسله آموزش ها شما می توانید به ماژول های مخابراتی، پروتکل های شبکه اینترنت، نحوه تبادل داده در فضای وب، پیامک و تماس آشنا شوید. در این آموزش اما قصد داریم تا به طراحی و توسعه یک کتابخانه ساده بپردازیم. این کتابخانه با توابعی پایه ای و کار آمد، می تواند روال راه اندازی و کار با این ماژول ها را تسریع بخشد. قسمت بعدی را به معرفی این کتابخانه، الزامات فنی و توابع آن اختصاص می دهیم.
الزامات فنی کتابخانه gsm_lib
جهت راه اندازی و کار با ماژول های مخابراتی، کتابخانه ای با نام gsm_lib توسعه داده ایم. این کتابخانه با کلیه ماژول های مخابراتی شرکت سیم کام و سایر شرکت ها که از استاندارد ۳GPP پشتیبانی می کنند، قابل استفاده خواهد بود. این کتابخانه بر روی برد های آردوینو با هسته AVR و بردهای سری ESP قابل اجراست.
در رابطه با این کتابخانه، نکات زیر را می بایست به عنوان الزامات فنی در نظر گرفت:
۱-این کتابخانه از سریال سخت افزاری(Serial) برای ارتباط با ماژول استفاده می کند.
۲-در حال حاضر امکان استفاده از سریال نرم افزاری(sofwareSerial) برای این کتابخانه وجود ندارد.
۳-تا این لحظه این کتابخانه قادر به برقراری تماس تلفنی و ارسال پیامک است.
۴-در هنگام آپلود برنامه توسعه یافته با این کتابخانه، کابل متصل به پایه RX برد آردوینو یا ESP باید جدا شده و پس از آپلود مجددا متصل گردد.
دانلود و نصب کتابخانه
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
توابع کلیدی و کاربردی
پس از نصب کتابخانه، به معرفی توابع آن می پردازیم. این کتابخانه دارای سه تابع جهت کنترل اتصال به شکبه، برقراری تماس تلفنی و ارسال پیامک است. جدول زیر این توابع را شرح می دهد.
شرح | ورودی | تابع |
این تابع ارتباط به ماژول مخابراتی را کنترل می کند. تا زمانیکه ارتباط با شبکه برقرار نشده باشد، تابع منتظر باقی می ماند. | بدون ورودی | begin() |
به کمک این تابع با شماره ای که در ورودی قرار گرفته است، تماس گرفته می شود. | ورودی از نوع رشته | call(number); |
این تابع متن text را به شماره number پیامک می کند. | هر دو ورودی از نوع رشته | send_sms(text,number) |
پس از بررسی توابع، نوبت به اجرای یک نمونه برنامه می رسد. در این برنامه از برد آردوینو UNO و ماژول SIM800L استفاده شده است. قسمت بعدی مربوط به شماتیک و قطعات مورد استفاده است.
شماتیک و اتصالات
پیش از اجرای یک نمونه برنامه، این قسمت را به شماتیک و اتصالات پروژه توسعه کتابخانه GSM اختصاص می دهیم. ابتدا به تصویر زیر که فرم کلی از اتصالات را نمایش می دهد، دقت کنید.
پس از این قسمت، اتصالات را به شیوه زیر ادامه دهید.
- تنظیم خروجی مثبت ولتاژ ماژول کاهنده LM2596 روی ۴ ولت و اتصال آن به VCC ماژول SIM800L
- اتصال پایه خروجی منفی ماژول کاهنده به پایه GND ماژول SIM800L
- اتصال پایه خروجی منفی ماژول کاهنده به پایه GND آردوینو
توجه۱: ابتدا خروجی ماژول کاهنده روی ۴ تنظیم شده و سپس اتصال برقرار گردد.
توجه۲: به ورودی ماژول کاهنده ولتاژ، یک آداپتور ۱۲ ولت ۵ آمپر متصل شده است.
توجه ۳: تغذیه برد آردوینو UNO از طریق کابل USB متصل به رایانه تامین می گردد.
پس از این قسمت، پایه TX ماژول SIM800L را به RX آردوینو متصل کنید. سپس در ادامه پایه TX آردوینو با تقسیم مقاومتی به پایه RX آردوینو متصل گردد. پس از برقراری اتصالات، نوبت به اجرای نمونه برنامه می رسد. قسمت بعدی را به این موضوع اختصاص می دهیم.
اجرای یک نمونه برنامه
پس از بررسی شماتیک و اتصالات، نوبت به اجرای برنامه می رسد. در این برنامه یک پیامک به شماره دلخواه ارسال می کنیم. پیش از آپلود به نکات زیر توجه نمایید.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
لوازم مورد نیاز
جمع بندی
در آموزش توسعه کتابخانه GSM به طراحی و پیاده سازی یک کتابخانه جهت راه اندازی و کار با ماژول های مخابراتی سیم کارت، پرداختیم. به کمک این کتابخانه در شکلی آسان می توان به برقراری تماس تلفنی و ارسال پیامک پرداخت. این کتابخانه با کلیه بردهای آردوینو مبتنی بر تراشه AVR و بردهای سری ESP سازگاری دارد. در این آموزش ابتدا به معرفی ماژول های مخابراتی پرداختیم. سپس نحوه نصب و الزامات فنی را مشاهده کردیم. در نهایت با ارایه مثال، یک مثال ساده را جهت ارسال پیامک، اجرا نمودیم.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.