اطلاعیه

Collapse
No announcement yet.

ارسال اسمس فارسی ، برای اولین بار با PIC , PC

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ارسال اسمس فارسی ، برای اولین بار با PIC , PC

    بسم الله الرحمن الرحیم
    مقدمه :
    در ابتدا بهترین و شایسته مراتب قدرشناسی و تشکر حقیرانه خودم را تقدیم می کنم به بهترین دوست دوران (1368-1372) دبیرستان تا امروز ، جناب آقای مهندس حمید حسن نیا کارشناس ارشد مهندسی کامپیوتر (معماری سخت افزار) که اگر راهکارها و توصیه های ایشان نبود یافتن راه و راهکار و رسیدن به این نقطه برای من هیچگاه میسر نبود.
    و از سویی دیگر ؛ بنده به مدیر محترم و ارزشمند گروه جناب آقای مهندس مستقیمی قول داده بودم ، نتیجه کار را برای اولین بار در این گروه به اشتراک می گذارم زیرا آشنایی من با این وبسایت به دلیل استفاده صرف اینجانب از PIC بوده است. و منطقی است که موارد و سوالات و عقایدم را اینجا مطرح می کنم.
    همانطور که همه استفاده کنندگان از GSM-Modem یک بار به ذهن شان رسیده است که چطور امکان دارد که با GSM-Modem اسمس فارسی ارسال کرد؟ من هم این سوال را از دوست خوب و ارزشمندم جناب آقای مهندس حسن نیا پرسیدم و جواب های ایشان بسیار بسیار جالب و صد البته سازنده بود که منجر به نتیجه شد. زیرا اگر شما جستجوی فارسی بفرمائید امکان ندارد صفحه ای را بیابید که منجر به نتیجه ارسال اسمس فارسی با GSM-Modem شود. لذا با افتخار اولین بار چگونگی ارسال اسمس فارسی در انجمن یا تالار گفتگوی PIC به شکل زیر بیان می شود.

    بسیار مایلم که توضیحات ارزشمند و شایسته دوستم را اینجا برایتان بیشتر به اشتراک بگذارم اما می ترسم که زیاده گویی حمل بر بی ارتباطی شود و این آورده اندک من به تالار گفتگوی PIC به دلیل بیان غیر مرتبط حذف شود.

    حتما میدانید که ارسال اسمس با متن فارسی در قالبی شکل می گیرد به نام PDU که می گذریم از اینکه چرا PDU = Protocol Data Unitو چرا قواعد دیگر نه؟ و یا در صحنه رقابت صنعتی بین نوکیا و زیمنس برنده نوکیا بوده است و بقیه موارد دیگر...

    اما برای ارسال اسمس به شکل پی دی یو ، یک تفاوت کلی و جامع با ارسال اسمس به صورت TEXT دارد و آن این است که در ارسال اسمس به فرمت و قالب پی دی یو باید همه اطلاعات داخل پی دی یو جایگذاری Encode شوند. این اطلاعات عبارتند از
    • شماره مرکز ارسال کننده پیام به صورت استاندارد : مثلا ایرانسل 00989350001400 و همراه اول 009891100500
    • شماره دریافت کننده (مخاطب) اسمس به صورت استاندارد
    • بیان تعداد بیت شامل هر حرف یا سایز الفبا بر اساس بیت : 7بیت ، 8 بیت و 16 بیت ( در پی دی یو بر اساس جداول سه گونه حروف الفبا وجود دارد ، حروفی که 7 بیتی هستند ، حروفی که 8 بیتی هستند و فارسی که جزو حروف 16 بیتی دسته بندی می شوند).
    • اولویت پیام یا Message Class یعنی داخل صندوق برود ، یا مستقیم روی صفحه بیاید یا هر دو تا با هم.
    • اعلام وصول توسط مخاطب را داشته باشد یا خیر
    • اگر گیرنده خاموش بود ، بعد از چه زمانی باید این پیام منقضی و باطل شود
    • مهم تر از همه : پیام دارای چند کاراکتر است؟ یا تعداد کاراکترهای پیام PDU چندتاست؟

    پس ما باید رشته ای از اعداد هگزادسیمال پیوسته (دنبال هم ) را بسازیم که همه این 7 مورد را یکجا داشته باشد و این رشته باید دارای این خاصیت باشد که ابتدا نیمه اول (Low Significant Byte) ارسال شود بعد نیمه دوم (Most Significan Byte) به عنوان مثال اگر نتیجه اولین عضو این رشته 9F باشد ابتدا باید F ارسال شود و آنگاه 9 و به شرطی که تعداد اعضای رشته هگزا دسیمال زوج باشد و اگر فرد بود یک F به انتهای سمت راست اطلاعات اصلی اضافه می شود و ارسال می شود.

    مبدلهای متفاوت و گوناگونی وجود دارد که متون مختلف را به PDU تبدیل می کند. من آدرس یکی از آنها را که بیشترین شباهت با سیستم UCS2 که شبیه جدول کد بندی حروف UTF-16 است. را در انتهای این مقاله قرار می دهم . اگر غیر از این سیستم باشد ، مخاطب کدها و حروفی دریافت می کند که شباهتی به فارسی ندارد.

    امید است که انشالله مفید فایده باشد.

    آماده سازی برای ارسال اسمس به فارسی:

    1. ارسال کد AT+CMGF=0 : تعیین فرمت پی دی یو برای GSM-Modem ، پیش فرض این گزینه 1 است که همان دریافت و ارسال اسمس به صورت تکست و انگلیسی است. بعد از این حالت همه دریافت وارسال ها باید پی دی یو باشند و پی دی یو می شوند.
    2. ارسال کد AT+CCODE=0 که مفهوم آن سازگاری کدها با استاندارد NOKIA است . گزینه قابل انتخاب بعدی عدد1 است که سازگاری کدها با استاندارد SIEMENS است که منظور نظر ما زیمنس نیست . ملاک نوکیا است.
    3. ارسال کد AT+CSCS=”IRA” که البته باید پیش فرض همین باشد و نیاز به اجرا یا تغییر نباید باشد.

    ارسال اسمس فارسی:

    1. اولین عددی که در لینک پائین بعد از AT+CMGS= قرار دارد همان تعداد کاراکتر مد نظر است. به بیان دیگر اولین کدی که شما برای هر بار ارسال اسمس فارسی به GSM-Modem ارسال می کنید باید خط اول دستوری باشد که در لینک زیر تولید شده است و در آن بیان میشود چه تعداد کاراکتر در دستور بعدی قرار دارد و باید ارسال شود. و اگر از میکرو استفاده می کنید باید کد معادل CR را بلافاصله بعد از ارسال عدد بیان کننده تعداد کاراکترها بفرستید
    2. بلافاصله شروع به ارسال بقیه عبارت تولید شده یعنی از خط دوم به بعد بنمایید. و در انتها کد مربوط به Ctrl-Z را ارسال کنید.
    و بدین صورت اسمس فارسی ارسال می شود.
    حال همانطور که بالا گفتم اگر اسمس انگلیسی به GSM-Modem ارسال کنید ، دیگر نمی توانید به شکل تکست و متن آن را دریافت کنید مگر اینکه دوباره AT+CMGF=1 کنید.

    اما مبدل در لینک زیر از سمت چپ بالا به ترتیب شماره مرکز پیام ، شماره مخاطب ، سایز حروف 16 بیتی را انتخاب کنید و در اولین پنجره سمت چپ فارسی تایپ کنید و سپس کلید Convert را بزنید.

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


    زیاده جسارت است.

    با احترام.

    http://www.rednaxela.net/pdu.php

    برای همه میکرو ها معتبر است . از جمله PIC. کلمه میکرو کنترلر PIC. را اضافه کردم . انشالله که مفید فایده باشد.
    والسلام علي من اتبع الهدي .... و درود بر کساني که راه هدايت را دنبال مي کنند.

    هوشمندانه بپرسيد...

    #2
    پاسخ : ارسال اسمس فارسی ، برای اولین بار با PIC , PC

    ممنون جناب اصغریان
    بالاخره این قفل هم شکست
    اي خدا ، من بايد از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از اين راه طعنه زنند. بايد به آن سنگدلاني که علم را بهانه کرده و به ديگران فخر ميآ*فروشند، ثابت کنم که خاک پاي من هم نخواهند شد. بايد همه آن تيره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترين و افتاده ترين مرد روي زمين باشم.
    شهيد دکتر مصطفي چمران
    اللهم صل علي محمد و ال محمد و عجل فرجهم
    ; C is not for children

    دیدگاه


      #3
      پاسخ : ارسال اسمس فارسی ، برای اولین بار با PIC , PC

      تونستی در حالت txt بفرستی؟؟؟
      نتونستی بیا به این لینک !!

      http://www.eca.ir/forum2/index.php?topic=111334.0

      دیدگاه

      لطفا صبر کنید...
      X