ا
ین برنامه واسه ندزدیدن ماشین یا موتور کاربرد داره. آقادزده موقعیتش رو به ما همیشه میگه.
یه تک زنگ میزنی به سیم کارت رو جی اس ام . میکرو شماره رو آنالیز میکنه ببینه شماره خودته . اگه بود میکرو مشخصات جی پی اس رو میخونه و میفرسته به شمارت.
کافیه یه ماژول جی پی اس و یه ماژول جی اس ام داشته باشی و طرز اتصالاتشو بلد باشی یا از اینترنت بگیری
یه تک زنگ میزنی به سیم کارت رو جی اس ام . میکرو شماره رو آنالیز میکنه ببینه شماره خودته . اگه بود میکرو مشخصات جی پی اس رو میخونه و میفرسته به شمارت.
کافیه یه ماژول جی پی اس و یه ماژول جی اس ام داشته باشی و طرز اتصالاتشو بلد باشی یا از اینترنت بگیری
$regfile = "m16def.dat" ' specify the used micro
$crystal = 8000000
$baud = 9600 ' used crystal frequency ' use baud rate
Config Pina.0 = Output
Porta.0 = 0
'a.0 is led
Wait 2
Porta.0 = 1
Wait 2
Porta.0 = 0
Dim C As Word
Dim B As Word
Dim B1 As Byte
Dim S As Byte
Dim S1 As Byte
Dim R As Byte
Dim U As Byte
Dim N As String * 20
Dim N1 As String * 20
Dim N2 As String * 6
Dim N3 As String * 10
Dim N4 As String * 10
Dim Mn As String * 30
Dim Nm As String * 55
Dim Cc As String * 10
Dim Ccc As String * 10
Dim A As Single
Dim N5 As String * 3
Dim N6 As String * 3
Dim N11 As String * 5
Dim N22 As String * 5
Dim N10 As String * 1
Dim N20 As String * 1
Do
J:
Porta.0 = 0
Input Mn
N = Mid(mn , 2 , 5)
If N = "+CLIP" Then
N1 = Mid(mn , 19 , 4)
B = Val(n1)
If B = xxxx Then
Porta.0 = 1
Wait 3
Open "comb.0:9600,8,n,1" For Input As #1
U = 0
Do 'gps
U = U + 1
Input #1 , Nm
N = Mid(nm , 2 , 6)
If N = "$GPRMC" Then N4 = Mid(nm , 47 , 5)
If N = "$GPGSV" Then N6 = Mid(nm , 13 , 2)
If N = "$GPGGA" Then
N1 = Mid(nm , 20 , 4)
N11 = Mid(nm , 25 , 4 )
N10 = Mid(nm , 30 , 1) 'N
C = Val(n11)
A = C * 0.006
Cc = Fusing(a , "#.##"
N2 = Mid(nm , 32 , 5)
N22 = Mid(nm , 38 , 4 )
N20 = Mid(nm , 43 , 1) 'E
C = Val(n22)
A = C * 0.006
Ccc = Fusing(a , "#.##"
N5 = Mid(nm , 47 , 2)
A = Val(n4)
A = A * 1.852
B = Round(a)
End If
Loop Until U > 25
Close #1
Print "at+cmgs=" ; Chr(34) ; "0917852xxxx" ; Chr(34)
Wait 2
Print N1 ; Chr(39) ; Cc ; Chr(34) ; N10 ; Spc(2) ; N2 ; Chr(39) ; Ccc ; Chr(34) ; N20 ; Spc(2) ; N5 ; Spc(2) ; N6 ; Spc(2) ; B ; "km/h Google Earth" ; Chr(26)
Wait 12
Goto J
Else
Goto J
End If
End If
If N = "+CMTI" Then
N1 = Mid(mn , 14 , 2)
Wait 1
S1 = 0
Jjj:
S = 0
S1 = S1 + 1
If S1 > 2 Then Goto J
Print "AT+CMGR=" ; N1
Porta.0 = 0
Jj:
Input N3
S = S + 1
If S > 5 Then Goto Jjj
N4 = Mid(n3 , 2 , 2)
If N4 = "64" Then
N2 = Mid(n3 , 4 , 1)
'648
B = Val(n2)
For R = 1 To B
Wait 1
Porta.0 = 1
Wait 1
Porta.0 = 0
Next
Print "at+cmgd=" ; N1
Wait 1
Goto J
Else
Print "at+cmgd=" ; N1
Wait 1
Goto Jj
End If
Else
Goto J
End If
Loop
$crystal = 8000000
$baud = 9600 ' used crystal frequency ' use baud rate
Config Pina.0 = Output
Porta.0 = 0
'a.0 is led
Wait 2
Porta.0 = 1
Wait 2
Porta.0 = 0
Dim C As Word
Dim B As Word
Dim B1 As Byte
Dim S As Byte
Dim S1 As Byte
Dim R As Byte
Dim U As Byte
Dim N As String * 20
Dim N1 As String * 20
Dim N2 As String * 6
Dim N3 As String * 10
Dim N4 As String * 10
Dim Mn As String * 30
Dim Nm As String * 55
Dim Cc As String * 10
Dim Ccc As String * 10
Dim A As Single
Dim N5 As String * 3
Dim N6 As String * 3
Dim N11 As String * 5
Dim N22 As String * 5
Dim N10 As String * 1
Dim N20 As String * 1
Do
J:
Porta.0 = 0
Input Mn
N = Mid(mn , 2 , 5)
If N = "+CLIP" Then
N1 = Mid(mn , 19 , 4)
B = Val(n1)
If B = xxxx Then
Porta.0 = 1
Wait 3
Open "comb.0:9600,8,n,1" For Input As #1
U = 0
Do 'gps
U = U + 1
Input #1 , Nm
N = Mid(nm , 2 , 6)
If N = "$GPRMC" Then N4 = Mid(nm , 47 , 5)
If N = "$GPGSV" Then N6 = Mid(nm , 13 , 2)
If N = "$GPGGA" Then
N1 = Mid(nm , 20 , 4)
N11 = Mid(nm , 25 , 4 )
N10 = Mid(nm , 30 , 1) 'N
C = Val(n11)
A = C * 0.006
Cc = Fusing(a , "#.##"

N2 = Mid(nm , 32 , 5)
N22 = Mid(nm , 38 , 4 )
N20 = Mid(nm , 43 , 1) 'E
C = Val(n22)
A = C * 0.006
Ccc = Fusing(a , "#.##"

N5 = Mid(nm , 47 , 2)
A = Val(n4)
A = A * 1.852
B = Round(a)
End If
Loop Until U > 25
Close #1
Print "at+cmgs=" ; Chr(34) ; "0917852xxxx" ; Chr(34)
Wait 2
Print N1 ; Chr(39) ; Cc ; Chr(34) ; N10 ; Spc(2) ; N2 ; Chr(39) ; Ccc ; Chr(34) ; N20 ; Spc(2) ; N5 ; Spc(2) ; N6 ; Spc(2) ; B ; "km/h Google Earth" ; Chr(26)
Wait 12
Goto J
Else
Goto J
End If
End If
If N = "+CMTI" Then
N1 = Mid(mn , 14 , 2)
Wait 1
S1 = 0
Jjj:
S = 0
S1 = S1 + 1
If S1 > 2 Then Goto J
Print "AT+CMGR=" ; N1
Porta.0 = 0
Jj:
Input N3
S = S + 1
If S > 5 Then Goto Jjj
N4 = Mid(n3 , 2 , 2)
If N4 = "64" Then
N2 = Mid(n3 , 4 , 1)
'648
B = Val(n2)
For R = 1 To B
Wait 1
Porta.0 = 1
Wait 1
Porta.0 = 0
Next
Print "at+cmgd=" ; N1
Wait 1
Goto J
Else
Print "at+cmgd=" ; N1
Wait 1
Goto Jj
End If
Else
Goto J
End If
Loop
دیدگاه