اطلاعیه

Collapse
No announcement yet.

نمونه کد برای ارسال AT Command به مودم

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

    نمونه کد برای ارسال AT Command به مودم

    با سلام
    برای کنترل مودمها و خواندن اطلاعات از آنها می توان ازپورت سریال میکرو کمک گرفت.
    با ارسال دستورات AT می توان با مودم ارتباط برقرار نمود.
    در زیر نمونه ای از کد برای ارتباط با مودم GSM نوشته شده است.
    این مودم، مودم Terinal4 از شرکت Contrive می باشد
    کافی سیم کارت را درون آن گذاشته ، سپس Power را به آن متصل نموده و با ارسال دستورات AT آن را کنترل نمایید
    ' SMS.BAS
    ' (c) 2002 MCS Electronics
    ' This sample shows how to use AT command on a GSM mode
    ' The GSM modems are available from www.mcselec.com
    '------------------------------------------------------------------------------
    'tested on a 2314
    $regfile = "2313def.dat"

    'XTAL = 10 MHZ
    $crystal = 10000000

    'By default the modem works at 9600 baud
    $baud = 9600

    'HW stack 20, SW stack 8 , frame 10

    'some subroutines
    Declare Sub Getline(s As String)
    Declare Sub Flushbuf()
    Declare Sub Showsms(s As String )


    'used variables
    Dim I As Byte , B As Byte
    Dim Sret As String * 66 , Stemp As String * 6

    'we use a serial input buffer
    Config Serialin = Buffered , Size = 12 ' buffer is small a bigger chip would allow a bigger buffer

    'enable the interrupts because the serial input buffer works interrupts driven
    Enable Interrupts

    'define a constant to enable LCD feedback
    Const Uselcd = 1
    Const Senddemo = 1 ' 1= send an sms
    Const Pincode = "AT+CPIN=1234" ' pincode change it into yours!
    Const Phonenumber = "AT+CMGS=+31653123456" ' phonenumber to send sms to

    #if Uselcd = 1
    Cls
    Lcd "SMS Demo"
    #endif

    'wait until the mode is ready after power up
    Waitms 3000

    #if Uselcd = 1
    Lcd "Init modem"
    #endif


    Print "AT" ' send AT command twice to activate the modem
    Print "AT"
    Flushbuf ' flush the buffer
    Print "ATE0"
    #if Uselcd = 1
    Home Lower
    #endif

    Do
    Print "AT" : ' Waitms 100
    Getline Sret ' get data from modem
    #if Uselcd = 1
    Lcd Sret ' feedback on display
    #endif
    Loop Until Sret = "OK" ' modem must send OK
    Flushbuf ' flush the input buffer
    #if Uselcd = 1
    Home Upper : Lcd "Get pin mode"
    #endif
    Print "AT+cpin?" ' get pin status
    Getline Sret
    #if Uselcd = 1
    Home Lower : Lcd Sret
    #endif
    If Sret = "+CPIN: SIM PIN" Then
    Print Pincode ' send pincode
    End If
    Flushbuf
    #if Uselcd = 1
    Home Upper : Lcd "set text mode"
    #endif
    Print "AT+CMGF=1" ' set SMS text mode
    Getline Sret ' get OK status
    #if Uselcd = 1
    Home Lower : Lcd Sret
    #endif

    'sms settings
    Print "AT+CSMP=17,167,0,0"
    Getline Sret
    Print "AT+CNMI=0,1,2,0,0"
    Getline Sret

    #if Senddemo = 1
    #if Uselcd = 1
    Home Upper : Lcd "send sms"
    #endif
    Print Phonenumber
    Waitms 100
    Print "BASCOM AVR SMS" ; Chr(26)
    Getline Sret
    #if Uselcd = 1
    Home Lower : Lcd Sret 'feedback
    #endif
    #endif


    'main loop
    Do
    Getline Sret ' wait for a modem response
    #if Uselcd = 1
    Cls
    Lcd "Msg from modem"
    Home Lower : Lcd Sret
    #endif
    I = Instr(sret , ":&quot ' look for :
    If I > 0 Then 'found it
    Stemp = Left(sret , I)
    Select Case Stemp
    Case "+CMTI:" : Showsms Sret ' we received an SMS
    ' hanle other cases here
    End Select
    End If
    Loop ' for ever


    'subroutine that is called when a sms is received
    's hold the received string
    '+CMTI: "SM",5
    Sub Showsms(s As String )
    #if Uselcd = 1
    Cls
    #endif
    I = Instr(s , ",&quot ' find comma
    I = I + 1
    Stemp = Mid(s , I) ' s now holds the index number
    #if Uselcd = 1
    Lcd "get " ; Stemp
    Waitms 1000 'time to read the lcd
    #endif

    Print "AT+CMGR=" ; Stemp ' get the message
    Getline S ' header +CMGR: "REC READ","+316xxxxxxxx",,"02/04/05,0149+00"
    #if Uselcd = 1
    Lowerline
    Lcd S
    #endif
    Do
    Getline S ' get data from buffer
    Select Case S
    Case "PORT" : 'when you send PORT as sms text, this will be executed
    #if Uselcd = 1
    Cls : Lcd "do something!"
    #endif
    Case "OK" : Exit Do ' end of message
    Case Else
    End Select
    Loop
    #if Uselcd = 1
    Home Lower : Lcd "remove sms"
    #endif
    Print "AT+CMGD=" ; Stemp ' delete the message
    Getline S ' get OK
    #if Uselcd = 1
    Lcd S
    #endif
    End Sub


    'get line of data from buffer
    Sub Getline(s As String)
    S = ""
    Do
    B = Inkey()
    Select Case B
    Case 0 'nothing
    Case 13 ' we do not need this one
    Case 10 : If S <> "" Then Exit Do ' if we have received something
    Case Else
    S = S + Chr(b) ' build string
    End Select
    Loop
    End Sub

    'flush input buffer
    Sub Flushbuf()
    Waitms 100 'give some time to get data if it is there
    Do
    B = Inkey() ' flush buffer
    Loop Until B = 0
    End Sub
    آنكه در تنهاترين تنهاييم تنهاي تنهايم گذاشت كاش تنها كسش در تنها ترين تنهايش تنهاي تنهايش نهد!

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

    تاپیک رو اشتباه انتخاب میکنی.
    این رو تو برنامه نویسی مطرح کن
    خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

    دیدگاه


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

      این مودم، مودم Terinal4 از شرکت Contrive می باشد
      این مودم رو از کجا میشه خرید و قیمتش چنده ؟
      چگونه هوشمندانه بپرسیم

      دیدگاه


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

        به نام خدا آقا دمت گرم اگه می شه باز هم اطلاعات بده خیلی باحالی

        دیدگاه


          #5
          پاسخ : نمونه کد برای ارسال AT Command به مودم

          در ضمن شما با دستورات AT می توانید با مودم هم ارتباط برقرار کنید من دستورات اینو به صورت pdf در میارم و می گذارم .

          موفق باشید

          دیدگاه


            #6
            پاسخ : نمونه کد برای ارسال AT Command به مودم

            سلام

            این در مورد at command (کامل):

            http://h1.ripway.com/hayati/t28_r1a.zip

            موفق باشید
            :nice: :nice: :nice: :nice: :nice:

            دیدگاه


              #7
              پاسخ : نمونه کد برای ارسال AT Command به مودم

              man ye moshkeli daram az hyper terminal be modem gsm vasl misham ok migiram vali az tarighe khode avr na gsm modem ru halate auto baud ya at+ipr=0 hast vaghti buad rate uno mikonam 9600 ta cablo az pc ghat mikonam dobare mishe auto buad aya moshkel cts va rts hast pin una bayad yek beshe yani hyper unaro yek mikone
              ?

              دیدگاه


                #8
                پاسخ : نمونه کد برای ارسال AT Command به مودم

                دوست عزیز مثال جالبی ببین برای ارسال از دستور print استفاده شده اما برای دریافت اطلاعاتی که از سمت مودم بر میگرده میشه بگی باید از چه دستوری استفاده بشده

                این مودم از rx,tx استفاده شده

                با تشکر
                http://services.nexodyne.com/email/i...3D/0/image.png

                دیدگاه


                  #9
                  پاسخ : نمونه کد برای ارسال AT Command به مودم

                  سلام به همگی

                  نوشته اصلی توسط bsiz1757
                  man ye moshkeli daram az hyper terminal be modem gsm vasl misham ok migiram vali az tarighe khode avr na gsm modem ru halate auto baud ya at+ipr=0 hast vaghti buad rate uno mikonam 9600 ta cablo az pc ghat mikonam dobare mishe auto buad aya moshkel cts va rts hast pin una bayad yek beshe yani hyper unaro yek mikone
                  ?
                  دوست عزیز فارسی به این شیرینی چرا ازش استفاده نمیکنی ؟

                  میتونم بپرسم مودم شما چیه ؟ اسم ؟ مدل؟ ممنون شاید بتونم کمکتون کنم .
                  چونبه نظر من نوع مودم خیلی مهمه .

                  نوشته اصلی توسط naeimwtg
                  دوست عزیز مثال جالبی ببین برای ارسال از دستور print استفاده شده اما برای دریافت اطلاعاتی که از سمت مودم بر میگرده میشه بگی باید از چه دستوری استفاده بشده

                  این مودم از rx,tx استفاده شده

                  با تشکر
                  من با سی کار میکنم و دستوراتم تو CODE VISION با getchar , printf بوده .
                  شما هر دستوری که بتونید با سریال ارتباط بر قرار کنید جواب میده .
                  در میان مردم پی دستی هستم پی گرمای نگاهی حتی در پس این همه چشم سردی غربت انسان پیداست
                  در پس، این همه نور این همه رنگ چه کسی میبیند اشک آن کودک را چشم آن مردی را
                  که شبانگاه، سر افکنده ز شرم و به یاد طفل اش بی صدا میگرید، می شکند
                  آری این شهر من است این همان شهر شما است در پی چشمی باش که نگاه اش آبی است و پر از نم نم باران بهار

                  دیدگاه


                    #10
                    پاسخ : نمونه کد برای ارسال AT Command به مودم

                    با سلام به دوستان

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

                    یعنی شماره همون شهری است اما به صورت سیم کارت در داخل موبایل قرار میگیره و در محدوده آنتن، حدود 5 کیلومتر خط میدهد

                    این گونه خطوط همانند موبایل هستند ولی قابلیت دریافت یا ارسال SMS ندارند

                    اگه من بخوام با تماس با اون به یک میکرو فرمان بدم باید از چه مدمی استفاده کنم

                    در کل شما چه چیزی پیشنهاد میدید؟

                    در وهله اول راه اندازیش ازش آسون باشه

                    لطفا مدل و قابلیت و حدود قیمتشو بگین

                    با تشکر ...

                    دیدگاه


                      #11
                      پاسخ : نمونه کد برای ارسال AT Command به مودم

                      نوشته اصلی توسط ehsan_akbari
                      با سلام به دوستان

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

                      یعنی شماره همون شهری است اما به صورت سیم کارت در داخل موبایل قرار میگیره و در محدوده آنتن، حدود 5 کیلومتر خط میدهد

                      این گونه خطوط همانند موبایل هستند ولی قابلیت دریافت یا ارسال SMS ندارند

                      اگه من بخوام با تماس با اون به یک میکرو فرمان بدم باید از چه مدمی استفاده کنم

                      در کل شما چه چیزی پیشنهاد میدید؟

                      در وهله اول راه اندازیش ازش آسون باشه

                      لطفا مدل و قابلیت و حدود قیمتشو بگین

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

                      اما در مورد این شبکه من با یکی دو نفر صحبت کردم و انها منکر قابلیت دریافت یا ارسال sms در اینگونه شبکه های محلی کوچک شدند
                      به این نکته اشاره می کردند که چون محدوده این قابلیت رو نداره .

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

                      دیدگاه


                        #12
                        پاسخ : نمونه کد برای ارسال AT Command به مودم

                        چند تا چیز رو نفهمیدم
                        1.معنی این جمله بالاتون رو
                        2.دلیل استفاده از این همه IF سخت افزاری
                        علم چندانکه بيشتر خواني چون عمل در تو نيست ناداني

                        دیدگاه


                          #13
                          پاسخ : نمونه کد برای ارسال AT Command به مودم

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

                          این در مورد at command (کامل):

                          http://h1.ripway.com/hayati/t28_r1a.zip

                          موفق باشید
                          :nice: :nice: :nice: :nice: :nice:
                          لطفا در یک سرور دیگر پلود کنید
                          در دسترس نیست

                          دیدگاه


                            #14
                            پاسخ : نمونه کد برای ارسال AT Command به مودم

                            نوشته اصلی توسط mohamad07

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

                            اما در مورد این شبکه من با یکی دو نفر صحبت کردم و انها منکر قابلیت دریافت یا ارسال sms در اینگونه شبکه های محلی کوچک شدند
                            به این نکته اشاره می کردند که چون محدوده این قابلیت رو نداره .

                            اما من خیلی دوست دارم بیشتر در این مورد بدونم
                            اگه بحث رو باز کنید ممنون میشم .
                            به این شبکه ها شبکه های مخابراتی WLL میگن حالا که نمیتونی sms داشته باشی می تونی از DTMF استفاده کنی
                            http://services.nexodyne.com/email/i...3D/0/image.png

                            دیدگاه


                              #15
                              پاسخ : نمونه کد برای ارسال AT Command به مودم

                              نوشته اصلی توسط naeimwtg

                              به این شبکه ها شبکه های مخابراتی WLL میگن حالا که نمیتونی sms داشته باشی می تونی از DTMF استفاده کنی
                              خوب من هم دقیقا میخوام از سیگنالهای DTMF استفاده کنم

                              میخواستم یه ماژول معرفی کنید که هم قیمتش مناسب باشه و هم راه اندازیش راحت باشه

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

                              دیدگاه

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