سیم کارت GSM - GPRS

پروژه سیستم تبلیغ تلفنی خودکار با ماژول سیم کارت SIM800L

نوشته شده توسط معین صابری

تبلیغات یکی از شیوه های موثر در زمینه معرفی کالا و خدمات در کسب و کارها به شمار می رود. تاریخچه تبلیغات که شاید به بیش از قرن ها برسد، به شدت به فناوری روز وابسته است. شاید اگر در دهه های پیشین دیوار نویسی و پخش تراکت روشی نوین و موثر به شمار میرفت، امروز با ظهور فناوری های جدید، شیوه های تبلیغاتی نیز تغییر یافته اند. با ظهور تکنولوژی تلفن همراه، سیستم تبلیغات نیز از این فناوری بی بهره نمانده و سیستم های تبلیغات پیامکی رواج بسیار یافته اند. در این حین نیز، یکی دیگر از روش های تبلیغات، ارائه کالا و خدمات و حتی اطلاع رسانی به کارمندان یک شرکت، از طریق تماس تلفنی ضبط شده است.

در این آموزش به طراحی و پیاده سازی سیستم تبلیغ تلفنی خودکار به کمک ماژول مخابراتی SIM800L می پردازیم. ماژول SIM800L، یک مودم مخابراتی شبکه تلفن همراه بوده که برای راه اندازی تنها نیاز به یک سیم کارت دارد. این ماژول همچنین قادر است به سادگی به رایانه متصل شده و به ارسال و دریافت داده بپردازد. در این پروژه، به طراحی یک نرم افزار تحت #C پرداخته تا با دریافت اطلاعات تماس، پیام ضبط شده ای را در هنگام تماس با کاربران، پخش نماید. در ادامه این آموزش با مرجع تخصصی ماژول سیم کارت به زبان فارسی، دیجی اسپارک همراه باشید.

 


معرفی سیستم تبلیغات خودکار تلفنی


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

سیستم تبلیغات خودکار تلفنی با ماژول سیم کارت Sim800L - دیجی اسپارک

 

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

 


معرفی ماژول سیم کارت SIM800L


ماژول مخابراتی SIM800L، یک مودم مخابراتی با قابلیت برقراری تماس تلفنی، ارسال و دریافت پیامک و اتصال به شبکه GPRS است. این ماژول ها که قابلیت نصب میکروفون و بلندگو را بر روی خود دارند، می توانند به برقراری تماس صوتی دو طرفه نیز بپردازند. همچنین پروتکل ارتباطی این ماژول های از نوع سریال UART بوده و با فرامین از پیش تعیین شده موسوم به AT-Command ها، می توان قابلیت های این ماژول را کنترل نمود.

ماژول سیم کارت SIM800L - دیجی اسپارک

 

برای اتصال این ماژول ها به رایانه نیز، می بایست از مبدل های سریال به USB بهره برد. به کمک این مبدل ها، می توان از طریق پورت USB رایانه با پورت سریال این ماژول ها ارتباط برقرار کرد و فرامین مورد نظر را بر آن، اعمال نمود. در این پروژه نیز، به کمک زبان برنامه نویسی #C و تحت نرم افزار ویژوال استودیو، برنامه ای را طراحی می نماییم که با تعیین فایل شماره تماس ها و صدای ضبط شده پیام، با شماره ها تماس گرفته و پیام صوتی را پخش نماید. به عنوان نکته مهم، زبان برنامه نویسی #C قادر است تا از طریق پورت USB، با پورت سریال ماژول ارتباط برقرار کرده و داده ها و فرامین AT را به آن ارسال نماید. در ادامه به این موضوع خواهیم پرداخت.

 


نرم افزار ویژوال استودیو و زبان #C


یکی از مهم ترین و پرکاربردترین محصولات شرکت مایکروسافت، نزم افزار یکپارچه ویژوال استودیو مخصوص برنامه نویسان است. این نرم افزار که قادر است زبان های برنامه نویسی مختلفی نظیر #C، C و  ++C و… را پشتیبانی می نماید، دارای ابزاری به نام .NET بوده که به کمک آن می توان به ساخت فرم های گرافیکی برای نرم افزارهای تحت #C ساخت.

نرم افزار ویژوال استودیو و زبان #C - دیجی اسپارک

 

