ارسال پیامک سال هاست که با زندگی ما عجین شده است. کافیست یک تلفن همراه داشته باشید و به سادگی پیام خود را به مخاطب خود ارسال نمایید. از طرف دیگر، با وجود اینترنت که انواع پیام رسان ها را فراهم کرده است، هنوز پیامک کاربردی است. در این آموزش قصد داریم تا با ترکیب سنت و مدرنیته، از طریق اینترنت به ارسال پیامک بپردازیم. به عبارتی پنل پیامکی آردوینو بسازیم. برای ارسال پیامک از طریق اینترنت، یک وب سایت ساده طراحی کرده و متن و شماره مقصد را در آن قرار می دهیم. در طرف دیگر برد آردویینو به کمک اینترنت ماژول SIM808 با اتصال به سرور، پیام و متن را دریافت می نماید. پس از دریافت پیام و متن، به کمک قابلیت GSM در ماژول SIM808، پیامک را به کاربر ارسال خواهیم نمود. در ادامه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
شناخت پنل پیامکی
با گذر زمان، کسب و کارهای متفاوت رنگ متفاوتی به خود گرفته اند. اما تنها موردی که طی دهه های مختلف ثابت مانده است، تبلیغات است. تبلیغات نقش بسزایی در معرفی یک کسب و کار و افزایش فروش آن دارد. یکی از روش های موثر در تبلیغات، ارسال پیامک به مشتریان و یا افراد مختلف است. با ارسال پیامک، می توان مشتریان خود را از خدمات جدید آگاه و یا به واسطه معرفی خدمات، افراد جدیدی را به حلقه مشتریان اضافه نمود.
به کمک پنل ارسال پیامک اینترنتی، بدون هیچ فاصله و نیاز به ابزار خاصی، می توان پیامک مورد نظر را ارسال نمود. کافیست وارد سایت پنل پیامکی شده و با تعیین شماره و متن، پیامک خود را ارسال نمایید. در نهایت بعد از چند ثانیه، پیامک به کاربر ارسال خواهد شد.
ماژول سیم کارت SIM808
ماژول جی اس ام، یک ماژول مخابراتی است که امکان اتصال به شبکه تلفن همراه با قابلیت برقراری تماس دو طرفه صوتی، ارسال پیامک و اتصال به اینترنت را فراهم می آورد. در زیر خلاصه ای از قابلیت های این ماژول را با هم مرور می نماییم. کار در محدوده فرکانسی ۸۵۰/۹۰۰/۱۸۰۰/۱۹۰۰ مگاهرتز، قابیلت کار در محیط های صنعتی، قابلیت اتصال به اینترنت، دارای GPS جهت مکان یابی، تعیین سرعت حرکت و… پیشتیبانی از تمام پروتکل های HTTP،FTP،SMTP، قابلیت ارسال پیامک، قابلیت ارسال MMS، قابلیت اتصال به رادیو FM
عملکرد پنل پیامکی آردوینو
سازوکار اصلی ارسال پیامک از طریق اینترنت به دو بخش سخت افزار و نرم افزار تقسیم می گردد. در بخش نرم افزاری، وب سایتی طراحی شده است که با ورود به آن، می توانید شماره تلفن و پیام مورد نظر خود را ثبت نمایید. در رابطه با طراحی وب سایت، در این آموزش به طور کامل بحث کرده ایم. در بخش سخت افزاری، هسته پردازشی ما، برد آردویینو UNO است. این برد به کمک اینترنت ماژول SIM808 به سرور(وب سایت) متصل شده و متن پیامک را به همراه شماره تلفن مقصد، دانلود می نماید. پس از دریافت متن پیامک و شماره تلفن همراه، به کمک قابلیت ارسال پیامک ماژول SIM808، پیامک ثبت شده در سرور، به شماره مقصد، ارسال خواهد شد.
شماتیک مدار پنل پیامکی آردوینو
در تصویر زیر، شماتیک مدار ارسال پیامک از طریق اینترنت یا به عبارتی بخش سخت افزاری پنل پیامکی آردوینو را مشاهده می نمایید.
اتصالات ماژول Sim808 به برد آردوینو
پایه TX ماژول سیم کارت Sim808 به پایه ۱۰ برد آردوینو
پایه Rx با تقسیم مقاومتی(هر مقاومت یک کیلو اهم) به پایه ۱۱ آردوینو
پایه V ماژول سیم کارت GSM به تغذیه ۵ ولت
پایه GND ماژول علاوه بر تغذیه به پایه GND آردوینو
تغدیه ماژول Sim808
ماژول sim808 استفاده شده در آموزش ساخت پنل پیامکی آردوینو، نیاز به تغذیه ۵ ولت دارد. در صورتیکه آداپتور ۵ ولت ندارید، می توانید از آداپتور ۱۲ ولت استفاده نموده و سپس به کمک یک مبدل ولتاژ سوییچینگ، ولتاژ ۱۲ را به ۵ ولت بکاهید. آداپتور و یا مبدل کاهنده ولتاژ را تهیه کنید. بر روی مبدل کاهنده ولتاژ، یک مولتی ترن وجود دارد که پیش از اتصال آن به ماژول، می بایست با چرخاندن آن، ولتاژ را به ۵ ولت برسانید. در زیر نمایی از شماتیک مدار را مشاهده می نمایید.
کدهای وب سایت ارسال پیامک
در این قسمت کدهای وب سایت را مشاهده می نماییم. برای طراحی وب سایت و ایجاد پنل پیامکی آردوینو، دو صفحه کاربردی داریم. یکی صفحه نخست که وظیفه دریافت متن و شماره تلفن مقصد را بر عهده دارد. صفحه دیگر نیز وظیفه دریافت شماره و متن و دخیره آن در فایل را برعهده می گیرد. در نهایت آردویینو با خواندن اطلاعات فایل که شامل متن و شماره مقصد است، پیامک را ارسال خواهد نمود. قطعه کد زیر صفحه اصلی در سایت ما خواهد بود، کدهای زیر را در سرور خود آپلود کرده و با نام index.php ذخیره نمایید. چنانچه هاست شما لینوکس و کنترل پنل آن cpanel است، وارد فولدر public html شوید و فایل را ایجاد نمایید.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
سورس کد پنل پیامکی آردوینو
در این قسمت کدهای پروژه اتصال آردویینو به اینترنت از طریق ماژول SIM808 را مشاهده می نمایید. این کدها مشابه کدهای آموزش کنترل اینترنتی دور و جهت موتور با قابلیت ردیابی آنلاین و کنترل اینترنتی رله به همراه ردیابی آنلاین است. پیشنهاد می گردد در کنار این آموزش، این دو آموزش نیز مطالعه گردد.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
تست و اجرای ارسال پیامک از طریق اینترنت
در این مرحله به چگونگی ارسال پیامک از طریق اینترنت می پردازیم. برای ارسال، ابتدا باید وارد وب سایت خود شویم. با آپلود کدهای قسمت وب سایت در سرور خود، با تصویر زیر رو به رو خواهید شد. شماره تماس و متن پیامک خود را وارد کرده و بر روی دکمه submit، کلیک نمایید تا پیامک ارسال گردد.
پس از این مرحله، متن پیام در سرور ذخیره می شود. در قسمت بعدی، آردویینو به کمک اینترنت ماژول SIM808 به اینترنت متصل شده و با خواندن متن و شماره ذخیره در سرور، به کمک قابلیت ارسال پیامک، پیام مورد نظر را به شماره مقصد، ارسال خواهد نمود.
همانطور که بیان شد، هسته پردازشی پنل پیامکی ما، یک برد آردویینو UNO است. این برد که یکی از محبوب ترین بردهای آردویینو به شمار می رود، توانایی برقراری ارتباط سریال را دارد. به کمک ارتباط سریال، این برد با ماژول مخابراتی SIM808 ارتباط برقرار می نماید. از طریق همین ارتباط سریال، فرامین اتصال به اینترنت، دریافت شماره تماس و متن پیامک از سرور و ارسال پیامک به شماره مقصد، فراهم می گردد.
در نهایت، از طریق سریال مانیتور آردویینو، می توان روند اجرای برنامه شامل اتصال به اینترنت، ارسال پیامک و کنترل وضعیت اتصال به شبکه را مشاهده نمود.
تحلیل کدهای وب سایت
در این قسمت به بررسی کدهای وب سایت می پردازیم. همانطور که بیان شد، در قسمت وب سایت دو صفحه داریم که یکی برای دریافت شماره تماس و متن پیام است. صفحه دوم، اطلاعات صفحه اول را دریافت کرده و در یک فایل به نام sms.txt ذخیره می نماید. برای ساخت فرم دریافت اطلاعات در html، از کلمه کلیدی form استفاده می نماییم. در ادامه، قسمت action، مشخص می نماید که داده ها به کدام صفحه می بایست ارسال شوند.
<form action="send_sms.php" method="post">
در ادامه، صفحه send_sms.php، به کمک دستور POST$، داده ها را دریافت می نماید. در این صفحه، روال زیر برقرار است.
۱-دریافت شماره تلفن و پیام
۲-ذخیره پیام در متغیر data
۳-قرار دادن عبارت [ در انتهای متغیر دیتا(بعد ازمتن انتهای متن پیام)
۴-قرار دادن شماره تماس بعد از عبارت [
۵- دخیره داده در فایل sms.txt
به طور کلی هدف از قرار دادن کاراکتر [ در انتهای پیام متنی، جداسازی متن پیام و شماره تلفن است. در این صورت، زمانیکه آردویینو داده های فایل را می خواند، می تواند به سادگی متن و شماره مقصد را از هم تفکیک کند؛ چراکه این دو داده به کمک [ از یکدیگر تفکیک شده اند.
تحلیل کدهای آردوینو
در این قسمت به بررسی و تحلیل کدهای آردویینو می پردازیم. کدهای به کار رفته بسیار شبیه پروژه های کنترل اینترنتی رله و کنترل دور و جهت موتور به وسیله اینترنت ماژول SIM808 است. در زیر توابع به کار رفته در این پروژه را مشاهده می نمایید. ضمن اینکه درون کدها، به طور کامل در رابطه با عملکرد هر خط کد، توضیح داده شده و کامنت قرار گرفته است.
در رابطه با ارسال پیامک در تابع run_command لازم است تا نکته مهمی را در نظر داشته باشید. در این تابع، با توجه به اجرای مداوم آن در قسمت loop، چنانچه متن پیام و شماره مقصد تغییری نکرده باشند، پیام ارسال نخواهد شد. به عبارت دیگر، فرض کنید شما پیام و شماره را در سرور ثبت می نمایید. سپس آردویینو پیام را خوانده و به شماره ثبت شده، آن را ارسال می نماید. مجددا آردویینو به سرور متصل شده و پیام و شماره مقصد را می خواند. جهت جلوگیری از ارسال مداوم یک پیام به یک شماره، ابتدا بررسی می شود که پیام و یا شماره تغییر کرده باشند و سپس پیام ارسال می گردد.
وسایل مورد نیاز
برد آردویینو UNO (تغذیه برد آردویینو از همان کابل تامین می شود)
مقاومت ۱k اهم
جمع بندی
در این آموزش به نحوه ارسال پیامک به شماره تلفن موبایل از طریق اینترنت پرداختیم. برای ارسال پیامک از طریق اینترنت، احتیاج به یک سرور خواهید داشت تا پیام و شماره تلفن در آن ثبت شود. سپس به کمک آردویینو و ماژول SIM808، به سرور متصل شده و ضمن دریافت متن پیام و شماره مقصد، پیامک به کمک ماژول SIM808 ارسال می شود. ماژول SIM808 قادر است تا ضمن برقراری تماس تلفنی و ارسال و دریافت پیامک، به شبکه اینترنت متصل شده و به ارسال و دریافت داده از طریق شبکه جهانی اینترنت بپردازد. همانطور که بیان شد، به کمک این آموزش می توان از طریق اینترنت، پیامک فرستاد. کاربرد این پروژه را در سیستم های تبلیغات انبوه و یا همان پنل های پیامکی دید که یکی از راه های بسیار مناسب در جذب و حفظ مشتری محسوب می شود.
نظرسنجی
در پایان، از اینکه این مطلب را مطالعه نمودید، سپاسگزاریم. لطفا در جهت ارتقا سطح کیفی مطالب، به سوالات زیر در کامنت ها، پاسخ دهید.
۱-آیا این مطلب برای شما مفید بود؟
۲- آیا این مطلب روان بیان شده بود؟
۳- به نظر شما، از این پروژه در چه زمینه ها و پروژه های دیگری، می توان بهره برد؟
۴- به نظر شما، به این پروژه چه امکانات دیگری می توان اضافه نمود؟
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
سلام
ممنون بابت آموزشتون، این پروژه فقط با سیم ۸۰۸ کاربردی هست؟ یا با بقیه هم میشه؟
سلام
بله، با ماژول SIM800L و SIM800C و کلیه ماژول های SIMCOM قابل اجرا هست
سلام؛ من میخوام زمانی که کلیدی رو فشار میدم برای گوشیم یک اس ام اس بیاد و توش مبلغ شارژ باقی مانده ی سیمکارت sim800 رو نمایش بده. میتونید راهنماییم کنیم؟
دستورش رو نوشتم و مبلغ شارژ روی serial monitor نمایش داده میشه چطوری میتونم این رو توی یک رشته بریزم و ارسال کنم؟ خودم از readString() استفاده کردم اما پیام های نامربوط میفرسته :
AT+CUSD=1
OK
AT+CMGF=1
OK
AT+CSMP=17,167,0,0
OK
ATD*141*1#;
OK
OK
ممنونم میشم راهنمایی بفرمایید.
سلام
از اردویینو uno استفاده می کنید؟
به شکل زیر عمل کنید و فرض کنید سریال نرم افزاری برای ارتباط با ماژول را به اسم gsm تعیین کرده اید.
بعد از دستور csmp، به شکل زیر عمل کنید:
gsm.raedString();
gsm.print(“ATD*141*1#\r\n”)
while(gsm.available() > 0)
data=gsm.readString();
نتیجه شارژ، در متغیر data ذخیره می شود.
سلام چطور برای ارسال پیامک از چند SIM808 یا به عبارتی چند سیم کارت استفاده کنیم؟
سلام
سوال شما راکامل متوجه نشدم. اما هر SIM808 تنها یک سیم کارت می پذیرد.
با سلام و عرض خسته نباشید . من این پروژه انجام دادم از لحاظ سخت افزاری نرم افزاری ok الان اس ام اس ارسال نمیشه
سلام از چه سیم کارتی استفاده می کنید؟ ترجیحا مورد را با همراه اول تست کنید. همچنین پیام هایی که در سریال مانیتور دریافت می کنید را کپی و در کامنت بعدی، قرار دهید.
سلام و تشکر از شما
با این روش میشه ارسال انبوه پیامکی هم داشته باشیم؟
سلام
بله، امکان پذیر است. کافیست فایلی از شماره ها را تعیین کنید و با کمی تغییر در کد، پیامک ها را ارسال نمایید.
سلام یک سوال سیم کارتی که قرار میدیم سیم کارت ایرانسل یا همراه اول چطور میتونیم مثلا به یکی پیام میدیم شمارمون به صورت مثلا “سیستم پیامکی” یا “sms” نشون داده بشه مثلا مثل “Snapp” و شمارمون کاربر نبینه؟
سلام
فکر می کنم این سرویس باید از اپراتورها خریداری شود. در این زمینه اطلاعات زیادی ندارم. پیشنهاد می کنم دیگر دوستان اگر مطلع هستند، کامنت بگذارند.
شما پیام دادید شماره نیفتاده اسم فارسی افتاده اونو چطوری درست کردید؟
نه!
شماره را در تصویر پاک کردم و فقط اسمی که برای شماره در گوشی ذخیره کردم در تصویر دیده می شود.
سلام
این ماژول های ارسال پیامک یا تماس معمولا مشکل تغذیه دارند به راحتی کارنمیکنن
آیا ماژولی هست این مشکل تغذیه رو نداشته باشه؟؟
چه ماژولی؟؟
در صورتیکه تغذیه به درستی تامین شود، این مورد به هیچ وجه وجود نخواهد داشت. هم اکنون پروژه های بسیاری مبتنی بر این ماژول در حال اجراست. آموزش زیر را مطالعه نمایید:
لینک آموزش تغذیه، کلیک کنید
سلام وقت بخیر
ممنون از آموزش مفید شما
من وقتی شماره و دستور SMS رو میفرستم، در حالت دریافت متن پیام باقی میماند و ارسال نمیکنه
ممنون میشم راهنمایی بفرمائید
AT
OK
AT+CMGF=
OK
AT+CMGW=”+85291234567″
>SEND SMS
>12
>
سلام
این آموزش را لطفا مطالعه کنید:
لینک آموزش ارسال پیامک، کلیک کنید
سلام مهندس.مهندس اگه بخوام پنل برای دستگاه مشتریان درست کنم،باید چیکار کنم
راهنمایی میکنید.چون میخوام دستگاه مشتریان بسازم.اما پنلش رو چطوری باید بسازم.یا کی میسازه
سلام
در این آموزش نحوه ساخت آن را توضیح داده ایم، اما برای سفارش آن می توانید به شرکت های ارایه کننده پنل پیامکی مراجعه نمایید.
سلام خوبید
من در حال حاظر با مودم جی اسن ام ارسال پیامک انجام میدم و چون چند تا سیستم دارم مدیریتش سخته خواستم ببینم برای شما امکان نوشتن برنامه ای برای ارسال با مودم جی اس ام هست که از طریق وب سرویس به سیستم های ارسال من وصل بشن و بتونم همه مودم ها را داخل یک سیستم مدیریت کنم و اگه بتونید یه شماره تماس از خودتون بدید که کار را کامل توضیح بدم ممنون میشم
سلام و متشکرم از شما
در حال حاضر اجرای پروژه امکان پذیر نیست، اما شما می توانید کار خود را آغاز کرده و در صورت وجود سوال از همین طریق مطرح نمایید تا راهنمایی صورت گیرد.
جناب مهندس کدی برای ارسال پیامک از طریق api موجود دارید؟ ثبتنام سایت و ارسال و درسافت کد تایید سایت را خودم انجام بدهم. با تشکر
با سلام
خیر در حال حاضر چنین آموزشی در سایت موجود نیست.
سلام
خیر متاسفانه
سلام
من میخوام ۴ عدد sim800 را به یک اردینو وصل کنم و یک لیست شماره بدم و بگم با هر بار اجرا از هر سیمکارت ۲۰ عدد پیام ارسال شه و بعد تعویض سیمکارت ادامه ارسال بشه برای بقیه لیست با همان متن امکانش هست ؟
با سلام
برای این منظور بایستی چهار سریال مانیتور مجزا در برنامه مورد نظرتان تعریف کنید. اما برنامه نویسی برای این چهار مورد کمی سنگین خواهد بود و ممکن است برد آردوینو به تنهایی جوابگوی این حجم نباشد. همچنین توصیه میشود که از FreeRTOS برای بهینه شدن راندمان کاری استفاده کنید.