اطلاعیه

Collapse
No announcement yet.

{دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

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

    {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

    توی این برنامه ابتدا شما باید کلمه عبور مشخص شده(333) را به ماژول ارسال کنید تابتوانید خروجی ها رو کنترل کنید
    سپس با ارسال هرکدام از دستورات مشخص شده میتوانید هرکدام از پایه هارو کنترل کنید
    برنامه ی بسیار عالی و بی نقصی هست و خیلی میشه ارتقا دادش
    به تدریج بهتون میگم چه امکانات جالبی میشه روش سوار کرد
    پس فعلا نمونه ی اولیه رو میزارم شما تست کنید
    نکته: اساس و پایه این برنامه متعلق به یه سایت خارجی هستش که ما فقط هر مرحله امکاناتی رو بهش اضافه میکنیم و یه برنامه ی حرفه ای ازش درمیاریم
    پیشنهاد و ایده ی جالب واسه امکاناتش هم داشتین عنوان کنید
    ویدئو ی عملکرد مدار: http://www.aparat.com/v/u4seL




    لینک منبع:
    کد:
    http://avrprojects.info/avr-projects/sms-based-device-controller/
    شماتیک مدار:
    پرشین گیگ، ارائه دهنده انواع خدمات هاستینگ و میزبانی فایل و خرید سرور مجازی برای اولین بار در ایران به صورت ابری، با کیفیت عالی و قیمت مناسب


    Sim900-V1.0.0


    با توجه به تغییرات سایت و نا خوانا شدن برنامه
    نسخه اخر و تصحیح شده برنامه در همین پست قرار داده شد(1396/08/1):


    دانلود برنامه:

    پرشین گیگ، ارائه دهنده انواع خدمات هاستینگ و میزبانی فایل و خرید سرور مجازی برای اولین بار در ایران به صورت ابری، با کیفیت عالی و قیمت مناسب
    جدیدترین ویرایش توسط nimaaryamehr; ۱۲:۳۹ ۱۳۹۶/۰۸/۰۴.
    مدت زمانی که صرف ایجاد تاپیک و منتظر پاسخ هستید را صرف سرچ کنید...

    #2
    پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام

    در برنامه قبل به دلیل عدم استفاده از پایه RI ماژول میکرو مرتبا دستور AT+CMGR=1 رو ارسال میکنه تا وقتی که چیزی جز OKاومد اون رو میخونه
    که این امر باعث خستگی میکرو و ماژول میشه واسه حل :
    پس ما یک پین ورودی تعریف میکنیم و به پایه RI وصل میکنیم تا وقتی پیامک اومد پین تعریف شده 0 شه و برنامه شروع به خواندن اس ام اس کنه
    یه متغیر N هم واسه محکم کاری تعریف شده که اگه دفه اول نتونست اس ام اس رو بخونه دفه دوم دوباره این کار انجام بشه
    پس برنامه نهایی به این صورت درمیاد
    این برنامه به تدریج ارتقا پیدا میکنه

    Sim900-V1.1.0

    کد:
    '=================================================================================
    'EDITED BY NimaAramehr
    'NimaAryamehr@yahoo.com
    '=================================================================================
    $regfile = "m32def.dat"
    $crystal = 8000000
    $baud = 9600
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5
    Cls
    Lcd "System is Online"
    
    $hwstack = 64
    $swstack = 64
    $framesize = 64
    
    Config Porta.0 = Output
    Config Porta.1 = Output
    Config Porta.2 = Output
    Config Porta.3 = Output
    Config Porta.4 = Output
    Config Porta.5 = Output
    Config Pinc.0 = Input
    
    
    Declare Sub Getline
    Declare Sub Send_sms
    Declare Sub Sms_check
    
    
    Relay1 Alias Porta.5
    Relay2 Alias Porta.4
    Relay3 Alias Porta.3
    Relay4 Alias Porta.2
    Ri Alias Pinc.0
    
    
    
    '####################################
    
    Dim Status1 As Eram Byte At 5
    Dim Status2 As Eram Byte At 6
    Dim Status3 As Eram Byte At 7
    Dim Status4 As Eram Byte At 8
    
    Dim Number As Eram String * 13 At 10
    
    '------------ Variables and constants for GSM --------------------------------- ------
    Dim Num As String * 80
    Dim Msg As String * 160
    Dim Inmsg As String * 160
    Dim Gstmp As Byte
    Dim Ar(10) As String * 20
    Dim Sender As String * 25
    Dim Engine As Byte
    Dim Alarms As Byte
    Dim Icnt As Byte
    Dim A_armed As Byte
    Dim Gps As Byte
    Dim Stmp As Byte
    Dim Pass_stored As String * 13
    Dim N As Byte
    N = 2
    
    
    
    
    'Print Pass_stored
    
    Relay1 = 0
    Relay2 = 0
    Relay3 = 0
    Relay4 = 0
    
    Pass_stored = Number
    
    Gps = Status1
    If Gps = 0 Then
      Relay1 = 0
    Else
      Relay1 = 1
    End If
    Gps = Status2
    If Gps = 0 Then
      Relay2 = 0
    Else
      Relay2 = 1
    End If
    Gps = Status3
    If Gps = 0 Then
      Relay3 = 0
    Else
      Relay3 = 1
    End If
    Gps = Status4
    If Gps = 0 Then
      Relay4 = 0
    Else
      Relay4 = 1
    End If
    
      Cls
      Locate 1 , 3                       'Clear display
      Lcd "Initializing"
      Locate 2 , 6
      Lcd "Modem..."
    
    
    
    Wait 5                           ' give some time for gsm modem
                       ' give some time for gsm modem
    
    Print "AT"
    Wait 2
    Print "AT+CMGD=1"
    Wait 2
    Print "AT+CREG?"
    Wait 2
    Print "ATE0"
    Wait 2
    Print "AT+CNMI=1,1,0,0,0"                  'new message indication off
    Wait 2                           'Third command TEXT MODE
    Print "AT+CMGF=1"
    Wait 2
    
    Cls
    
    
    Do
       Print "AT"
       Wait 2
       Print "AT+CMGF=1"
    
       If Ri = 0 Then N = 0
       If N < 2 Then                     ' Change to text mode   Wait 2
       Print "AT+CMGR=1"                   ' get the message
       Getline
    
       If Inmsg <> "OK" Then
    
         Num = Inmsg
         Getline
         Gps = Split(num , Ar(1) , ",")
         Num = Ar(2)
         Gps = Len(num)
         Gps = Gps - 2
         Num = Mid(num , 2 , Gps)
    
         Inmsg = Lcase(inmsg)
    
     '    Print Num ; "Msg:" ; Inmsg
    
         If Inmsg = "222" Then
          Cls : Lcd "PasswordAccepted"           'other numbers
           Pass_stored = Num
           Number = Pass_stored
           Msg = "Password Accepted"
           Send_sms
         Elseif Num = Pass_stored Then
           If Inmsg = "1on" Then
            Cls : Lcd " Relay 1 On"
            Relay1 = 1
            Status1 = 1
            Num = Pass_stored
            Msg = "Light Switched ON"
            Send_sms
           Elseif Inmsg = "1off" Then
           Cls : Lcd " Relay 1 off"
            Relay1 = 0
            Status1 = 0
            Num = Pass_stored
            Msg = "Light Switched OFF"
            Send_sms
           Elseif Inmsg = "2on" Then
            Cls : Lcd " Relay 2 On"
            Relay2 = 1
            Status2 = 1
            Num = Pass_stored
            Msg = "Fan Switched ON"
            Send_sms
           Elseif Inmsg = "2off" Then
            Cls : Lcd " Relay 2 off"
            Relay2 = 0
            Status2 = 0
            Num = Pass_stored
            Msg = "Fan Switched OFF"
            Send_sms
           Elseif Inmsg = "3on" Then
            Cls : Lcd " Relay 3 on"
            Relay3 = 1
            Status3 = 1
            Num = Pass_stored
            Msg = "AC Switched ON"
            Send_sms
           Elseif Inmsg = "3off" Then
           Cls : Lcd " Relay 3 off"
            Relay3 = 0
            Status3 = 0
            Num = Pass_stored
            Msg = "AC Switched OFF"
            Send_sms
           Elseif Inmsg = "4on" Then
            Cls : Lcd " Relay 4 on"
            Relay4 = 1
            Status4 = 1
            Num = Pass_stored
            Msg = "AC Switched ON"
            Send_sms
           Elseif Inmsg = "4off" Then
            Cls : Lcd " Relay 4 off"
            Relay4 = 0
            Status4 = 0
            Num = Pass_stored
            Msg = "AC Switched OFF"
            Send_sms
           Else
            Num = Pass_stored
            Cls : Lcd "Invalid Command."
            Msg = "Invalid Command.."
            Send_sms
           End If
           Cls : Lcd "ERROR PASS"
            Wait 3
            Cls
    
    
    
         End If
    
               Wait 1
               Print "AT+CMGD=0,4"
               Wait 1
               Cursor Off
               Locate 1 , 4
               Lcd "{System}"
               Locate 2 , 4
               Lcd "{Online}"
    
       End If
      End If
    
    Loop
    
    
    '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    '    SEND SMS
    '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    Sub Send_sms
         Wait 3
         Print "AT+CMGS=" ; Chr(34) ; Num ; Chr(34)    'send sms
         Waitms 200
         Print Msg ; Chr(26)
         Wait 5
         Print "AT"
         Wait 2
    
    End Sub
    '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    '    Read gsm modem
    '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    Sub Getline
     Inmsg = ""
     Do
      Gps = Inkey()
      If Gps > 0 Then
        Select Case Gps
        Case 13 : If Inmsg <> "" Then Exit Do        ' if we have received something
        Case 10 : If Inmsg <> "" Then Exit Do        ' if we have received something
        Case Else
          Inmsg = Inmsg + Chr(gps)            ' build string
        End Select
      End If
     Loop
    
    End Sub
    
    End
    مدت زمانی که صرف ایجاد تاپیک و منتظر پاسخ هستید را صرف سرچ کنید...

    دیدگاه


      #3
      پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام

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

      دیدگاه


        #4
        پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام

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

        دیدگاه


          #5
          پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام

          با سلام
          یک سئوال داشتم: ایا با این برنامه میشه: یک یا چند رله را کنترل کرد؟؟؟ مثلا با فرستادن یک پیام به ماژولsim900: رله اول فعال شود؟؟
          سپاس

          دیدگاه


            #6
            پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام

            خوب عزیز دل این برنامه واسه همین کاره دیگه
            شما از هر شماره ای میتونی بهش اس بدی
            اول رمز عبور و سپس دستور تعریف شده . اگه دقت کنی اینجاست
            کد:
             If Inmsg = "1on" Then
                    Cls : Lcd " Relay 1 On"
                    Relay1 = 1
                    Status1 = 1
                    Num = Pass_stored
                    Msg = "Light Switched ON"
                    Send_sms

            که این برنامه 4 تا رله واسش تعریف شده که میشه بیشترش هم کرد
            تازه بعد هاا بهش سنسور هم اضافه میکنم که مثلا اگه یه پایه 1 شد یک اس ام اس ارسال کنه
            مدت زمانی که صرف ایجاد تاپیک و منتظر پاسخ هستید را صرف سرچ کنید...

            دیدگاه


              #7
              پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

              ممنون دوست عزیز: من هم دنبال چنین مداری می گردم!! لطف کنید شماتیک اش را قرار بدهید!
              سپاس

              دیدگاه


                #8
                پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

                شماتیک خاصی نداره
                یه LCD هستش که توی برنامه به پورت B وصل شده
                پایه RI ماژول هم که با یه مقاومت پول پ به Portc.0 متصل شده
                سه تا خروجی تعریف شده هم که LED گزاشتم توی عکس به پایه های porta.2 ,3,4 وصل شدند
                ب
                باقیش هم که تغذیه است

                از یه 7805Kia مستقیم وصل شده به میکرو
                تغذیه ماژول هم با یه 1n4007 از همون رگوله گرفته شده
                خروجی رگوله یه خازن1000uF واسه راه اندازی اولیه گزاشتم که ریست نشه
                خیلی خیلی سادست
                مدت زمانی که صرف ایجاد تاپیک و منتظر پاسخ هستید را صرف سرچ کنید...

                دیدگاه


                  #9
                  پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

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

                  دیدگاه


                    #10
                    پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

                    سلام
                    تاپیک جالبی هست .در صورتیکه ادامه داشته باشه و اپشن های بیشتری بهش اضافه بشه
                    یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

                    دیدگاه


                      #11
                      پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

                      لطفا لینک منبع رو بذارید
                      در جهان هرگز مشو مدیون احساس کسی - تا نباشد رایگان مهرت گروگان کسی
                      گوهر خود را نزن بر سنگ هر ناقابلی - صبر کن پیدا شود گوهر شناس قابلی

                      دیدگاه


                        #12
                        پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

                        داداش لینک دانلود کاملشو اگه بزاری خیلی ممنون میشم چون پروژه دانشگامه اونی که سنسورم بهش وصل میشه ممنون
                        يک مرگ طلب داري و هزار آرزو بدهکار
                        خسته ام ...
                        يا طلبم را بده يا طلبت را بگير...

                        دیدگاه


                          #13
                          پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

                          شماتیک قرار داده شد
                          اقا masood شما آخرین برنامه ی بسکام به همراه شماتیک رو لازم داری که توی تاپیک موجوده
                          مدت زمانی که صرف ایجاد تاپیک و منتظر پاسخ هستید را صرف سرچ کنید...

                          دیدگاه


                            #14
                            پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

                            [color=navy]برنامه ی بعدی رو که قرار بدم امکانات زیر رو بهش اضافه میکنم

                            1- قابلیت تغییر کلمه عبور با اس ام اس
                            2-دارای 2 سنسور ( که میتونه N تا باشه واسه هرکدوم هم یه اس ام اس تعریف بشه)
                            3- اطلاع از میزان شارژ با اس ام اس
                            4-اضافه شدن حالت Status ( اطلاع کلی از وضعیت سنسور ها و رله ها)
                            5-قابلیت پاک کردن شماره موبایل از حافضه با اس ام اس
                            6-انتخاب دو حالت sms و تک زنگ برای تایید دریافت دستور یا هشدارها
                            مدت زمانی که صرف ایجاد تاپیک و منتظر پاسخ هستید را صرف سرچ کنید...

                            دیدگاه


                              #15
                              پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبا*

                              اینم یه برنامه ی خیلی پیشرفته تر که در یه فرصت مناسب طرز عملکردشو توضیح میدم

                              Sim900-V1.2.0
                              کد:
                               '-----------------------------------------------------------------------------------------
                              'Designed By NimaAriyamehr
                              '---------------------------------------------------
                              $regfile = "m32def.dat"
                              $crystal = 8000000
                              $baud = 9600
                              
                              Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5
                              Config Lcd = 16 * 2
                              
                              $hwstack = 64
                              $swstack = 64
                              $framesize = 64
                              
                              Config Debounce = 200                    'Set 150ms as Debounce delay
                              
                              Config Porta.0 = Output
                              Config Porta.1 = Output
                              Config Porta.2 = Output
                              Config Portd.6 = Output
                              Config Pind.2 = Input
                              Config Pind.7 = Input
                              Config Pinc.0 = Input
                              
                              
                              Declare Sub Getline
                              Declare Sub Send_sms
                              Declare Sub Sms_check
                              Declare Sub Dail
                              Declare Sub Chenge_pass
                              Declare Sub Mony
                              
                              
                              Deflcdchar 1 , 31 , 21 , 14 , 4 , 4 , 4 , 4 , 4
                              Deflcdchar 2 , 1 , 1 , 1 , 5 , 5 , 5 , 21 , 21
                              Deflcdchar 3 , 32 , 14 , 10 , 21 , 21 , 17 , 31 , 32
                              Deflcdchar 4 , 32 , 17 , 25 , 21 , 19 , 17 , 32 , 32
                              
                              
                              
                              Relay1 Alias Porta.0
                              Relay2 Alias Porta.1
                              Relay3 Alias Porta.2
                              Pwr Alias Portd.6
                              Ri Alias Pind.2
                              Sens1 Alias Pind.7
                              Sens2 Alias Pinc.0
                              
                              
                              '####################################
                              Dim Listen As Eram Byte
                              Dim Alarm As Eram Byte
                              Dim Status1 As Eram Byte
                              Dim Status2 As Eram Byte
                              Dim Status3 As Eram Byte
                              Dim Number As Eram String * 13
                              Dim Sms As Eram Byte
                              Dim Pass As Eram String * 4
                              Dim Pass2 As Eram String * 3
                              
                              
                              
                              
                              '------------ Variables and constants for GSM --------------------------------- ------
                              Dim Num As String * 80
                              Dim Num2 As String * 80
                              Dim Msg As String * 160
                              Dim Inmsg As String * 160
                              Dim Gstmp As Byte
                              Dim Ar(10) As String * 20
                              Dim Count As Byte
                              Dim Gps As Byte
                              Dim Pass_stored As String * 13
                              Dim Sharj As String * 160
                              Dim S As Byte
                              Dim X As Byte
                              Dim Rly1 As String * 3
                              Dim Rly2 As String * 3
                              Dim Rly3 As String * 3
                              Dim Rly4 As String * 3
                              Dim Alrm As String * 3
                              Dim P1 As String * 4
                              Dim P2 As String * 3
                              Dim Body As Bit
                              
                              
                              
                              
                              Relay1 = 0
                              Relay2 = 0
                              Relay3 = 0
                              Ri = 1
                              Sens1 = 1
                              Sens2 = 1
                              S = 2
                              Body = 0
                              
                              If Sms = 1 Then
                              Sms = 1
                              Else
                              Sms = 0
                              End If
                              If Alarm = 1 Then
                              Alrm = "on"
                              Else
                              Alrm = "Off"
                              End If
                              Cursor Off
                              P2 = Pass2
                              
                              If P2 = "OK" Then
                              Cls : Lcd "HAVE OLD PASS"
                              Wait 2
                              Else
                              Pass = "1111"
                              Cls : Lcd "Default Pass Is:" : Locate 2 , 7 : Lcd "1111"
                              Wait 2
                              End If
                              
                              P1 = Pass
                              
                              Pass_stored = Number
                              Gps = Status1
                              If Gps = 1 Then
                                Relay1 = 1
                                Rly1 = "on"
                              Else
                                Relay1 = 0
                                Rly1 = "off"
                              End If
                              Gps = Status2
                              If Gps = 1 Then
                                Relay2 = 1
                                Rly2 = "on"
                              Else
                                Relay2 = 0
                                Rly2 = "Off"
                              End If
                              Gps = Status3
                              If Gps = 1 Then
                                Relay3 = 1
                                Rly3 = "on"
                              Else
                                Relay3 = 0
                                Rly3 = "off"
                              End If
                              
                              
                                Cls
                                Locate 1 , 3                       'Clear display
                                Lcd "Initializing"
                                Locate 2 , 6
                                Lcd "Modem..."
                                Set Pwr
                                Wait 2
                                Reset Pwr
                              
                              
                              
                              Wait 5                           ' give some time for gsm modem
                                                 '
                              
                              
                              
                              Print "AT"
                              Wait 2
                              Print "AT+CMGD=0,4"
                              Wait 2
                              Print "AT+CREG?"
                              Wait 2
                              Print "ATE0"                        '
                              Wait 2
                              Print "AT+CNMI=1,1,0,0,0"                  'new message indication off
                              Wait 2                           'Third command TEXT MODE
                              Print "AT+CMGF=1"
                              Wait 1
                              Print "AT"
                              Wait 1
                              
                              
                              Do
                              M:
                              
                              '********************************** SENSORHAA****************************
                                  If Alarm = 1 Then
                                     If Sens1 = 0 Then
                                     If Sens1 = 1 Then
                                     Cls
                                     Num = Pass_stored
                                     Lcd "===>SENSED 1<==="
                                     Msg = "Amotion IN SENSOR 1 "
                                     If Sms = 1 Then Send_sms
                                     If Sms = 0 Then Dail
                                     Goto P
                                     End If
                                     End If
                              
                              
                              
                                      If Sens2 = 0 Then
                                      If Sens2 = 1 Then
                                      Cls
                                      Num = Pass_stored
                                      Lcd "===>SENSED 2<=== "
                                      Msg = "Amotion IN SENSOR 2 "
                                      If Sms = 1 Then Send_sms
                                      If Sms = 0 Then Dail
                                      Goto P
                                      End If
                                      End If
                              
                                  End If
                              '*********************************Message Sense*******************************************
                              
                              
                                     If Ri = 0 Then S = 0
                                       If S < 3 Then
                                       Incr S
                                       Print "AT"
                                       Wait 2
                                       Print "AT+CMGR=1"             ' get the message
                                       Getline
                                       If Inmsg <> "OK" Then
                                         Num = Inmsg
                                         Getline
                                         Gps = Split(num , Ar(1) , ",")
                                         Num = Ar(2)
                                         Gps = Len(num)
                                         Gps = Gps - 2
                                         Num = Mid(num , 2 , Gps)
                              
                                         Inmsg = Lcase(inmsg)
                              
                              
                                         If Inmsg = P1 Then           'password is 333
                                           Cls
                                           Locate 1 , 1
                                           Lcd "===>Password<==="
                                           Locate 2 , 1
                                           Lcd "===>Accepted<==="
                                           Pass_stored = Num
                                           Number = Pass_stored
                                           Num2 = Num
                                           Msg = "Password Accepted"
                                           Body = 1
                                           If Sms = 1 Then Send_sms
                                          ' If Sms = 0 Then Dail
                                         Elseif Num = Pass_stored Then
                                           Body = 1
                                          Cls
                                          Lcd "Control msg Rciv"
                              '**********************************************************************************
                                           If Inmsg = "1-on" Then       '1-on
                                            Relay1 = 1
                                            Status1 = 1
                                            Rly1 = "On"
                                            Num = Pass_stored
                                            Msg = "Light Switched ON"
                                           If Sms = 1 Then Send_sms
                                           If Sms = 0 Then Dail
                              
                                           Elseif Inmsg = "1-off" Then    '1-off
                              
                                            Relay1 = 0
                                            Status1 = 0
                                            Rly1 = "off"
                                            Num = Pass_stored
                                            Msg = "Light Switched OFF"
                                           If Sms = 1 Then Send_sms
                                           If Sms = 0 Then Dail
                              
                                           Elseif Inmsg = "2-on" Then
                                            Relay2 = 1
                                            Status2 = 1
                                            Rly2 = "On"
                                            Num = Pass_stored
                                            Msg = "Fan Switched ON"
                                           If Sms = 1 Then Send_sms
                                           If Sms = 0 Then Dail
                              
                                           Elseif Inmsg = "2-off" Then
                                            Relay2 = 0
                                            Status2 = 0
                                            Rly2 = "Off"
                                            Num = Pass_stored
                                            Msg = "Fan Switched OFF"
                                           If Sms = 1 Then Send_sms
                                           If Sms = 0 Then Dail
                                           Elseif Inmsg = "3-on" Then
                                            Relay3 = 1
                                            Status3 = 1
                                            Rly3 = "On"
                                            Num = Pass_stored
                                            Msg = "AC Switched ON"
                                           If Sms = 1 Then Send_sms
                                           If Sms = 0 Then Dail
                              
                                           Elseif Inmsg = "3-off" Then
                                            Relay3 = 0
                                            Status3 = 0
                                            Rly3 = "Off"
                                            Num = Pass_stored
                                            Msg = "AC Switched OFF"
                                           If Sms = 1 Then Send_sms
                                           If Sms = 0 Then Dail
                              
                                           Elseif Inmsg = "status" Then
                                            Cls
                                            Lcd " Status Checked"
                                            Num = Pass_stored
                                            Msg = "1 is :" + Rly1 + "--" + " 2 is :" + Rly2 + "--" + " 3 is :" + Rly3 + "--" + " Securt is: " + Alrm
                                            Send_sms
                              
                                           Elseif Inmsg = "pass" Then
                                           Msg = "Security password Is=> (" + P1 + ")"
                                           Send_sms
                              
                              
                                           Elseif Inmsg = "Listen-on" Then
                                            Num = Pass_stored
                                            Listen = 1
                                            Cls
                                            Lcd "Listen On"
                                            Msg = "Listen Mod ON"
                                            Send_sms
                                           Elseif Inmsg = "Listen-off" Then
                                            Listen = 0
                                            Cls
                                            Lcd "Listen Off"
                                            Msg = "Listen Mod Off"
                                            Send_sms
                                           Elseif Inmsg = "new-pass" Then
                                           Chenge_pass
                              
                              
                                           Elseif Inmsg = "all-off" Then
                                            Relay1 = 0
                                            Status1 = 0
                                            Relay2 = 0
                                            Status2 = 0
                                            Relay3 = 0
                                            Status3 = 0
                                            Num = Pass_stored
                                            Msg = "ALL Channel Switched OFF"
                                           If Sms = 1 Then Send_sms
                                           If Sms = 0 Then Dail
                              
                                           Elseif Inmsg = "alarm-on" Then
                                            Num = Pass_stored
                                            Alarm = 1
                                            Cls : Lcd "Secqrity On"
                                            Msg = "Secqrity System Swiched On"
                                           If Sms = 1 Then Send_sms
                                           If Sms = 0 Then Dail
                              
                                           Elseif Inmsg = "alarm-off" Then
                                            Num = Pass_stored
                                            Alarm = 0
                                            Cls : Lcd "Secqrity Off"
                                            Msg = "Secqrity System Swiched Off"
                                           If Sms = 1 Then Send_sms
                                           If Sms = 0 Then Dail
                              
                              
                                           Elseif Inmsg = "dail" Then
                                            Num = Pass_stored
                                            Sms = 0
                                            Cls : Lcd "===>Dail Mod<==="
                                            Msg = "DAIL MOD"
                                            Dail
                                           Elseif Inmsg = "sms" Then
                                            Num = Pass_stored
                                            Sms = 1
                                            Cls : Lcd "===>Sms Mod<==="
                                            Msg = "SMS MOD"
                                           If Sms = 1 Then Send_sms
                                           If Sms = 0 Then Dail
                              
                                           Elseif Inmsg = "exit" Then
                                            Cls : Lcd "=>DELET NUMBER<="
                                            Msg = "This Number Romoved From Sysyem!"
                                            If Sms = 1 Then Send_sms
                                            If Sms = 0 Then Dail
                                            Body = 0
                                            Pass_stored = "0"
                                            Num = "1"
                                            Number = "2"
                              
                                           Elseif Inmsg = "sharj" Then    ' ********************
                              
                                           Num = Pass_stored
                                           Mony
                                           Cls
                                           Lcd Sharj ; "Rial"
                                           Msg = Sharj + "Rial"
                                           Send_sms
                                           If Sharj < "1000" Then
                                           Dail
                                           End If
                              
                                           Wait 3
                              '***********************************************************************************
                                           Else
                                            Num = Pass_stored
                                            Cls
                                            Lcd "Error Msg"
                                           End If
                                         Else
                                           Cls
                                           Locate 1 , 3
                                           Lcd "ERROR PASS"
                                           Wait 1
                                           Cls
                              
                              
                                       End If
                                       P:
                              
                                         Wait 1
                                         Print "AT+CMGD=0,4"
                                         Wait 1
                                         Cls
                                         Cursor Off
                                         Locate 1 , 4
                                         Lcd "{System}"
                                         Locate 2 , 4
                                         Lcd "{Online}"
                                         Locate 1 , 15 : Lcd Chr(1)
                                         Locate 1 , 16 : Lcd Chr(2)
                                         If Alarm = 1 Then
                                         Locate 1 , 14 : Lcd Chr(3)
                                         End If
                                         If Body = 0 Then
                                         Locate 1 , 13 : Lcd Chr(4)
                                         End If
                                         If Sms = 1 Then
                                         Locate 1 , 1 : Lcd "S"
                                         Else
                                         Locate 1 , 1 : Lcd "D"
                                         Locate 2 , 1 : Lcd Chr(135)
                                         Locate 2 , 13 : Lcd Sharj
                                         End If
                              
                              
                                   End If
                              
                               End If
                              
                              
                              Loop
                              
                              
                              End
                              
                              '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                              '    SEND SMS
                              '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                              Sub Send_sms
                              
                                   Wait 1
                                   Print "AT+CMGS=" ; Chr(34) ; Num ; Chr(34)    'send sms
                                   Waitms 200
                                   Print Msg ; Chr(26)
                                   Wait 5
                                   Print "AT"
                                   Wait 1
                              
                              
                              End Sub
                              '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                              '    Read gsm modem AND WAITING FOR SMS
                              '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                              Sub Getline
                               Inmsg = ""
                               Do
                                Gps = Inkey()
                                If Gps > 0 Then
                                  Select Case Gps
                                  Case 13 : If Inmsg <> "" Then Exit Do        ' if we have received something
                                  Case 10 : If Inmsg <> "" Then Exit Do        ' if we have received something
                                  Case Else
                                    Inmsg = Inmsg + Chr(gps)            ' build string
                                  End Select
                                End If
                               Loop
                              
                              End Sub
                              '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                              Sub Dail
                              Print "ATD" ; Num ; ";"
                              Wait 10
                              Print "ATH"
                              End Sub
                              '**************************************
                              Sub Chenge_pass
                              Print "AT+CMGD=0,4"
                              Wait 1
                              Msg = "Please Send new pass-4 Raghami OR send Cancel"
                              Send_sms
                              Cls : Lcd "Wait For New pass"
                              Do
                                       Wait 2
                                       Print "AT+CMGR=1"             ' get the message
                                       Getline
                                       If Inmsg <> "OK" Then
                                         Num = Inmsg
                                         Getline
                                         Gps = Split(num , Ar(1) , ",")
                                         Num = Ar(2)
                                         Gps = Len(num)
                                         Gps = Gps - 2
                                         Num = Mid(num , 2 , Gps)
                                         If Num <> Num2 Then Goto M       ' for More Security
                                         Inmsg = Lcase(inmsg)
                                         If Inmsg = "cancel" Then Goto P
                                         Pass = Inmsg
                                         P1 = Pass
                                         Pass2 = "OK"
                                         Cls : Lcd "Pass Recived"
                                         Msg = "Succesfull chenged password"
                                         Send_sms
                                         Goto P
                                         End If
                              Loop
                              End Sub
                              '***********************************************
                              Sub Mony
                              Print "ATD*140*1#"
                              Getline
                              Getline
                              Sharj = Left(inmsg , 77)
                              Sharj = Right(sharj , 6)
                              Sharj = Ltrim(sharj)
                              End Sub

                              لینک دانلود کد:
                              پرشین گیگ، ارائه دهنده انواع خدمات هاستینگ و میزبانی فایل و خرید سرور مجازی برای اولین بار در ایران به صورت ابری، با کیفیت عالی و قیمت مناسب
                              جدیدترین ویرایش توسط nimaaryamehr; ۲۲:۳۲ ۱۳۹۶/۰۷/۱۷.
                              مدت زمانی که صرف ایجاد تاپیک و منتظر پاسخ هستید را صرف سرچ کنید...

                              دیدگاه

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