نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ
مهدی دمیرچیلو

ارسال پیامک فارسی و انگلیسی با sim808

404

به نام خدا : ارسال پیامک فارسی و انگلیسی با sim808 ؛ سلام خدمت تمام دوستان گل، یه چند مدتی بود نبودیم و مطلب نمیزاشتیم، درگیر یه چندتا پروژه ساده بودیم که به زودی ان شاء الله میزارمشون تو سایت کم کم، هاست سایتو هم عوض کردیم و بنا به دلایلی مجبور به ایجاد یه هاست دانلود برای سایت شدیم!!! و بعد مجبور به تغیر لینک تمام فایلهای سایت شدم *_* ؛ که دیگه کل فایلهای سایت تو هاست دانلود خود سایت قرار میگیره و دیگه تو سایت هایی مثل پیکوفایل و … قرار نمیگیره، خب مزیتش اینه که دانلود مستقیم هستش، بگذریم، این حرفا زیاد مهم نیست؛ تو این مطلب میخوام آموزش ارسال پیامک با sim808 رو براتون قرار بدم؛ یه کتابخونه نوشتم برای این کار که در مرور زمان تکمیلش هم میکنم، شما فقط کافیه 3-4 تا تابعو فراخونی کنید تا پیامک ارسال بشه!؛ تو این مطلب همچنین میخوام آموزش ارسال پیامک فارسی با sim808 رو هم قرار بدم.

ارسال پیامک با sim808 وقتی که سیم کارت شارژ ندارد

نکته مهم : یه نکته ای رو همین اول کار بگم، این عکس زیر مربوط به تست پروژه ارسال پیامک انگلیسی هستش، که میبینید پیامک به 2 حالت ارسال شده! دلیلش اینه که حالت اول برا وقتیه که سیمکارت توی sim808 شارژ نداشته ( و اگه سیمکارتتون ایرانسل باشه، دیدین که یه پیامک ارسال میکنه مبنی بر این که شما یه پیامک از طرف x دارید، برای دریافت پیامک عدد 5، دریافت همیشیگی عدد 6 و … یه همچین پیامکی براشون میاد، من اون عدد 6 که دریافت همیشگی هستش رو قبلا زدم!، فک کنم عددش 6 بود، دقیقا خاطرم نیست، لذا الان اگه سیمکارت توی sim808 هم شارژ نداشته باشه، پیامک برام میاد، چون من قبلا گفتم پیامکای این سیمکارت رو پولشو پرداخت کن، لذا اول پیامک شماره تلفتن رو اضافه میکنه، این از این مورد، امیدوارم متوجه شده باشین )؛ پیامک شماره دوم هم که برا وقتی هستش که سیمکارت ما شارژ داشته باشه.

حالا اگه این مورد براتون مهم نیست ( اول پیامک شماره موبایلو اضافه کنه )، میتونید سیمکارتتونو ( اونی که داخل sim808 هستش ) شارژشو خالی کنید تا دیگه مشکل خالی و پر شدن شارژ ( پولی! ) سیمکارت توی ماژول sim808 رو نداشته باشید ( البته نمیدونم همراه اول و … این ویژگی رو دارن یا نه ولی خب میدونم ایرانسل داره ^_^ )

ارسال پیامک با sim808 وقتی که سیم کارت شارژ ندارد

پروژه های ارسال پیامک فارسی و انگلیسی با sim808

 

1) ارسال پیامک انگلیسی با sim808

خط 16و17 : مربوط به تنظیمات sms هستش.

خط 18 : پاک کردن تمام پیامک های موجود در حافظه هستش ( وجودش الزامی نیست )

خط20 : ارسال پیامک که شماره و متن رو بهش دادم، ورودی های این تابع از نوع string هستش؛ خروجی تابع شماره پیامک در حافظه هستش.

2) ارسال پیامک فارسی با sim808

خط 17 تا 19 : تنظیمات مربوط به پیامک فارسی.

خط 20 : پاک کردن تمام پیامکا ( فک کنم inbox باشه – حالا فعلا بود نبود این خط مهم نیست، کاری بهش ندارم فعلا )

خط 23 : یه متن فارسی ( “سلام بر بچه های گروه الکترونیک فقط!!! خخخخخخ” ) رو نمایش میدیم، حالا میبینید که تو قیمت محتوای پیامک اومدم یه سری عدد رو وارد کردم، که اومدیم در واقع UTF8 رو به UTF16 تبدیل کردیم، برای این کار میتونید از سایت زیر استفاده کنید : UTF Converter که جعبه اول رو روی TEXT بزارید و متن فارسیتونو توش بنویسید و جعبه بعدی رو روی UTF-16M بزارید، عدد داده شده رو فاصله هاشو حذف کنید و تو پروژه کپی کنید، فقط همین! ( در شکل زیر پیامک شماره 1 برای این خط هستش )

 