در آموزش های پیشین، به کمک نرم افزار طراحی شده توسط #C، اقدام به کنترل دور و جهت موتور متصل شده به آردویینو نمودیم. حتی در آموزشی دیگر، به کمک ماژول SIM800L و طراحی یک نرم افزار تحت #Ct سیستم ارسال پیامک از طریق ویندوز را پیاده سازی نمودیم. در زیر می توانید این آموزش ها را مطالعه و دنبال نمایید. آموزش کنترل دور و جهت موتور متصل به آردویینو توسط ویندوز و آموزش ارسال پیامک از طریق ویندوز در قسمت بعدی به نحوه طراحی و پیاده سازی نرم افزار تحت #C می پردازیم.

 


رابط گرافیکی نرم افزار تبلیغ تلفنی خودکار


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

رابط گرافیکی نرم افزار تبلیغ تلفنی خودکار با Sim800L - دیجی اسپارک

 

زمانیکه که وارد محیط نرم افزار visual studio می شوید، ابتدا بر روی گزینه file و سپس بر روی گزینه new کلیک کنید. در ادامه، عبارت Windows Form Appliacation را انتخاب نمایید. پس از بازگشایی محیط، با یک فرم خالی مواجه خواهید شد. مطابق تصویر فوق، در قسمت چپ، گزینه button را انتخاب نمایید، سپس در قسمت سمت راست می توانید نام دلخواه بر روی کلید قرار دهید. چنانچه بر روی این کلید دوبار کلیک کنید، وارد قسمت کدهای آن شده که در قسمت بعدی در رابطه با آن توضیح خواهیم داد.

 


کد پروژه سیستم تبلیغ خودکار تلفنی با SIM800L


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

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

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

 


شماتیک و اتصالات


در این قسمت شماتیک و اتصالات مدار را مشاهده می نمایید. این مدار، جزو ساده ترین مدارات الکتورنیکی بوده و کافیست تغذیه را به ماژول SIM800L و از طرف دیگر مبدل سریال را به همراه فیش پخش صدا، به ماژول متصل نمایید.

شماتیک پروژه تماس تبلیغاتی تلفنی با SIm800L - دیجی اسپارک

 

برای تغذیه ماژول SIM800L از ماژول کاهنده ولتاژ LM2596 استفاده نموده ایم. خروجی این ماژول را بر روی ۴٫۲۵ ولت تنظیم نموده و به ورودی آن آداپتور با بازه ولتاژ ۵ الی ۲۴ ولت با توان حداقل دو آمپری متصل نمایید. چنانچه با راه اندازی و کار با ماژول SIM800L آشنایی کافی ندارید، پیشنهاد می شود سری آموزش های این ماژول را که در لینک های زیر به صورت قسمت به قسمت و در هر قسمت مرحله به مرحله تشریح شده است، مطالعه نمایید.

راه اندازی و کار با ماژول SIM800L، بخش اول معرفی

راه اندازی و کار با ماژول SIM800L، بخش دوم تغذیه

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

راه اندازی وکار با ماژول SIM800L، بخش چهارم پیامک

راه اندازی وکار با ماژول SIM800L، بخش پنجم اینترنت

در ادامه، نیاز است تا خروجی صدای لپ تاپ جهت پخش پیام صوتی هنگام تماس، به پایه های میکروفون ماژول SIM800L متصل گردد. در این قسمت ما از یک کابل ۳٫۵MM استفاده کردیم. برای این منظور، با باز کردن این کابل، سه کابل به ترتیب برای اتصال بلندگو راست، چپ و بدنه وجود داشت. در مدل ما، کابل بدنه یا همان GND بدون روکش بود. ما این کابل را به پایه mic n یا منفی میکروفون ماژول SIM800L متصل کردیم. در ادامه، یکی از کابل را به دلخواه، به پایه مثبت میکروفون و یا MIC P متصل کردیم. در نهایت، برای برقراری ارتباط سریال بین ماژول SIM800L و مبدل سریال، اتصال این دوقطعه را به شکل زیر انجام دهید.

اتصال پایه RX مبدل به پایه TX ماژول

اتصال پایه TX مبدل به پایه RX ماژول

اتصال پایه GND مبدل به پایه GND ماژول

 


اجرای پروژه سیستم تبلیغ خودکار تلفنی با SIM800L


پس از پشت سر گذاشتن مراحل فوق، نوبت به اجرای پروژه می رسد. برای این منظور، پس از اتصال ماژول SIM800L به تغذیه، برای مدت حدودا یک دقیقه صبر کنید تا به شبکه متصل شود. پس از آن، با اتصال مبدل سریال به USB، آماده اجرای پروژه شوید. در نهایت با اجرای پروژه با تصویر زیر رو به رو خواهید شد.

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

پروژه تبلیغات تلفنی با ماژول سیم کارت Sim800L - دیجی اسپارک

 


