در سلسله آموزش های ماژول SIM800L، مرحله به مرحله به بررسی امکانات، ویژگی ها، قابلیت ها و کاربرد های ماژول می پردازد. در قسمت یازدهم و پایانی مجموعه آموزش Sim800L، به بررسی امکانات جانبی و سایر دستورات کاربردی این ماژول قدرتمند، می پردازیم. همانطور که در قسمت های پیشین نیز بیان شد، ماژول SIM800L قابلیت برقراری تماس تلفنی، ارسال و دریافت پیامک را داراست. همچنین این ماژول نیز قادر است تا با اتصال به اینترنت، به ارسال و دریافت داده ها تحت پروتکل های اینترنتی نظیر HTTP، SMTP،FTP و…. بپردازد.
در قسمت پایانی این مجموعه آموزش، به بررسی امکانات و ویژگی های جانبی این ماژول به همراه دستورات AT آن می پردازیم. ماژول SIM800L دارای امکانات بسیاری زیاده بوده که می تواند دقییقا مثل یک تلفن همراه، در پروژه های اینترنت اشیا و کنترل از راه دور، کارا باشد. بنابراین، در ادامه این آموزش با مرجع تخصصی ماژول سیم کارت به زبان فارسی، دیجی اسپارک همراه باشید.
بررسی وضعیت باتری
یکی از مهم ترین ویژگی های ماژول SIM800L، بررسی وضعیت باتری از لحاظ شارژ و میزان ولتاژ آن است. به عبارت دیگر، ماژول SIM800L می تواند درصد شارژ باتری را به همراه ولتاژ آن، از طریق پورت سریال، ارسال نماید. برای دریافت میزان شارژ باتری، می بایست از دستور زیر استفاده کنید.
AT+CBC
دستور فوق، وضعیت فعلی شارژ باتری(Current Battery Charge) را نمایش می دهد. خروجی این دستور، به شکل زیر خواهد بود.
+CBC: x,y,z
در عبارت فوق، x وضعیت شارژ، y میزان درصد شارژ و z میزان ولتاژ باتری را نمایش می دهد. متغیر x وضعیت شارژ را به صورت زیر تعیین می نماید.
x=0: شارژر متصل نیست.
x=1: باتری در حال شارژ است.
x=2: باتری کاملا شارژ شده است.
در ادامه، پارامتر y میزان درصد شارژ باتری را نمایش می دهد. این درصد می تواند از ۱ الی ۱۰۰، بسته به میزان ظرفیت باتری، قرار گیرد. در نهایت، پارامتر z، میزان ولتاژ باتری را بر حسب میلی ولت، اعلام می نماید.
بررسی وضعیت کیفیت سیگنال
یکی دیگر از قابلیت های کاربردی ماژول SIM800L، اعلام میزان کیفیت سیگنال و یا همان میزان آنتن دهی است. خروجی این دستور عددی بین ۰ الی ۳۰ بوده و به صورت زیر استفاده می شود.
AT+CSQ
همانطور که گفته شد، خروجی این دستور عددی بین ۰ الی ۳۰ خواهد بود. ذکر این نکته ضروریست که ملاک اصلی کیفیت سیگنال یک سیم کارت، ارسال این دستور در زمانیست که سیم کارت درون ماژول، قرار گرفته شده باشد. میزان کیفیت سیگنال بر اساس عدد دریافتی، به صورت زیر تقسیم بندی می گردد.
۲الی ۹: مرزی(بسیار ضعیف)
۱۰ الی ۱۴: قابل قبول
۱۵ الی ۱۹: خوب
۲۰ الی ۳۰: عالی
بلاک کردن شماره های تماس
یکی دیگر از قابلیت های کلیدی ماژول SIM800L، بلاک کردن شماره های تماس جهت دریافت پیامک و تماس تلفنی است. به کمک این قابلیت می توانید لیستی از شماره ها را تعریف کرده تا تنها همین شماره ها بتوانند به ماژول پیامک ارسال کرده و یا تماس تلفنی با آن برقرار نمایند. برای تعیین شماره ها خاص، از دستور زیر استفاده می گردد.
AT+CWHITELIST=x,y,z1,z2,z3,....
مطابق دستور فوق، متغیر x حالت و مد کاری، متغیر y ایندکس و یا ترتیب شماره و متغیر z شماره را تعریف می کند. حالت های کاری متغیر x، به صورت زیر تعریف می گردد.
۰: مد whitelist غیر فعال
۱: مد whitelist تنها برای تماس فعال
۲: مد whitelist تنها برای پیامک فعال
۳: مد whitelist برای پیامک و تماس فعال
در ادامه، متغیر y می تواند یک عدد بین ۱ الی ۳۰ را بپذیرد. این اعداد در حقیقت شماره شناسه یا index برای هر شماره تلفن هستند. برای درک بهتر این موضوع، بهتر است در ابتدا متغیر z را شرح داده و در نهایت با ذکر مثال، متغیر y را بهتر خواهیم شناخت. متغیر z، شماره تلفن هایی که می توانند به ماژول پیامک فرستاده و یا تماس برقرار کنند را تعیین می نماید. دستور زیر، مثالی از کاربرد را نشان می دهد.
AT+CWHITELIST=3,1,+989121234567
مطابق دستور فوق، مد کاری حالت WHITELIST با عدد ۳، یعنی ارسال پیامک و تماس تلفنی تنظیم شده است. بعد از این مورد، متغیر y با عدد ۱ تنظیم شده که این مورد بیانگر تعیین اولین شماره مجاز برای برقرای تماس و ارسال پیامک به ماژول است. در نهایت، پارامتر آخر شماره تلفن مجاز را تعیین می کند. در مثالی دیگر، برای تعیین دومین شماره مجاز جهت تماس با ماژول، به صورت زیر عمل می کنیم.
AT+CWHITELIST=3,2,+9893512345678
ماژول پس از دریافت دستور فوق، عبارت OK را برگردانده و شماره مورد نظر را به عنوان دومین شماره مجاز جهت برقراری تماس و ارسال پیامک، تعیین خواهد نمود. با توجه به تنظیمات فوق، تنها شماره تلفن های تعیین شده قادرند تا با ماژول تماس گرفته و یا پیامک ارسال نمایند. چنانچه هر شماره ای غیر از شماره های تعیین شده توسط کاربر با ماژول تماس بگیرند، تماس برقرار نشده و به صورت بوق اشغال، خواهد بود. همچنین پیامک های ارسال شده خارج از دامنه تعریف، توسط ماژول دریافت نخواهند شد.
نمایش شماره IMEI
از دیگر قابلیت های ماژول SIM800L، نمایش شماره شناسه دستگاه یا همان IMEI است. شماره شناسه دستگاه موبایل یا IMEI، یک شماره یکتا و مخصوص تلفن همراه بوده که بیانگر نام سازنده دستگاه، مدل و مشخصات آن است. این شماره که برای هر موبایل در جهان یکتاست، به صورت زیر از ماژول دریافت می گردد.
AT+GSN
در جواب دستور فوق، ماژول شماره IMEI را ارسال می نماید. شماره IMEI برای پروژه های مختلف جهت تفکیک دستگاه ها از یکدیگر، بسیار کاربردی و مناسب به نظر می آید.
خاموش کردن، راه اندازی مجدد و حالت پرواز ماژول
ماژول SIM800L قابلیت راه اندازی مجدد، خاموش شدن و قرار گیری در حالت پرواز را داراست. برای خاموش کردن ماژول، از دستور زیر استفاده می شود.
AT+CFUN=0
به کمک دستور فوق، ماژول خاموش و از شبکه خارج شده و هیچ گونه تماس و پیامکی دریافت نمی گردد. در ان حالت، توان مصرفی ماژول ۰٫۷ میلی آمپر خواهد بود.
در ادامه، جهت راه اندازی مجدد ماژول(ری استارت)، می توانید از دستور زیر استفاده کنید.
AT+CFUN=1,1
دستور فوق، علاوه بر ریست ماژول، آن را از حالت خاموش نیز خارج خواهد کرد. چنانچه نیاز به قرار گیری ماژول در حالت پرواز دارید، می توانید از دستور زیر استفاده کنید.
AT+CFUN=4
به طور کلی، دستور CFUN حالت کاری فعلی ماژول(CURRENT FUNCTIONALITY) را تعیین می نماید. در نظر داشته باشید که برای خروج از حالت پرواز، می بایست ماژول را در حالت اتصال به شبکه با دستور زیر قرار دهید.
AT+CFUN=1
موقعیت یابی و تعیین مکان بدون GPS
ماژول SIM800L قادر است تا موقعیت حدودی مکانی خود را به دست آورد. در این روش موقعیت نزدیکترین دکل مخابراتی که ماژول به ان متصل شده، به عنوان موقعیت تعیین می شود. برای دسترسی به این قابلیت، ابتدا می بایست اینترنت GPRS ماژول، به کمک دستور زیر فعال شود.
AT+SAPBR=1,1
در صورتیکه ماژول با موفقیت به اینترنت متصل شود، عبارت OK پاسخ داده می شود. در ادامهف به کمک دستور زیر، می توانیم موقعیت حدودی را به دست بیاوریم.
AT+CLBS=1,1
در نهایت، مطابق تصویر زیر، موقعیت نمایش داده خواهد شد.
موقعیت یابی به کمک این روش اگرچه دارای خطاست، اما در شرایطی که سیگنال های GPS به هر دلیل از بین روند، موقعیت یابی از طریق دکل ها(LBS) می تواند بسیار کارآمد ظاهر شود.
۲۵ دستور AT Command مهم ماژول Sim800x
همانطور که میدانید، دستورات AT Command برای کنترل ماژولهای GSM شامل یک مجموعه از دستورات است که با استفاده از آنها میتوانید با ماژول ارتباط برقرار کرده و دستورات مورد نیاز را برای آن ارسال کنید. در زیر ۲۵ مورد از دستورات AT Command مهم برای ماژول Sim800L آورده شده است. چنانچه راجع به هر دستور سوالی داشتید، در بخش نظرات همین آموزش مطرح کنید.
- دستور AT: تست اتصال به ماژول
- دستور AT+CPIN: ورود رمز عبور سیم کارت
- دستور AT+CSQ: اندازه گیری شدت سیگنال شبکه
- دستور AT+CREG: دریافت وضعیت ثبت نام در شبکه
- دستور AT+COPS: دریافت اطلاعات شبکه اپراتور
- دستور AT+CGATT: اتصال به GPRS
- دستور AT+CIPSHUT: قطع ارتباط GPRS
- دستور AT+CIPSTATUS: دریافت وضعیت ارتباط
- دستور AT+CIPSTART: شروع ارتباط TCP/IP
- دستور AT+CIPSEND: ارسال داده ها به سرور مقصد
- دستور AT+CIPCLOSE: قطع ارتباط TCP/IP
- دستور AT+CGDCONT: تنظیمات APN
- دستور AT+CGACT: فعالسازی/غیرفعالسازی PDP
- دستور AT+CIPMUX: تنظیمات چند اتصال همزمان
- دستور AT+CIPSERVER: تنظیم سرور
- دستور AT+CIFSR: دریافت آدرس IP ماژول
- دستور AT+HTTPINIT: شروع ارتباط با HTTP
- دستور AT+HTTPPARA: تنظیمات HTTP
- دستور AT+HTTPACTION: درخواست ارسال به سرور
- دستور AT+HTTPREAD: دریافت پاسخ از سرور
- دستور AT+HTTPSTATUS: دریافت وضعیت اتصال با سرور
- دستور AT+HTTPSSL: فعالسازی/غیرفعالسازی SSL
- دستور AT+HTTPCIPSTART: شروع ارتباط TCP/IP برای HTTP
- دستور AT+HTTPCIPSEND: ارسال داده های HTTP
- دستور AT+HTTPCLOSE: قطع ارتباط HTTP
وسایل مورد نیاز
ماژول مبدل LM2596(در صورت تغذیه ماژول از برق شهری)
جمع بندی
در این آموزش که آخرین قسمت از سلسله آموزش های راه اندازی و کار با ماژول SIM800L است، به بررسی امکانات جانبی این ماژول پرداختیم. ماژول SIM800L که دقیقا مشابه یک تلفن همراه عمل می نماید، قادر است تا با ارسال و دریافت پیامک، برقراری تماس دو طرفه صوتی و ایجاد ارتباط اینترنتی، به ارسال و دریافت داده بپردازد. این ماژول دارای دستورات جانبی برای کارهای مختلف نظیر بررسی میزان کیفیت سیگنال، بررسی وضعیت شارژ و…. بوده که در این آموزش به بحث و بررسی در رابطه با آن، پرداختیم. به طور کلی، ماژول SIM800L یکی از ماژول های مخابراتی سیم کارتی جهت ارتباط و کنترل از راه دور بوده که اندازه، وجود برد آماده جهت اندازی و البته قیمت آن، این ماژول را به یکی از ابزارهای کلیدی در پروژه های کنترل از راه دور و IOT تبدیل نموده است.
دیگر آموزشهای راه اندازی Sim800L
راه اندازی و کار با ماژول سیم کارت SIM800L بخش اول: معرفی
راه اندازی و کار با ماژول سیم کارت SIM800L بخش دوم: تغذیه
راه اندازی و کار با ماژول سیم کارت SIM800L بخش سوم: تماس تلفنی
راه اندازی و کار با ماژول SIM800L بخش چهارم: ارسال و دریافت پیامک
راه اندازی و کار با ماژول SIM800L بخش پنجم: اینترنت GPRS سیم کارت
راه اندازی و کار با ماژول SIM800L بخش ششم: آپلود و دانلود فایل در اینترنت
راه اندازی و کار با ماژول SIM800L بخش هفتم: ارتباط TCP با سرور
راه اندازی و کار با ماژول SIM800L بخش هشتم: ارسال و دریافت ایمیل
راه اندازی و کار با ماژول SIM800L، بخش نهم: کنترل و کاهش توان مصرفی
راه اندازی و کار با ماژول SIM800L: بخش دهم فعال سازی DTMF
چنانچه در مراحل راه اندازی و انجام این آموزش با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در دستورات AT و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
سلام مهندس وقت تون بخیر
دیگه اموزش و پروژه نمیزارید ؟؟
من چند هفته است منتظر هستم که پروژه بزارید
سلام
از لطفی که دارید بی نهایت ممنونم
در ابتدای سایت در قیمت انتشار روز، پروژه های جدید انتشار یافته اند. در چند روز اینده هم پروژه های بیشتری منتشر خواهد شد.
سپاس از همراهی و لطف شما
سلام مهندس صابری
بنده تمام اتصالات رو درست انجام دادم و سیم ۸۰۰ به شبکه متصل میشه
اما مشکلم اینه که دستورات AT رو نمیتونم اجرا کنم.
هر چی که دستورات رو توی سریال مانیتور وارد میکنم،فیدبکی نمیگیرم
و هر کدی هم که مینویسم توی IDE نمیتونه دستورات AT رو فیدبک بگیره
ممنون میشم اگه کمک کنید
تشکر
سلام
اتصالات را چک کنید که RX مبدل به TX ماژول و TX مبدل به RX ماژول متصل شده باشد. همچنین پایه GND مبدل به پایه GND ماژول متصل شده باشد. لطفا این موارد را تست کنید و نتیجه را در کامنت بعدی اعلام نمایید.
سلام وقت بخیر
بنده مشکلم این بود کاراکترهای ناخوانا به عنوان پاسخ داده میشد که با این کمک شما و اتصال GND ماژول به SIM800L مشکل حل شد
ممنونم از لطفتون
تشکر
خواهش می کنم
موفق باشید.
سلام
چگونه میتوانیم برای این ماژول دکمه ریست بگذاریم ؟
سلام
این ماژول یک پایه RESET دارد که با اتصال آن به زمین و سپس جدا کردن آن از زمین مدار، ماژول ریست خواهد شد. شما می توانید کلید را بین این پایه و زمین قرار دهید.
سلام
دستور
;gsmSerial.print(“AT+CWHITELIST=3,2,+989xxxxxxxxx\r\n”)
رو در بخش setup که میزنم میگه اشغال است. چن بار شمارمو چک کردم که درست باشه .( البته اینجا xxx زدم)
سلام
شماره با دستور زیر شماره را پاک کنید:
AT+CWHITELIST=0
بعد مجدد دستور زیر را وارد کنید:
AT+CWHITELIST=3,1,+98XXX
مورد را تست کرده و اطلاع دهید.
قسمت setup برنامه ی ساده تماس با ماژول در سه حالت
حالت اول :بوق اشغال میزنه
https://s4.uupload.ir/files/untitled_01_2x20.jpg
حالت دوم : تلفن آزاد میشه و میشه بهش زنگ زد ولی طبیعتا محدودسازی شماره انجام نمیشه
https://s4.uupload.ir/files/untitled02_p5pd.jpg
حالت سوم : بوق اشغال میزنه
https://s4.uupload.ir/files/untitled_03_xs68.png
به نظر می رسد که شماره به درستی به ماژول ارسال نمی شود. پس از دستور whitelist، یک تاخیر یک ثانیه ای قرار دهید. سپس مورد را تست کرده و مجدد اعلام نمایید.
با تاخیر هم امتحان کردم جواب نداد. تاخیر یک ثانیه و پنج ثانیه
این دو دستور زیر را وارد کنید و ببینید ورژن ماژول چیست؟
AT+GMR?
ATI
البته الان سیستم در دسترس ندارم صبح حتما اطلاع میدم.
بسیار خب
متشکرم
AT+GMR?
R14180BSIM800L24
ATI
R1418
به نظر می رسد با بروز رسانی فریمور، مورد بر طرف شود. لینک زیر را مطالعه کنید:
لینک آموزش بروز رسانی فریمور، کلیک کنید
البته با substring کردن پیام ماژول هنگام تماس و پیامک و استخراج شماره تماس
و مقایسه اون با شماره تلفن خودم تونستم محدودسازی رو انجام بدم
ولی این روش فعلا جواب نداده
بسیار عالی
این هم روش خوبیست. بروز رسانی فریمور را هم در صورت امکان امتحان نمایید.
اوکی .تشکر
خواهش می کنم
موفق باشید
سلام، ببخشید من میخام ماژول sim800l رو راه اندازی کنم و طبق آموزش هاتون پیش رفتم اما بعد پروگرام کردن led ماژول هر ثانیه یک چشمک میزنه تا ۸ بار و بعد یک مکس یک ثانیهای دوباره تکرار میشه، تو سریال مانیتور هم وقتی initializing چاپ میشه دیگه دستور نمیگیره که ok رو برگردونه، گاهی هم مربع و علامت سوال چاپ میکنه, گاهی بعد هر ۸ بار چشمک یک شکلک چاپ میکنه و تکرار میشه، جای rx و tx رو هم جابجا کردم اوکی نشد فقط چاپ شکلک متوقف شد! ممنون میشم راهنماییم کنید!
دقیقا شماتیک سایت رو اجرا کردم!
با سلام
تغذیه ماژول کم است ممکن است جریان کافی به ماژول اعمال نمیشود. منبعی که از آن برای تامین تغذیه استفاده کردید چه مشخصاتی دارد؟
سلتمام اتصالات رو درست انجام دادم و سیم ۸۰۰ به شبکه متصل میشه
اما مشکلم اینه که دستورات AT رو نمیتونم اجرا کنم.
هر چی که دستورات رو توی سریال مانیتور وارد میکنم،فیدبکی نمیگیرم
و هر کدی هم که مینویسم توی IDE نمیتونه دستورات AT رو فیدبک بگیره
ممنون میشم اگه کمک کنید
تشکر
سلام
در این حالت مشکل در ارتباط سریال وجود دارد، لطفا بفرمایید ارتباط بین برد و مبدل سریال به چه شکل انجام شده است؟
سلام خسته نباشید.ماژولsim808رو به پورت سریال آردینو مگا ۲۵۶۰ ک پین های ۱۰،۱۱ هس وصله
ماژول سیمکارت مشکلی از لحاظ انتن دهی نداره چون وقتی بهش زنگ میزنم بوق میخوره..و هر سه ثانیه چشمک میزنه
منبع تغذیه ماژول هم ۹ولت ۲.۵ آمپر یا ۵ولت ۳آمپر وصل کردم
حتی پایه های R,T جا بجا کردم بازم نشد
پایه های G هم مشترکه
سلام
سریال نرم افزاری روی برخی از پایه های آردوینو مگا قابل اجرا نیست. شما از سریال سخت افزاری، مثلا سریال شماره ۳ برد آردوینو مگا استفاده کنید. بدین ترتیب دستورات به صورت Serial3.print خواهند شد.
سلام وقت بخیر
وقتی کامند AT+CLBS=1,1 را ارسال می کنم پیغام زیر می آید و مختصاتی نشان داده نمی شود:
+CLBS: 1
ممکن هست کمک کنید.
باتشکر
سلام
آیا اینترنت را پیش از این دستور فعال کرده اید؟
سلام مهندس
برای اینکه برنانه ای بنویسیم که بعد از تماس با ماژول، به اون شماره که تماس گرفته یک پیام ارسال کنیم، از چه کد دستوری باید استفاده کنیوچجوری باید به شماره تماس دریافتی دسترسی پیدا کنیم!؟
سلام
برای تشخیص شماره تماس گیرنده، دستور زیر را باید استفاده کنید.
AT+CLIP=1
در زمان تماس شماره تماس گیرنده ظاهر شده و باید آن را با برنامه نویسی استخراج کنید.
سلام.ماژول ۸ بار چشمک میزنه و ۳ ثانیه خاموشه. اول به شبکه وصل میشد اما الن میگه سیگنال کیفیت نداره و at+csq =0,0 میزنه انتن دهی موقعیت هم خوبه و با یه سیم کارت دیگه هم امتحان کردم بازم همین وضعیته
راهنمایی بفرمایید
سلام
تغذیه ضعیف است. از چه نوع تغذیه ای استفاده می کنید؟
لام مهندس وقت بخیر
من برای خواندن شارژ سیم کارت همراه اول به مشکل بر خوردم
وقتی کد AT+CUSD=1,”*۱۴۰*۱۱#”,۱۵ رو میزنم جوابی که بمن میده اینه
+CUSD: 2, “” ,۷۲ ، بنظرتوم مشکل کجاس
با ایرانسل مشکلی ندارم
سلام و متشکرم
این کد دستوری را لطفا امتحان کننید و ببینید آیا نتیجه می دهد؟
#۱۲۱*۱۰*
با سلام بنده دقیقا X مبدل به TX ماژول و TX مبدل به RX ماژول متصل کردم وزمین ها رم یکی کردم ولی پاسخی ماژول بهم نمیده ماژول به شبکه وصل است ایا مقاومت نیاز است ؟
با سلام
از چه نرم افزاری استفاده میکنید؟ آیا با تغییر بادریت هم باز ارتباط برقرار نمیشود؟
با عرض سلام و خسته نباشید، ببخشید من یک ماژول SIM800L تهیه کردم . اتصالات درست برقرار شده ولی هر کاری می کنم سیم کارت را نمی شنسه و نمی تونه زنگ بزنه، می تونید کمکم کنید؟
با سلام
بایستی توسط دستورات AT Command اقدام به بررسی مشکل کنید. یا مشکل از تغذیه است یا از آنتن دهی و یا از پین کد سیم کارت است.
سلام چرا باید بین دستورات AT باید از delay استفاده کنیم، چه راه حل یا راهکاری برای این مورد وجود داره؟, سپاس
با سلام
به این دلیل است که ماژول زمان نیاز دارد تا دستور قبلی را پردازش کرده و آماده دریافت دستور جدید شود. این تأخیر میتواند به جلوگیری از بروز خطاها و از دست دادن اطلاعات کمک کند.
سلام خسته نباشید، مهندس من از دوتا sim800l استفاده میکنم الا یکیشون به شبکه وصل میشه چون هر سه ثانیه چشمک میزنه و دستورات اتکامند رو بر نمیگردونه، اما اون یکی به شبکه وصل نمیشه و دستورات رو بر میگردونه مشکل از چیه؟
با سلام
با توجه به تغییرات در زیرساخت مخابراتی لازم است که توسط دستورات at وضعیت ماژول را بررسی کنید و مشکل را پیدا کنید. برخی مواقع لازم است که فریمور ماژول آپدیت شود.