convert utf-8 string to Persian unicode

خب برا گرفتن کد متون فارسی میتونید از لینک بالا استفاده کنید یا تو گوگل بسرچید "UTF Converter"، یه 2 تا لینک دیگه برای این کار من میزارم :

اینم یه لینک مفید که کد تمام حروف فارسی رو میده : MacFarsi encoding

خب با توجه به این که سایت های فوق ممکنه از دسترس خارج بشن، یه نرم فزار کوچولو تحت ویندوز نوشتم که این کارو انجام میده ( حجمش کمه، حدود 20 کیلو بایته )

convert utf-8 string to Persian unicode
تو جعبه اولی متن فارسی رو مینویسید، تو دومی هم کاراکتر جدا کننده کدها رو وارد میکنید، جعبه آخری هم که کد ( عدد هگزا دسیمال ) رو به ما میده ( البته بعد از این که روی دکمه Convert کلیک کردیم )

توجه : برای استفاده از این کد، باید همون طور که در پروژه 2 خط 23 میبینید، کدها رو کنار هم ( بدون هیچ کاراکتر جدا کننده ای ) قرار بدید و به تابع SendSMS بدید.

واو چقدر پیچوندم، الان کد مربوط به سلام شد "0633, 0644, 0627, 0645" و این کاراکتر جدا کننده ", " هم برا زیباییه ^_^ و تو پروژه باید به این صورت استفاده کنید :
"0633064406270645" ؛ این میشه متن ما، همینو به تابع SendSMS میدیم ( به عنوان متن پیامی که قراره ارسال بشه )

خط 29 : خب شاید شما نیاز داشته باشید یه مثلا دما رو ارسال کنید ( مثلا “دما = 313” ) که اون عدده یه مقدار متغییر هستش، برای این کار اون کلمه “دما” که ثابت هستش رو مثل روش بالا تبدیل کنید و برا اون قسمت عدد از تابع Text_to_UTF16 ( که در کلاس SIM808SMS قرار داره ) استفاده میکنیم ( در شکل زیر پیامک شماره 2 برای این خط هستش )

ارسال پیامک فارسی با sim808

عکس پروژه در عمل : 
ارسال پیامک فارسی و انگلیسی با sim808

یه چند تا توضیح درباره مدار بالا بدم :

  1. ماژول sim808 بدون آنتن کار نمیکنه، این آنتن برا GSM هستش.
  2. آنتن GPS هستش، تو این پروژه کاری بهش ندارم ( لذا بود و نبودش زیاد مهم نیست )
  3. منبع تغذیه ماژول، تغذیه ماژول و برد آردوینو مگا از این باتری تامین میشه؛ باتری من از نوع لیتیوم و 11.1ولت و 2.2آمپر هستش؛ البته این مدل باتری برای ربات های پرنده استفاده میشه ولی خب من فقط همینو داشتم، شما باید حداقل یه باتری ( منبع تغذیه ) 1آمپر و 7-8 ولت داشته باشین؛ البته بستگی به برد SIM808 و مدارتون داره که باتری چند ولت باشه ^_^
  4. ماژول SIM808 ما، توجه داشته باشید که ماژولی بخرین که پایه RI رو داشته باشه، ماژول من نداشت و مجبور شدم یه جوری ازش بکشم بیرون این پایه رو!!!
  5. از برد آردوینو مگا استفاده کردم، چون 2 تا سریال نیاز دارم، یکی برا ماژول و یکی هم برا بحث ارسال دیتا به پنجره سریال توی PC، البته اگه بخواین از سریال مجازی استفاده کنید به مطلب روبرو مراجعه کنید، برای دانلود کتابخوه توی این مطلب هم به همین لینک مقابل برید : دانلود کتابخانه راه اندازی ماژول sim808 ( برای این مطلب من از ویرایش 1 کتابخونه استفاده کردم )
  6. برد آردوینو مگا رو به PC وصل کردم تا اطلاعات مد نظرمو به PC بفرستم.

 

فیلم پروژه : این فیلم برای 3 مطلب ( پروژه SIM808 ) هستش ( فیلم 3 تا پروژه یجا گرفته شده )

37MB فیلم راه اندازی 3 پروژه اول SIM808
0%
00:00  /  09:27

 