تحلیل کدهای پروژه سیستم تبلیغ خودکار تلفنی با SIM800L


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

برای برقراری تماس تلفنی به کمک ماژول SIM800L، می بایست از دستور زیر استفاده نمود.

ATD+989121234567;

در این حین، می بایست وضعیت تماس را از پورت سریال خوانده و در صورت پاسخ به تماس، پیام صوتی را پخش نماییم. برای کنترل وضعیت تماس، می بایست در ابتدای برنامه، این دستور را به ماژول ارسال نماییم.

AT+CLCC=1

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

مطابق تصویر فوق، دریافت عبارت زیر از سوی ماژول بیانگر قبول تماس تلفنی از سوی کاربر است.

+CLCC: 0,0,0,0

در قسمت تابع مربوط به وقفه سریال، ابتدا داده های دریافتی در بافر سریال را به شکل زیر خوانده و در متغیر indata ذخیره می نماییم.

indata=sp.readLine();

 در این قسمت، میبایست محتوی متغیر indata را بررسی کرده و چنانچه عبارت مربوط به پاسخ تماس تلفنی دریافت شد، پیغام برای کاربر پخش شود. بنابراین به کمک تابع indexof، محتوی متغیر را به شکل زیر بررسی می نماییم.

if (indata.IndexOf("+CLCC: 1,0,0,0,0,") == 0)

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

System.Media.SoundPlayer player = new System.Media.SoundPlayer

 


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


ماژول SIM800L

مبدل سریال به USB

ماژول کاهنده ولتاژ LM2596

 


جمع بندی


در این آموزش به طراحی و پیاده سازی یک سیستم تبلیغات خودکار تلفنی به کمک ماژول SIM800L پرداختیم. سیستم های تبلیغات خودکار تلفی که امروزه بسیار پرکاربرد شده اند، با شماره کاربر تماس می گیرند. پس از پاسخگویی کاربر، این سیستم یک پیام ضبط شده از پیش را پخش می کند. در این آموزش نیز ما به کمک زبان برنامه نویسی #C و تحت سیستم عامل ویندوز، برنامه ای را طراحی کردیم که کاربر با قرار دادن یک شماره تلفن در کد برنامه و یک فایل صوتی در مسیری که در کد برنامه نیز می بایست آن را تعیین کند، با شماره تلفن تماس گرفته و در صورت پاسخگویی، پیام ضبط شده از طریق خط تلفن پخش خواهد شد.

 

 

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

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه

۸ دیدگاه

  • با سلام
    ممنونم برای آموزش‌های خوبتان. آیا با یک ماژول Sim800L میشه هم ارسال و دریافت پیامک و ایمیل و هم تبلیغ تلفنی خودکار انجام داد یا به تعداد بیشتری ماژول Sim800L نیاز داریم؟
    با تشکر

    • سلام و متشکرم از لطف شما
      بله، یک ماژول SIM800L تمام این قابلیت ها را در خود دارد. بنابراین می توان از تمام آن ها در یک ماژول SIM800L بهره برد.

  • سلام مهندس
    پروژه بسیار جالبی بود اما اگه میشد که این پروژه را با اردوینو و ماژول سیم‌کارت اجرا کرد بهتر بود
    یعنی اینکه شماره ها را از قبل داخل کد های اردوینو وارد میکردیم و یک دکمه هم درنظر می گرفتید که با فشردن این دکمه با تمام شماره هایی که از قبل داخل کد ها تعریف کرده بودیم تماس می‌گرفت و پیام ما پخش میشد و اینکه ده عدد ال ای دی هم درنظر بگیرید مثلاً موقعی که ماژول با هر شماره ای تماس برقرار کرد و ال ای دی ها روشن شد ما متوجه شویم که چند نفر الان درحال گوش دادن به پیام ما هستند .
    یا اینکه ما با استفاده از ارسال پیامک به سیستم می‌تونستیم شماره ها را ذخیره کنیم و یا حذف کنیم

    • سلام
      ممنونم از پیشنهاد شما
      ایده جالبی هست، روی این مورد کار می کنم.
      از همراهی شما بسیار ممنونم ،برای چند روز اینده هم پروژه های جالبی در حال انتشار هست، منتظر باشید!

  • سلام مهندس عزیز. سوالی داشتم .آیا بجای میکروفون، میشه هر خروجی صدا رو به ورودی صدای این ماژول وصل کرد مثل هدفون لبتاپ که شما انجام دادین؟ مثلا میشه از ماژول mp3 پلیر استفاده کرد تا این سیستم بینیاز از لبتاپ کار رو انجام بده ؟