اطلاعیه

Collapse
No announcement yet.

برنامه دریافت پیامک و دلیوری

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

    برنامه دریافت پیامک و دلیوری

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

    1- تنظیمات اولیه gsm modem اولین قدم است.تنظیمات cnmi روش کار را کلا عوض میکند
    2- اسفاده از بافر چگونه باید باشد ؟ شرائط استفاده از بافر ، شرائط خواندن پیامک با اینتراپت یا at +cmgr=1 را عوض میکند
    3- نکته مهم ایجاد تاخیر مناسب بعد از دستورها میباشد . بعد از دستور AT+CMGR=1 هیگونه تاخیری نباید باشد و بعد از AT+CMGD=1 حداقل یک ثانیه و بعد از دستور AT+CMGD=1,4 حداقل 10 ثانیه باید تاخیر باشد
    قبل از دستورها نیز باید یک ثانیه تاخیر باشد .
    کلا باید مواظب تداخل دستورها با هم بود
    4-

    اضافه شده در تاریخ :
    کد:
    [left]
    Print "AT"
    Waitms 2
    
    Print "AT+CNMI=1,1,0,0,0"
    Wait 2
    Print "AT+CMGF=1"
    Wait 2
    Print "AT+CMGD=1,4"
    Wait 20
    
    Reset Watchdog
    Wait 1
    Reset Watchdog
    Print "AT"
    Wait 1
    Reset Watchdog
    
    Print "AT+CMGR=1"
    
    
    Do
    Ahb = Inkey()
    
    Incr Ahg4
    If Ahg4 > 253 Then Goto Amain3
    
    If Ahb > 0 Then
    Select Case Ahb
    
    
    
    Case 13:
    If Sms <> "" Then Exit Do
    
    Case 10:
    If Sms <> "" Then Exit Do
    
    Case Else
    
    
    '-------------------------------------------------------------------------------
    If Ahb = 35 And Ahf1 = 0 Then Ahf1 = 1
    
    If Ahf1 = 1 Then
    Sms = Sms + Chr(ahb)                    'read text
    Aha = Aha + 1
    Ahg4 = 0
    If Aha = 8 Then Ahf1 = 2
    End If
    
    '-------------------------------------------------------------------------------
    If Ahb = 43 And Ahf2 = 0 Then Ahf2 = 1
    If Ahb = 57 And Ahf2 = 1 Then Ahf2 = 2
    If Ahg2 = 12 Then Ahf2 = 3
    If Ahf2 = 2 Then
    Sms1 = Sms1 + Chr(ahb)                   'read number
    Ahg2 = Ahg2 + 1
    Ahg4 = 0
    End If
    
    '-------------------------------------------------------------------------------
    End Select
    End If
    Loop
     Reset Watchdog
    
    Gosub Selectlcd
    Lcdat 1 , 1 , Sms
    Lcdat 2 , 1 , Sms1
    Wait 1
    Gosub Selectrel
    Reset Watchdog
    
    '-------------------------------------------------------------------------------
    
    
    If Sms = "#zlkong" Then
    Writeeeprom Sms1 , 600
    Ahpf = 1
    Writeeeprom Ahpf , 90
    Waitms 5                          'store special num
    Reset Watchdog
    Print "AT+CMGS=" ; Chr(34) ; Sms1 ; Chr(34)
    
    Reset Watchdog
    Print "Send password" ; Chr(26)
    
    
    Wait 3
    End If[/left]

    اضافه شده در تاریخ :
    1- اول وآخر پیامک 10 و13 می اید و با دریافت 10و13 اخر خارج میشود
    2-اگر خالی باشد داخل قسمت ثبت کاراکترها نمیره و بعد از مدتی از یخ خارج میشه
    3- تکست پیامک در اینجا اولش # است که استخراج میشود
    4- شماره تلفن نیز استخراج میشود
    5- اگر تکست با رمز (#ZLKONG )یکی باشد بقیه کارها انجام میشود
    www.Askdin.com
    www.BEKco.ir

    #2
    پاسخ : برنامه دریافت پیامک و دلیوری

    برای دریافت دلیوری باید فعال شود
    AT+CSMP=49,167,0,0 OK
    < Set Msg sending parameters>

    AT+CNMI=2,2,0,1,0

    file:///I:/How%20to%20get%20Delivery%20report%20using%20AT%20 command%20-%20Siemens%20Industry%20Online%20Support%20-%20Technical%20Forum%20%28Guest%29.htm
    اشکالی که پیش می آید اینست که هنگام دریافت پیامک دیگه نمیتوان از (AT+CMGR=1) استفاده کرد
    یعنی بدون فعال کردن این اول یک پیام میاد که پیامک اومده ما با AT+CMGR=1 دستور میدیم که پیامک را بده اما در این تنظیم اینجا پیامک مستقیم میاد و فکر کنم باید اینراپت فعال بشه که همان لحظه خوانده شود .

    تنظیمات CNMI , CSMP جزییات دارد . مطلب مفیدی در دیتا شیتها ندیدم . از کجا باید مطلبشو در بیاریم؟


    اضافه شده در تاریخ :
    یکی دیگر از مسائل پر شدن بافر سریال است . چگونه باید این بافر خالی شود ؟ بنده الان مجبورم هر بار که پیامک میگیرم میرو رو ریست کنم.
    www.Askdin.com
    www.BEKco.ir

    دیدگاه


      #3
      پاسخ : برنامه دریافت پیامک و دلیوری

      یک فایل کاملتری درباره at command پیدا کردم بنام
      AT_Commands_Reference_Guide_r9.pdf
      از اینجا میتونین بگیرینش
      http://www.roundsolutions.com/techdocs/gsm_modules/AT_Commands_Reference_Guide_r9.pdf

      برای پاک کردن بافر پورت سریال
      clear serial input
      clear serial out put
      www.Askdin.com
      www.BEKco.ir

      دیدگاه


        #4
        پاسخ : برنامه دریافت پیامک و دلیوری

        با تنظیم
        AT+CSMP=49,167,0,0
        AT+CNMI=1,1,0,1,0
        دلیوری میاد و همچنین موقع دریافت پیامک داخل بافر میره و میتونیم بخونیمش
        www.Askdin.com
        www.BEKco.ir

        دیدگاه

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