خب امیدوارم این مطلب مفید باشه براتون، فعلا یا علی.

حدیث تصویری

تعداد مطالب : 367 تا
جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
بقیه جلسات :
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه
29
نظرات این مطلب بسته شده است.
  1. علی

    مهمان

    علی

    با سلام
    دوستان اگه میخواید بدون پاک کردن فاصله و راحت این تبدیل رو انجام بدید این سایت خوبه :
    https://www.coderstool.com/utf16-encoding-decoding

  2. برهان

    مهمان

    برهان

    سلام بر دوستان.
    دوستان من یه برنامه دارم تو بسکام نوشتم و از ماژول SIM800L استفاده کردم وقتی پیام کوتاه انگلیسی می فرستم مشکلی نداره ولی وقتی متن فارسی رو توست unicode به صورت هگز می فرستم متن فارسی به این صورت نمایش میده.
    @@ä @@@@ @@ @@@@@ @Ñ@@@ @¿å @@@
    ممنون میشم یه راهنمایی کنید و مهندس جان اگه وقت دارن من کد نوشته شده رو براشون ارسال کنم یه نگاهی بکنند و نظر بدن ممنونم

  3. سعید

    مهمان

    سعید

    سلام وقت بخیر
    برای ارسال پیامک فارسی همراه با متغیر در اتمل استدیو و کدویژن چطور باید عمل کرد؟
    با تشکر

  4. M

    مهمان

    M

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

  5. علی

    مهمان

    علی

    سلام
    ممنون از برنامه کاربردی که گذاشتی و همچین سایت خوبت و این که دانشت رو با بقیه به اشتراک میذاری
    برنامه ات با حروف غیر فارسی و همچنین فاصله مشکل داره (به خاطر رعایت نکردن padding) اگر خط ۲۸ برنامه رو به این تغییر بدی اون مشکل هم حل میشه، در پناه حق
    RT_OutPut.AppendText(((Int32)result[i]).ToString(“X”).PadLeft(4, ‘0’));

  6. شریعتی

    مهمان

    شریعتی

    سلام.خسته نباشید.
    میخواستم بدونم استفاده از ماژول های gsm با اردوینو due ممکن هست یا خیر؟

    مشاهده پاسخ ها (1)
    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام – due? بحث سطح ولتاژ ماژول و میکرو فوق رو باید بررسی کنی – کتابخونه توی این مطلب رو نمیدونم که سازگاره یا نه.

  7. علی نژاد

    مهمان

    علی نژاد

    سلام..بی نهایت سپاسگزارم….
    اجرت با خدا که بی منت اینهمه وقت میذاری و زکات علم رو به این زیبایی ادا میکنی…در کلاس هام ذکر خیر شما با سایت زیباتون بود…

  8. مجید

    مهمان

    مجید

    سلام
    ممنون از اینکه کدها رو گذاشتین.
    من پروژه ای را با نانو و sim800l بستم. وقتی منبع تغذیه خارجی (12 ولت که به 5 و بعدش 4.3 تبدیلش کردم) و کابل سریلا به برد متصل هستند ارسال و دریافت پیامک مشکلی نداره. اما وقتی کابل سریال رو قطع می کنم و sim800 رو ریست می کنم یا اینکه منبع تغذیه رو قطع و وصل می کنم، ارسال و دریافت پیامک انجام نمیشه، هرچند چراغ ماژول طبق منوآلش هر سه ثانیه چشمک می زنه و ظاهره به شبکه وصله.
    برای راه افتادن اولیه sim800 حتما باید کابل سریال وصل باشه؟! به نشرم این موضوع خیلی عجیبه؟ می تونید راهنمایی کنین مشکل رو حل کنم؟
    متشکرم

  9. امین

    مهمان

    امین

    ساغول کیشه

  10. milad

    مهمان

    milad

    سلام
    ممنون از مطالب خوب و مفیدی سایت

    یه نکته:
    تو برنامه تبدبل کد متن فارسی، فاصله رو به جای 0020 به اشتباه به 020 تبدیل میکنه
    دوستان میتونن دستی اصلاح کنند.

  11. Sorosh

    مهمان

    Sorosh

    سلام میشه اتصالات شو توضیح
    ممنون میشم

    مشاهده پاسخ ها (1)
    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام – خط 7و8 پروژه اول و خط 10 و 11 پروژه دوم رو ببین

  12. علی

    مهمان

    علی

    سلام درود بر اقا مهدی گل . از اینکه میبینم افرادی مثل شما هم تخصص دارند و هم اینکه بدون هیچ چشم داشتی برای همه نشر میدند واز همه مهمتر اینکه تک بعدی نیستند بسیار لذت میبرم به امید نابودی ال سعود ملعون و یروزی کامل مردم مظلوم یمن
    دوست دلرم اقا مهدی عزیز

  13. امیر

    مهمان

    امیر

    با عرض سلام وخسته نباشید
    ماژول sim808 من پایه ri ندارد میخواستم بدونم چه جوری میتونم ازش استفاده کنم ,
    و آیا پایه powerkey هم می بایست به پایه 3 آردوینو مصل شود یا لازم نیست چون در داخل متد زیر
    SIM808Setting.Init( &Serial1, 115200/*B.R*/, 3/*Powerkey*/, 2/*riInterruptPin*/ )
    برای powerkry عدد 3 تعریف شده است
    با تشکر از اموزشهای خوبتن
    خدا قوت یا علی مدد

  14. علی

    مهمان

    علی

    سلام و عرض خسته نباشید
    اون سایتی که معرفی کردین برای تبدیل متن فارسی لینکش کار نمیکنه میشه لطفا یک منبع دیگه معرفی کنین با تشکر

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      چند تا لینک جدید + یه نرم افزار برا این کار به مطلب اضافه کردم.

  15. حبیبی

    مهمان

    حبیبی

    با سلام من تازه میخوام سیم 808 رو رااندازی کنم ابتدا چی نکاتی رو می بایست در نظز بگیرم. ممنون

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      چیشو میخوای راه بندازی؟
      اگه تازه کاری ماژولی بگیر که پایه RI رو داشته باشه – برا بحث پیامک بودنش خیلی تو کد نویسی کمک میکنه.
      و این که ماژولی بگیر که مشکل تغذیه نداشته باشه یعنی مدار رگولاتور رو توش داشته باشه.
      بازم بستگی به ماژولت داره ولی اگه این موردی که الان میگم تو ماژول تعبیه نشده بود باید خودت قرار بدی – یه تقسیم ولتاژ برا پایه های سریال بزن تا نسوزن.
      آنتن رو به برد وصل باید بکنی.

  16. میلاد

    مهمان

    میلاد

    سلام من شماره تلفنی رو به صورت رشته در متغیری ذخیره کردم و میخوام هربار به این شماره و یا شماره تلفن های دیگری که ذخیره کردم پیام بدم.
    من تا جایی که شماره رو ذخیره کنم پیش رفتم ولی زمانی که متغییر رو داخل تابع میزارم نمیشه?
    لطفا کمکم کنید؟

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      ورودی تابع SendSMS از نوع String هستش لذا باید متغیری از نوع String تعریف کنی وشماره موبایلو توش ذخیره کنی

  17. محمد

    مهمان

    محمد

    با سلام و تشکر من ماژول SIM800 دارم با تغییر کتابخوانه اول برنامه و گذاشتن برنامه شما جواب میگیرم؟یا AT comant ها هم فرق رمیکنه؟

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      اول تست کنید – نباید فرقی کنه – ولی خب مثلا میتونید هر کامند رو بین 800 و 808 مقایسه کنید ببیند فرق کرده یا نه – چون مثلا تغییراتی ممکنه به این صورت رخ بده که یه کامند در 800 اسمش aaa باشه و در 808 اسمش بشه aab مثلا – یکم تغییر کنه – ولی خب این که کلا تغییر کنه – نه از این خبرا نیست.

  18. شمسی

    مهمان

    شمسی

    سلام
    ایا امکان دارد ماژول 808 را یکبار با اردینو برنامه ریزی کرد و بعد از ان با اردینو را جداکرد و موقعیت جی پی اس را با ارسال یک پیامک دریافت کرد

    درواقع ماژول 808 می تواند دستورات پیامکی را بدون برد اردینو دریافت کند و پاسخ مناسب را بدهد

    مشاهده پاسخ ها (2)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام – والا درباره این که میشه یا نمیشه اطلاع ندارم و بلد نیستم.

    • معین

      مهمان

      معین

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

  19. qwerty13

    مهمان

    qwerty13

    سلام؛
    خداقوت برای نوشتن این کتابخونه smile در زمینه ماژول های سیمکارت خیلی کم کتابخونه پیدا میشه؛ فارسی که بماند!
    راستی برای اون ماژول اثرانگشته (وارد کردن کد اثرانگشت) کاری نکردید؟

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام-نه.

  20. معین صابری

    مهمان

    معین صابری

    عالی بود، دستت درد نکنه