فرزاد جان سئوالت رو تو بخش دلفی بپرس ! زود تر و بهتر به نتیجه میرسی.نقل قول:
نمی تونم با دلفی کد مثلاً 0641 Hex را به کاراکتر آن که حرف "ف" هست برگردونم
موفق باشید
Printable View
فرزاد جان سئوالت رو تو بخش دلفی بپرس ! زود تر و بهتر به نتیجه میرسی.نقل قول:
نمی تونم با دلفی کد مثلاً 0641 Hex را به کاراکتر آن که حرف "ف" هست برگردونم
موفق باشید
مطلب برای گفتن زیاده هنوز خیلی چیزها مونده که گفته بشه ولی چند چیز از پستها استنباط میشه اول اینکه
متاسفانه بحث های حاشیه ای زیاد شده و داره از موضوع اصلی دور میشه دوما که مهمتر هم هست دوستان علاقه ای به ادامه بحث نشون نمی دن (نمی دونم چرا؟؟؟؟ )
به نظر من حیفه حالا که بحث تا اینجا رسیده همین جا تموم بشه
برو بچ كجايين بابا ... اين چند رو امتحانات پشت سر هم دمار از روزگار ما در اورد .... ديگه تموم شد راحت شديم
خوب بچه ها مروري كه به مطالب داشتم حاكي از اين بود كه مطالبي كه مربوط به كد و ديك بود در حالت عادي به طور كامل بيان شده دوستان با كمي ابتكار توسط همين مطالب ميتونن يك سيتمم كدينگ و ديكدينگ تقريبا انعطاف پذير رو پياده سازي كنن ...
الان تنها مطلي كه من و raravaice جون منتظرشيم و noorsoft جان قولش رو داده همون ارسال و دريافت اس ام اس هايي هست كه به جاي شماره اسم داره ...
اميدوارم به خوبي اين مبحث بيان بشه و تاپيك رو با يك پست گلچين شده ي مطالبت خاتمه بديم ...
يا حق ...
با سلام خدمت دوستان عزیز
من برای Decode کردن مثال آقای raravaice را قدم به قدم انجام دادم ولی به یه مشکل بر خوردم و مشکل این بود که این مثال خروجی متن Barnamenevis.org
را به دست آوردم ولی در مثال خودم که از مودم مقدار را می خونم که باید D3303BDC06 به "Salam" را بدست می آوردم نتونستم به دست بیارم . اگه ممکنه راهنمایی کنید .
اگه مطالب دیر شد ببخشید من شدیدا بیمار هستم و خیلی ار کارام عقب افتاده
روش اول برای ارسال پیام با نام
با این روش پیام ارسالی شما روی موبایل به جای شماره شما یک نام به دلخواه شما نشان داده می شود.
به این مثال توجه کنید
06918919015000040C9189193380000032008060617131040C15CEF75B1E76A7C36E403E8C7EBF41F330 3BDC06
من تنها تفاوت کار را با روشهای قبلی میگم چون بقیش مثل قبله
نکته اول: 04 به جای کدی که مشخص کننده Dlivery بود جایگزین میشه
نکنه بعدی پروتکل را 32 انتخاب کنید
بقیه مراحل مثل قبل انجام میشه
نکته آخر نامی که قصد دارید به جای شماره شما روی موبایل نشان داده شود را در ابتدای متن پیام قرار دهید البته بصورت یک آدرس ایمیل در مثال فوق بخ جای شماره Nooranian@yahoo نشان داده میشود و متن پیام هم salam نشان داده می شود
موفق و موید باشید
با سلام و خسته نباشید خدمت دوستان گرامی
واقعا از صمیم قلب ازتون تشکر میکنم که همچنین تاپیک مفیدی رو راه انداختید. مطالب واقعا کاربردی و مفید هست که من خودم خیلی چیزا ازتون یاد گرفتم. :تشویق:
چند تا سوال دارم اگه راهنماییم کنید ممنون میشم:
1. آیا همه گوشیها و مودمهای GSM از مد Text پشتیبانی میکنند؟
2. اگه برای ارسال SMS از مد Text استفاده بشه قضیه چطور میشه؟ من خودم امتحان نکردم ولی جایی دیدم که میشه بصورت زیر از مد Text استفاده کرد. آیا این روش درسته و کار میکنه؟
AT
OK
AT+CMGF=1
OK
AT+CMGS="+989351234567"
> A simple demo of SMS text messaging.
OK
با تشکر...
1- بله همه مودمها با مد تکست به راحتی کار میکنند و مشکل خاصی ندارند
2- از مد تکست هم پیام ارسال میشه ولی چند تا موضوع باید رعایت بشه
اول اینکه پیام باید کوتاه باشد short message یعتی حد اقل 160 کارکتر
دوم اینکه از یونیکد استفاده نکنی و تمام متن پیام انگلیسی باشد
نکته آخر اینکه بعد از وارد کردن متن پیام Ctrl+Z یادتون نره
با تشکر از شما دوست عزیز
چندتا سوال دیگه ام دارم ممنون میشم اگه راهنمایی کنید...
یکی اینکه آیا منبع فارسی واسه دستورات AT وجود داره که دستور رو با توضیحش داشته باشه؟ البته من یه چندتایی از دستورات رو بلدم ولی میخوام اگه مرجعی باشه بشتر یاد بگیرم...
دومی ام اینکه اگه میشه یه توضیحی در مورد دسیمال و Hex و مبنای 10 و این چیزا بدید چون زیاد با این دستورات کار نکردم...
راستی قضیه ایجاد یه تاپیک مجزا در مورد کار با پورتها و ارسال Sms چی شد؟ تاپیکی ایجاد نشده یا بحث شروع شده ما ازش بی خبریم؟؟؟
دوست عزیز منبع فارسی کامل و جامع وجود ندارد ولی تو همین بخش توضیحات دستورات اصلی داده شده
از طرفی دستورات با زبان اصلی بسیار ساده بیان شده اند و نگران زبان اصلی نباشید
در مورد سوال دوم : تو این تاپیک جاش نیست ولی با این حال مبنای 10 همون دسیمال یکی هستند و همون مبنای شمارشی که خودمون استفاده میکنیم یعنی هر ده یکان میشه یک دهگان (از صفر تا 9)
مبنای هگزا مبنای 16 است که هر 16 یکان یک شانزدهگان اضافه میشه (از صفر تا F)
با سلام خدمت دوستان گرامي
من pdu ايجاد شده را به دو نوع موبايل فرستادم ولي در Nokia متن فارسي رو درست نشون ميده ولي در Samsung مدل N620 درست نشون نمي ده و مربع نشون ميده در ضمن هنگام ارسال از Nokia به Samsung فارسي درست نشان داده مي شود . آيا موبايل به موبايل اين قضيه فرق ميکنه ؟ ممنون از راهنمايي شما .
فکر کنم علتش ساپورت نکردن زبان فارسی از جانب گوشی سامسونگ باشه ...
با تشکر از راهنمايي دوستان عزيز
اگه مشکل از فونت هست پس چرا از گوشي نوکيا که مي فرستم درست نشون مي ده ولي از کد نوشته شده خير ؟ آيا فرقي بين ارسال ما و گوشي نوکيا هست ؟ آيا نوکيا يونيکد نمي فرسته ؟ اگر يوني کد مي فرسته چرا فارسي نشون ميده ؟ و سوال آخر اينکه چکار بايد بکنم تا درست نشون بده ؟
شرمنده که اينهمه سوال را پرسيدم چکار کنيم بي سوادي اين مشکلات رو هم داره ! شرمنده دوستان
ممنون از لطف شما
کد من اينه
079189390500410011000C918919323421430008AA08063306 4406270645
که کلمه سلام رو مي فرسته
فرزاد جان این کد شما هیچ مشکلی نداره :
SMS_SUBMIT
Send to:989123431234
سلام
شما همین PDU رو توی از مودم سامسونگ به سامسونگ بفرست ببین چی میشه!
مشکل از جای دیگه ای هست.
سئوالات رو توی تاپیک های تازه ای مطرح کن تا مبحث آموزشی این تاپیک به بیراهه نره!
موفق باشید
با سلام خدمت دوستان عزیز
دو تا سوال دارم از دوستان ممنون میشم اگه راهنمایی کنن..
توی بحثا گفته شد که اگه بخوایم از طریق PDU پیام بفرستیم و Delivery Report هم داشته باشیم یه کد 2 رقمی رو در محل تعیین شده قرار میدیم و پیام رو ارسال میکنیم حالا سوال من اینه که اولا:
وقتی Delivery فعال شد و پیام هم فرستاده شد جوابشو چطوری دریافت میکنیم؟ یعنی راهی هست که هر موقع گزارش رسیدن پیام به مقصد ، واسه ما اومد ما هم مثلا با یه MsgBox به کاربرمون اطلاع بدیم یا اینکه باید مرتبا وضعیت پیام رو توی شبکه بررسی کنیم ببینیم رسیده یا نه...
ثانیا در مد Text چطوری میشه تنظیمات اضافی (مثل همین Delivery) روی پیام ارسالی تنظیم کرد؟؟؟
با تشکر...
دوست عزیز Delivery Report بصورت یک sms برای شما ارسال میشه که شما از طریق اون زمان و .. متوجه میشین
دوما در مد تکست تنظیمات اضافی نداریم فقط ارسال پیام ساده انگلیسی
با سلام و عرض ادب
من در مورد ارسال پيام با نام که آقاي NoorSoft گفته بودند و مثال ايشان مشکل داشتم اگه ممکنه توضيح بيشتري بدين .
کدي که آقاي NoorSoft گفته بودند :
06918919015000040C9189193380000032008060617131040C15CEF75B1E76A7C36E403E8C7EBF41F330 3BDC06
ولي کدي که من توليد کردم :
079189390500410011040C918919323411113200AA15CEF75B 1E76A7C36E403E8C7EBF41F3303BDC06
و جواب هم نميده ميشه تفاوت اين دو کد رو بگين و چرا کد من اشتباهه؟
سلام. ضمن تشکر از شما و Noorsoft عزیز ، کدی که این بالا نوشتید رو نتونستم کامل کنم و جواب بگیرم، البته همه کارهایی که راجع به Encoding گفته شد انجام دادم و جواب گرفتم ، اما توی رشته ای که برای ارسال SMS می فرستم Delivery Report مشخص نشده :
AT+CMGF=0
OK
AT+CSMS=0
OK
AT+CMGS=14
>0011000B819021214365F70000FF00 (CTRL+Z)
00 : Length of SMSC information
11 : First octet of the SMS-SUBMIT message.
00:TP-Message-Reference
0B819021214365F7: Destination
00:TP-PID. Protocol identifier
00:Data coding scheme
FF:validity period
00: lenght of message
این رشته که من نوشتم و ارسال کردم از روی لینکی که در یکی از صفحات این تاپیک جناب Noorsoft لطف کردن قرار دادن هست و جواب گرفتم ، سوالم اینه که پس Delivery Report کجای این رشته هست ؟
سوال بعدی من اینه که وقتی که SMS ارسال شد یک پیام میاد به پورت Com :
+CMGS: 17
این یعنی چی؟
سوال بعدی من اینه که من با یک گوشی نوکیا N73 کار می کنم، و دستور
AT+CMGL = "ALL"
رو می زنم Error میده.
خیلی ممنون، ببخشید که سوالهام رو باهم پرسیدم.
کدی که من گذاشته بودم
PDU LENGTH IS 45 BYTES
ADDRESS OF DELIVERING SMSC
NUMBER IS : +9891100500
TYPE OF NR. : (0x10) International
NPI : (0x01) ISDN/Telephone (E.164/163)
MESSAGE HEADER FLAGS (0x04)
MESSAGE TYPE : SMS DELIVER
MSGS WAITING IN SC : NO
REQ. STATUS REPORT : NO
USER DATA HEADER : NO UDH
REPLY PATH : NO
ORIGINATING ADDRESS
NUMBER IS : +989133080000
TYPE OF NR. : (0x10) International
NPI : (0x01) ISDN/Telephone (E.164/163)
PROTOCOL IDENTIFIER (0x32)
MESSAGE ENTITIES : TELEMATIC INTERWORKING
PROTOCOL USED : Internet EMail
DATA CODING SCHEME (0x00)
COMPRESSION : OFF
MESSAGE CLASS : NONE
ALPHABET USED : 7bit default
SMSC TIMESTAMP : 16/06/08 17:13:40 GMT-10.00
USER DATA PART OF SM
USER DATA LENGTH : 21 septets
USER DATA (TEXT) : Nooranian@yahoo salam
کدی که شما درست کردین
PDU LENGTH IS 41 BYTES
ADDRESS OF DELIVERING SMSC
NUMBER IS : +989350001400
TYPE OF NR. : (0x10) International
NPI : (0x01) ISDN/Telephone (E.164/163)
MESSAGE HEADER FLAGS (0x11)
MESSAGE TYPE : SMS SUBMIT
REJECT DUPLICATES : NO
VALIDITY PERIOD : RELATIVE
REPLY PATH : NO
USER DATA HEADER : NO UDH
REQ. STATUS REPORT : NO
MSG REFERENCE NR. : 4 (0x04)
RECIPIENTS ADDRESS
NUMBER IS : +989123431111
TYPE OF NR. : (0x10) International
NPI : (0x01) ISDN/Telephone (E.164/163)
PROTOCOL IDENTIFIER (0x32)
MESSAGE ENTITIES : TELEMATIC INTERWORKING
PROTOCOL USED : Internet EMail
DATA CODING SCHEME (0x00)
COMPRESSION : OFF
MESSAGE CLASS : NONE
ALPHABET USED : 7bit default
VALIDITY OF MESSAGE : 4 days
USER DATA PART OF SM
USER DATA LENGTH : 21 septets
USER DATA (TEXT) : Nooranian@yahoo salam
اگه دقت کنی متوجه میشین شما MESSAGE HEADER FLAGS را بجای 04 عدد 11 قرار دادین
موفق و موید باشین
دوست عزیز یک PDU میتونه یک یا بعضی از قسمتها را نداشته باشه و این اشکالی ایجاد نمی کنهنقل قول:
این رشته که من نوشتم و ارسال کردم از روی لینکی که در یکی از صفحات این تاپیک جناب Noorsoft لطف کردن قرار دادن هست و جواب گرفتم ، سوالم اینه که پس Delivery Report کجای این رشته هست ؟
این شماره Index ارسال پیامهنقل قول:
سوال بعدی من اینه که وقتی که SMS ارسال شد یک پیام میاد به پورت Com :
این یعنی چی؟
+CMGS: 17
بعضی از گوشی ها بعضی از دستورات را ساپورت نمی کنن این هم از همون مورد هاستنقل قول:
سوال بعدی من اینه که من با یک گوشی نوکیا N73 کار می کنم، و دستور
رو می زنم Error میده.
AT+CMGL = "ALL"
خیلی ممنون، ببخشید که سوالهام رو باهم پرسیدم.
برای تست این قبیل موارد شما AT+CMGL? را وارد کنید اگر OK گرفتین دستور شما ساپورت میشه
سلام.
من توی Encoding مربوط به محتوای پیام مشکل دارم. کدی رو که نوشتم در زیر قرار می دم، لطفا بگین چرا به مشکل بر می خوره. مشکل اینه که همونطور که دیدیم، هر 8 کاراکتر میاد در 7 بایت می شینه. من موقع ارسال Sms ها دیدم که مثلا وقتی میفرستم Reza Mohammad حرف آخر اون که d هست فرستاده نمی شه و برای رشته های بزرگتر تعداد حرف های بیشتری فرستاده نمیشه، یعنی همون تعدادی که به خاطر PDU Encoding کم شده، مثلا توی یه رشته که 24 حرف داره 3 حرف آخر نمی رسه و ....
در ضمن من برای تبدیل باینری به هگزا دسیمال و همچنین گرفتن کد یک کاراکتر خودم تابع نوشتم، لطفا اگر این توابع توی NET2. موجود هستند بگین.
تابع شامل 6 مرحله هست :
1-پیدا کردن کد هر کاراکتر و تبدیل آن به هگزا دسیمال = Step1
2-تبدیل کدهای هگز به باینری = Step2
3-حذف MSB هر Octet که میشه Step3
4- برعکس کردن هفت تایی ها = Step4
اضافه کردن تعدادی صفر به سمت چپ رشته تا طول رشته مضرب 8 بشود
5-برعکس کردن 8 تایی ها، البته شما نوشته بودین که به هگز تبدیل می کنین و بعد برعکس می کنین که فرقی نداره، من اول هشت تایی ها رو برعکس کردم و بعد به هگز تبدیل کردم و این میشه Step5
6- تبدیل باینری ها به هگزا دسیمال، البته چون تابع Convert.ToInt16 اعداد بین یک تا 15 رو به یک رقم هگز تبدیل می کنه و ما دوتا دوتا می خواهیم، هر 4 بیت 4بیت رو جدا کردم و هگز کردم.
Function EncodeOnePartDefaultAlphabetMessage(ByVal Message AsString) AsString
Dim Step1 AsString = ""
Dim Step2 AsString = ""
Dim Step3 AsString = ""
Dim Step4 AsString = ""
Dim Step5 AsString = ""
Dim Step6 AsString = ""
Dim Result AsString = ""
Dim OS, OE AsInteger' Octet Start and Octet End Pointers
Dim Messagelen AsInteger
Messagelen = Message.Length
Dim MessageLenStr AsString = ""
Dim Octet AsString = ""
Dim Tetra AsString = ""
For i AsInteger = 0 To Message.Length - 1
Step1 += Me.GetHexadecimalCharCode_ASCII(Message.Chars(i))
Next
For i AsInteger = 0 To Step1.Length - 1
Step2 += Me.ConvertHexToBinary(Step1.Chars(i))
Next
OS = 1
OE = 7
While OE < Step2.Length
Octet = StrCpy(Step2, OS, OE)
Step3 += Octet
OS += 8
OE += 8
EndWhile
OE = Step3.Length - 1
OS = OE - 6
While OS >= 0
Octet = StrCpy(Step3, OS, OE)
Step4 += Octet
OS -= 7
OE -= 7
EndWhile
If Step4.Length Mod 8 <> 0 Then
Dim Zeros AsInteger
Zeros = 8 - (Step4.Length Mod 8)
For i AsInteger = 1 To Zeros
Step4 = "0" + Step4
Next
EndIf
OE = Step4.Length - 1
OS = OE - 7
While OS >= 0
Octet = StrCpy(Step4, OS, OE)
Step5 += Octet
OS -= 8
OE -= 8
EndWhile
OS = 0
OE = 3
While OE < Step5.Length
Octet = StrCpy(Step5, OS, OE)
Step6 += Me.ConvertBinaryToHex(Octet)
OS += 4
OE += 4
EndWhile
Dim LN AsInteger = Step6.Length / 2
If LN >= 0 And LN < 16 Then
MessageLenStr = "0" & CStr(Hex(LN))
Else
MessageLenStr = CStr(Hex(LN))
EndIf
Result = MessageLenStr & Step6
Return Result
EndFunction
****************
Function GetHexadecimalCharCode_ASCII(ByVal Character AsChar) AsString
Dim CharIndex AsInteger = -1
Dim Result AsString = ""
For i AsInteger = 0 To 255
If Chr(i) = Character Then
CharIndex = i
ExitFor
EndIf
Next
If CharIndex <> -1 Then
If CharIndex > 0 And CharIndex < 16 Then
Result = "0" + CStr(Hex(CharIndex))
ElseIf CharIndex >= 16 And CharIndex <= 255 Then
Result = CStr(Hex(CharIndex))
EndIf
EndIf
Return Result
EndFunction
فکر کنم پستم خیلی طولنی شد، ببخشید، مشکله دیگه، باید حل بشه.
با این کد چند تا خروجی رو ازش می نویسم :
String : 'Reza' => 04D2B23E0C
String : 'Reza Mohammad' => 0CD2B23E0C6ABED1E1763B4C06
String : 'This is a test sms for sending' => 1B54747A0E4ACF416110BD3CA783E6ED39C8FC9683E6653739 ED3E03
رشته اول مشکلی نداره و کامل می رسه ، رشته دوم حرف آخرش نمی رسه و رشته سوم سه حرفش نمی رسه. لطفا اگر می شه این رشته ها رو با برنامه خودتون تست کنین و خروجیتون رو با این خروجی ها مقایسه کنین و بگین اشکال کارم کجاست.:عصبانی++:
ببخشید، مشکلم حل شد، اشکالم اینجا بود که طول پیام رو تعداد 8 تایی های نهایی می دونستم، در صورتی که طول پیام تعداد 7 تایی هاست که همون طول پیام کاربره، یعنی به این قسمت توجه نکرده بودم :
و به این نتیجه رسیدم که اگر طول پیام رو کمتر از اونی که هست بفرستین قبول می کنه و Send می شه و ناقص می شه ، اما اگر طول پیام رو کمتر از اونی که هست بفرستین Error میده. Error 304.نقل قول:
این عدد تعداد کاراکتر های وارد شده ما در مبنای 16 هست که در اینجا 6 کاراکتر داریم.دقت کنید چون داریم 1 بیت از هر کاراکتر کم میکنیم امکان داره تعداد جفت کد هگز ما این عدد نشه پس باید محاسبه این عدد رو از روی مجموع کل کاراکتر های وارد شده انجام بدیم.
یک فایل XML رو اینجا می ذارم که نشون دهنده Error های CMS هست، اینم حاصل زحمت داداش دوستمه که بنده خدا از روی یه فایل PDF دونه دونه کد خطا و پیامش رو وارد کرده.
با سلام
دوستان در مورد کد کردن و ارسال SMS زیاد بحث شده ولی در مورد دریافت SMS هایی که با فرمت PDU دریافت میشن چیزی گفته نشده!!!
از اساتید محترم میخوام به این بحث هم بپردازن و اگه مثالی در مورد چگونگی این کار دارن در اختیار بقه هم قرار بدن تا آموزش کامل تر بشه :تشویق:
با تشکر...
کم لطفی نکنید بحث شده.نقل قول:
در مورد دریافت SMS هایی که با فرمت PDU دریافت میشن چیزی گفته نشده!!!
توی صفحه 5 از همین تاپیک در پست 46 به بعد یه نوعش رو به طور کامل گفتم به همراه مثال منتهی مسئله ای که هست اینه که من یه مقدار مشغلم زیاد شده برای همین نتونستم ادامه بدم نوعهای دیگه رو ولی در اصرع وقت حتما ادامه میدم.
موفق باشید
با تشکر از شما
من یه برنامه از شما توی همین سایت دیدم که ارسال sms رو انجام میداد و خیلی شفاف توضیح داده بودین. اگه امکان این باشه که واسه دریافت SMS هم یه همچین مثالی بذارین لطف بزرگی در حق ما کردید...
با تشکر...
در جایی خوندم که نوشته بود :
0051000781255535F30000AA0A060504411A0000CF25
where 060504411A0000 means destination port 16666
میشه در مورد پرت های ارسال و دریافت مثل پرت poblic و سایر پرت ها یک مقدار توضیح بدید و اینکه چكونه و كجاي pdu ایی که تا به اینجا ساختیم باید قرار داده بشه.
دوستان برای اینکه PDU دیکد و انکد کنید من یک آنلاین دیکدر / انکدر نوشتم و تو سایتم گذاشتم اونجا میتونین نمونه هاتون را انکد و دیکد کنید و تست کنید و مشاهده روند کامل دیکد فکر کنم دیگه از این راحتر نشه نوضیح داد
www.noorsoft.com
در قسمت آموزش لینک PDU Online Encode/Decode
با سلام
یه جایی گفته شد یک PDU میتونه بعضی از قسمتها رو نداشته باشه. حالا اگه sms دریافتی ما با PDU اینکد شده باشه و بعضی از قسمتها رو هم نداشته باشه ما چطوری باید دیکدش کنیم؟؟!!!
به اون آدرسی که در پست قبلی دادم سر بزنید و نمونه ها بدین تا راهنمایی لازم جهت دیکد را بهتون بکنه
سلام
اینو ببینید
05811901500011000B819031024858F90000FF0161
کد بالا میگه :
service center = 091100500
dest number =09132084859
default alphabet
validity : max
status report : no
message refrence=0
user date=a
می خواهم در کد بالا تغییذلت زیر رو اعمال کنم :
udhi=1
udh=0608040b8423f
06:طول
08:اطلاعات را 16 بایتی کد کرده ایم
04:مشخص می کند 4 بایت دیگر ادامه دارد
0B84:پرت مقصد
23F0 :پرت مبدا
لطفا راهنمایی کنید .محل قرار گرفتن udhi,udh در کد بالا کجا میشه
با تشکر
دقیقا بعد از طول عمر پیام باید وارد نمایید
هر دوتاش؟
با توجه به گفته دوستان من دستور بالا را به صورت زیر تغییر دادم
05811901500011000B819031024858F90000FF0406080400C9 00000161
اما متن پیام که فقط یک کاراکتر a بود به صورت یک سری کاراکتر های نامتعارف دریافت شد؟
علت چیست ؟
راستی ...
udhi مگر یک بیت نیست پس چطوری باید نشونش بدیم ؟ (مثلا در قالب یک بایت)(آیا من این کار رو درست انجام دادم؟)
اگر ممکنه مثال بالا رو تکمیل و اصلاح کنید و udhiو udh رو در اون مشخص کنید .
اگر لطف کنید و اجزای مختلف و طریقه ساخت udhiو udh رو توضیح بدید فکر کنم دیگه ختم کلام باشه
میشه راهنمایی کنید که نقش DCS چیه و ساختارش به چه صورت هست و در چه مواقعی از اون استفاده می کنیم؟
یک دنیا تشکر
سلام. ببخشید ، من یه سوال ابتدایی داشتم ، البته خیلی تو این تاپیک گشتم که توضیح اینا رو پیدا کنم ولی پیدا نکردم.
می خواستم خواهش کنم که بگین هر کردم اینها چیه ، البته دوتای اول که واضحه ، یک SMS دریافت شده و دومی هم Delivery یک SMS فرستاده شده هست. اما سومی تا پنجمی رو نمی دونم.نقل قول:
برای انکدینگ ابتدا شما باید نوع پیام را تشخیص بدین که میتونه یکی از انواع زیر باشه
SMS RECEIVED
SMS STATUS_REPORT
SMS SUBMIT
EMS RECEIVED
EMS SUBMIT
ممنون.
سومی پیامهایی هست که توسط شما داخل سیم کارت نوشته شده ولی فرستاده نشده.نقل قول:
اما سومی تا پنجمی رو نمی دونم.
چهارمی EMS های دریافت شده.
پنجمی EMS هایی که به صورت مورد سوم در حافظه ذخیره شده.
بیت مورد نظر وقتی صفر یا یک میشه بایت تغییر میکنه اینه که مهمه!;)نقل قول:
مگر یک بیت نیست پس چطوری باید نشونش بدیم ؟ (مثلا در قالب یک بایت)
موفق باشید
ممنون، من منظورم این هم بود که EMS چیه؟ Extended Message ، یعنی SMS چند تایی؟
با سلام
لطفا اگه امکانش هست در مورد دستورات AT که sms دریافت شده را میخونن هم توضیح بدید. (منظورن دیکد کردن پیام نیست. منظورم این که وقتی یه پیام دریافت میشه چطوری باید بخونیمش و متنش رو دریافت کنیم بعد بریم سراغ دیکد کردن؟؟؟؟؟؟؟؟؟؟)
با تشکر...
AT+CMGF=0
برای اینکه مد PDU انتخاب بشه
AT+CMGR=x
برای خواندن پیام x در لیست
به جای x شماره ایندکس پیام در حافظه را وارد می کنید
سلام.
من یه انتقاد دارم راجع به این تاپیک ، البته در جهت بهبود میزان بهره برداری.
به نظرم با وجود اینکه توی این تاپیک مطالب بسیار مفید و تا حد زیادی کافی بیان شده ، اما به دلیل اینکه به خاطر وجود پست های کاربران و پاسخ به اونها شلوغ شده، یک مقدار پیدا کردن مطالب آموزشیش سخت شده. منظورم اینه که بهتر بود که همه مطالب آموزش Encoding و Decoding یک جا جمع می شد و به صورت PDF در میومد.
البته با این وجود می دونم که مدیر بخش و همچنین Raravie خیلی زحمت کشیدن و این پست ها رو زدن و ازشون تشکر می کنم و می دونم که برای انجام این کار ( جمع آوری ) به احتمال زیاد وقت ندارند .
سوالات و مشکلاتی که در بین مطالب مطرح شده هم به انجام درست کار کمک میکنه و به هرحال نمیشه یکسری پستها را بی دلیل حذف کرد
با عرض ادب و خسته نباشيد
آقا ما هر کاري کرديم نتونستيم ارسال با نام رو انجام بديم اگه ممکنه مشکل کد من رو بگين
ممنون مي شم از کمک شما
079189390500410004000C918919343492943200AA15CEF75B 1E76A7C36E403E8C7EBF41F3303BDC06
سلام.نقل قول:
بعد از این که مرکز پیام با کد 060804 متوجه شد ادامه داره و بتونه با دقت رد یابی کنه به یه کد احتیاج داره که در این قسمت قرار میگیره و میتونه یه عدد تصادفی بین 0000 و FFFF باشه و این عدد در سرآیند همه قسمتهای این پیام قرار میگیره.
ببخشید، راجع به این عدد تصادفی. گرچه احتمالش 1 به 65536 هست، ولی ممکنه با یک SMS چند پارتی دیگه Collision بده ، درسته؟
البته این احتمال از 1 به 65536 هم عبور میکنه چون شما شماره مقصد رو توی این احتمال حساب نکردی و ضریب زمان این احتمال در حد میلی ثانیه هست اگر چنین اتفاقی برای کسی بیافته اون شخص یه آدم عادی نیست و قادر به معجزه هست.نقل قول:
ببخشید، راجع به این عدد تصادفی. گرچه احتمالش 1 به 65536 هست، ولی ممکنه با یک SMS چند پارتی دیگه Collision بده ، درسته؟
شما بفرست من تضمین میکنم که هیچ تطبیقی با sms دیگه ای پیش نیاد. ;)
موفق باشید
راست میگی، ولی از این که گفتی اگر همچین اتفاقی بیفته معجزه شده خنده ام گرفت. با مزه بود.نقل قول:
شما شماره مقصد رو توی این احتمال حساب نکردی و ضریب زمان این احتمال در حد میلی ثانیه هست اگر چنین اتفاقی برای کسی بیافته اون شخص یه آدم عادی نیست و قادر به معجزه هست.
چشم. اگر Collision پیش اومدت خبرت می کنم.نقل قول:
شما بفرست من تضمین میکنم که هیچ تطبیقی با sms دیگه ای پیش نیاد. ;)
سلام
کد یک سری کاراکتر ها مثل ],[,},{ در موبایل و کامپیوتر با هم متفاوت هست
مثلا کامپیوتر کد ] برابر است با 91
اما در موبایل اگر در حالت DefaultAlphabet باشیم 2 تا کاراکتر حسابس میکنه یکی با کد 27ودیگری 60 اما اگر در حالت UCS2 باشیم همان 91 هست.
حالا مشکل اینجاست که وقتی من یک متن DefaultAlphabet رو روی موبایل میفرستم جاهایی که همچین کاراکتر هایی هست بد نشون میده.
کسی می دونه مشکل از کجاست و چطوری باید بصورا اصولی حل اش کرد؟
راستی اگر یک متنی که مثلا داخلش [salam] هست رو توی کامپیوتر بگیرم بد نشون میده
چرا؟
ما چند تا کارکتر داریم که برای کد کردن و دیکد کردن با بقیه فرق دارن همونطور که اشاره کردید اول اینکارکتر ها یک کد 27 اضافه میشه در حالت 7 بیتی ولی در حالتهای 8 بیت و 16 بیت لازم نیست
@ =0
£ =1
$ =2
¥ =3
è =4
é = 5
ú = 6
ì = 7
ò = 8
Ç = 9
Ø = 11
$ = 12
Å = 14
å = 15
_ = 17
Æ = 28
æ = 29
ß = 30
Ê = 31
¤ = 36
Ä = 91
Ö = 92
Ñ = 93
Ü = 94
§ = 95
¿ = 96
ä = 123
ö = 124
ñ = 125
ü = 126
à = 127
^ = 27 + 20
{ = 27 + 40
} = 27 + 41
\ = 27+ 47
[ = 27 + 60
] = 27 + 62
~ = 27 + 61
| = 27 + 64
€ = 27 + 101
یه چیزی رو فراموش کردیم و اون هم زمان ارساله. حتی اگر اون شماره تصادفی و شماره فرستنده هم یکی باشه، زمان ارسال دو SMS چند پارتی با هم در این حالت حتما فرق می کنه، چون از یک خط فرستاده میشه و به دلیل اینکه هیچ وقت نمی شه همزمان از یک خط چند SMS فرستاد می تونیم بگیم که هرگز همچنین برخوردی پیش نمیاد.
حالا فکر می کنم با توجه به این قضیه، می تونیم به جای عدد تصادفی همیشه یک عدد ثابت بفرستیم، اشکالی نباید داشته باشه. درسته؟