GSM MODEMDEN SMS MESAJININ ALINMASI

Başlatan armys2000, 27 Ocak 2007, 16:07:23

armys2000

Umarım Arkadaşların İşine Yarar

' Device = 18F452
' Modem den SMS BLOK Okuma
' Sadece Mesajın İçeriğini Alır 



RegGeneral  VAR     BYTE[255]
SmsMesaj	VAR		BYTE[160]

mdmData		VAR		BYTE	'Modemden Okunan Data
MsgIndex	VAR		BYTE	'Okunacak Mesajın Hafızadaki ( SM veya ME veya ... ) Adresi
strComp		VAR		BYTE	'Karşılaştırma Operatörü


addr		VAR		BYTE
i			VAR		BYTE
j			VAR		BYTE
VirSay		VAR 	BYTE


CR			CON		13
LF			CON		10
ZZ			CON		"Z"
modem_baud	CON		84
pc_baud		CON		84



'******************************************************************************OK
'********************************************************************************
'*********************              SMS  OKUMA              *********************
'********************************************************************************
'********************************************************************* 03.01.2004
MesajOku        :    For addr= 0 TO 254
                         RegGeneral[addr]=ZZ
                     Next addr
                                                      
                     mdmData     = ZZ
                                         
                     SerOut2 modem_tx,modem_baud,["AT+CMGF=1",CR,LF]				
                       Pause Bek100
                     SerOut2 modem_tx,modem_baud,["AT+CPMS=",34,"SM",34,CR,LF]		
                       Pause Bek100
                     SerOut2 modem_tx,modem_baud,["AT+CMGR=",#MsgIndex,CR,LF]	
              
                     SerIn2 modem_rx,modem_baud,2000,smsErr1,[wait("+CMGR: ")]

                     i = 0
                     j = 0
                     strComp = "O"
              
       LoopSmsAl1:   SerIn2 modem_rx,modem_baud,3000,smsErr1,[mdmData] 
             
		              IF mdmData = strComp  Then
					  	
		                  IF j = 0 Then 
					         strComp = "K"
					      EndIF
					      IF j = 1 Then 
					         strComp = CR
					      EndIF
					      IF j = 2 Then 
					         strComp = LF
					      EndIF
					      IF j >= 3 Then
					          VirSay = 0
					          i      = 0
					          j      = 0	 
					         GoTo MesajOkundu
					      EndIF
					    
		                  j = j + 1
					     
					  Else
					 
					      j = 0	
					      strComp = "O"
					  
					  EndIF
		           
                      RegGeneral[i]=mdmData
			          i = i + 1
			  
			          GoTo LoopSmsAl1
              
       smsErr1       :  MsgIndex     = 1
		                GoTo SmsOkumaErr
          
	   
	   
	   MesajOkundu   :  IF 	(RegGeneral[i] = CR) AND ( RegGeneral[(i+1)] = LF) Then
					        i =  i + 1
					        GoTo GelenMesaj2
					    Else
					        i= i + 1
					        GoTo MesajOkundu
					    EndIF
						            
						    							
	   GelenMesaj2   :  IF 	(RegGeneral[i] = CR) AND ( RegGeneral[(i+1)] = LF) Then
				           	GoTo GelenMesajOk
					    Else
			                SmsMesaj[j]=RegGeneral[(i+1)]
					        i= i + 1
					        j = j + 1
					        GoTo GelenMesaj2
					    EndIF
						     		 
	   SmsOkumaErr   :	SerOut2 pc_tx,pc_baud,["ERROR"CR,LF,CR,LF,STR SmsMesaj\160,CR,LF,CR,LF]  ' Hatalı 				
	   GelenMesajOk  :  SerOut2 pc_tx,pc_baud,["MESAJ ; ",STR SmsMesaj\160,CR,LF]                ' Mesaj Okundu 
	                        
'*********************************************************************************
'********************************************************************** 03.01.2004

upayi

Ben bunu nasil kullanciam bir ornekle aciklayabilirmsin
upayi developer free energy system (oler cell free energy motor design Guns design (magnetic guns=)

armys2000

hocam burdaki kod at komutlarını estekleyen bütün gsm modemlerde kullanabilirsin. Tabiii öncelikle yapılmış bir devren olacak burdaki kodun amacı AT+CMGR=n komutunu kullandığın vakit modemden n ile belirttiğin adresteki mesajı okursun ama herşeyiyle ( göndereni,saati,vs ) buu kod bunların içinde sadece mesaj kısmını alır. Sizde bu okuduğunuz mesajla işlem yaparsınız . harhangi bir cihazın var ve haberleşme olarak ta gsm in sms protokolünü kullanıyorsun diyelim. bu cihazı SMS ile kontrol edebilirsin. Role bağlarsın vs işte. Burdaki tek amaç gönderen kişinin , mesajını almaya yarar.