توابع کتابخانه SimCom (بخش SMS) در زبان C ویرایش ۱٫۰٫۰

بررسی توابع کتابخانه SimCom

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

تابع Send_Message:

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

ارگومان اول:

متن پیام ارسالی در قالب رشته

آرگومان دوم:

تعیین می کنید که پیام ارسالی یک پیام فارسی هست یا انگلیسی ، اگر قصد ارسال پیام فارسی را دارید آرگومان دوم را Persian قرار دهید در غیر این صورت اگر متن انگلیسی باشد باید آرگوان دوم را برابر با English قرار دهید

نکته:

برای حروف متشکل از فارسی و انگلیسی آرگومان دوم را باید برابر با Persian قرار دهید.

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

برای آرگومان سوم موارد زیر مجاز هستند

آرگومان چهارم:

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

اگر حالت دریافت گزارش تحویل را فعال کنید

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

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

مثال:

 


 

تابع Read_Charge_Sim:

این تابع مقدار شارژ سیم کارت را می خواند

آرگومان متغیری از نوع char  مقداری بین یک تا سه را می پذیرد

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

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

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

مقدار عددی شارژ در متغیر رشته ای سراسری با نام str_charge ذخیره می شود که می توانید از آن در هر جای کدتان استفاده کنید

توجه داشته باشید که حتما از داخل کتابخانه بخش مربوط به شارژ سیم کارت را تنظیم کنید.

نکته: مقدار شارژ خوانده شده بر حسب ریال می باشد.

مثال:

 


تابع Network_Check:

در این تابع بررسی می کنید که آیا سیم کارت به شبکه وصل شده یا خیر

اگر سیم کارت به شبکه وصل باشد مقدار یک را بر می گرداند در غیر این صورت مقدار برگشتی صفر خواهد بود

مثال:

 


تابع Insert_Sim_Check:

این تابع تعیین می کند که آیا سیم کارت به درستی به ماژول وصل شده یا خیر

اگر سیم کارت به ماژول متصل باشد مقدار یک را بر می گرداند در غیر این صورت مقدار برگشتی صفر خواهد بود.

مثال:

 


تابع Disable_Incoming_Call:

این تابع تماس های دریافتی سیم کارت را مسدود می کند

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

مثال:

 


تابع Message_Center_Number:

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

آرگومان تابع متغیری از نوع متنی یا رشته ای را می پذرید

نکته: شماره مرکز پیام برای سیم کارت ایرانسل در تاریخ کنونی شماره ۹۸۹۳۵۰۰۰۱۴۰۰+ می باشد.

مثال:

 


تابع Operator_Id_Check:

با استفاده از این تابع می توانید آی دی سیم کارت را بخوانید اگر سیم کارت ایرانسل باشد آی دی برابر با یک ، برای سیم کارت همراه اول آی دی دو و برای سیم کارت رایتل آی دی سه را بر می گرداند

مثال:

این حلقه تا زمانی تکرار می شود که مقدار id_sim  بیشتر از عدد صفر باشد بنابراین بعد خروج از حلقه id_sim مقداری بین ۱ تا ۳ دارد که برای ایرانسل عدد۱ برای همراه اول عدد ۲ و برای رایتل عدد ۳ در این متغیر ذخیره خواهد شد

دانستن آی دی سیم کارت در مواقعی ضروری می باشد چنانچه بخواهید شارژ سیم کارت خود را بخوانید حتما باید یا تنها از یک سیم کارت مشخص استفاده کنید یا با استفاده از تابع باید آی دی سیم کارت را بخوانید تا بتوانید کد های متناسب با سیم کارت مورد نظر را اجرا کنید.

 


تابع Enable_Recieve_Message:

با استفاده از این تابع می توانید حالت دریافت پیام را فعال کنید

آرگومان اول:

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

آرگومان دوم:

در صورتی که برای آرگومان اول از enable_auto_open استفاده می کنید این آرگومان چندان اهمیت ندارد و بهتر است در این صورت مقدار آرگومان را همیشه برابر با  enable_notification قرار دهید

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

در صورت موفقیت آمیز بودن تنظیمات تابع مقدار یک را بر می گرداند.

نکته: اگر از حالت باز شدن اتوماتیک پیام به محض دریافت استفاده می کنید توجه داشته باشید که در این حالت پیام های دریافتی در حافظه ذخیره نمی شود.

مثال:

در این مثال حالت باز شدن اتوماتیک پیام انتخاب شده است.

 


تابع Disable_Recieve_Message:

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

در صورت موفقیت امیز تابع مقدار یک را بر می گرداند.

مثال:

 


تابع Check_Pin_Code:

این تابع بررسی می کند که پین کد سیم کارت غیر فعال است یا خیر اگر پین کد غیر فعال باشد مقدار برگشتی برابر با یک خواهد بود در غیر این صورت مقدار صفر را بر می گرداند.

تابع open_pin_code:

در صورتی که پین کد سیم کارت فعال باشد با استفاده از این تابع می توانید پین کد سیم کارت را غیر فعال کنید

آرگومان این تابع  متغیری از نوع رشته ای می باشد که برابر با رمز پین سیم کارت خواهد بود.

تابع Chenge_Status_Pin_Code:

این تابع وضعیت فعال یا غیر فعال بودن پین سیم کارت را تغییر می دهد

آرگومان اول از نوع رشته ای رمز پین می باشد

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

در مواقعی که احتمال سرقت سیم کارت پیش بینی می شود بهتر است حتما پین کد سیم کارت را فعال کنید.

مثال:

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

 


تابع Format_Fac_Simcom:

این تابع ماژول را به تنظیمات کارخانه بر می گرداند

تمامی تنظیماتی که سیو شده اند باز نشانی خواهند شد و به تنظیمات کارخانه باز خواهند گشت

در صورت موفقیت امیز بودن انجام عملیات مقدار یک برگشت داده می شود.

مثال:

 


تابع Reset_Rf_Simcom:

این تابع بخش رادیویی ماژول را ریست  می کند

یعنی اگر ماژول به شبکه متصل باشد و از این تابع استفاده کنید بخش رادیویی ریست شده و از شبکه خارج می شود و باید مجددا صبر کنید تا به شبکه وصل شود.

در صورت موفقیت امیز بودن انجام عملیات مقدار یک برگشت داده می شود.

مثال:

.

.

.

*ادامه و توضیحات کامل تنظیمات کتابخانه و راهنمای توابع همراه کتابخانه قرار داده شده است.

 

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

mast3r

علاقه مند به طراحی سیستم های میکروکنترلری و الکترونیک دیجیتال و مدارات منطقی دیجیتال ، برنامه نویسی اپلیکیشن های اندروید مرتبط با سخت افزار... برنامه نویسی کلیه میکرو کنترلر های سری avr و pic و stm32 و stm8 و ...

نوشته‌های مرتبط

قوانین ارسال دیدگاه

  • دیدگاه های فینگلیش تایید نخواهند شد.
  • دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
  • از درج دیدگاه های تکراری پرهیز نمایید.
  • در هنگام درج نظر از به کار بردن کلمات نامتعارف خودداری کنید.
دیدگاه‌ها

*
*

چهار + 16 =

question