summaryrefslogblamecommitdiffstats
path: root/For Weekly Test/Old/15-07-2011/gsmincom_.py
blob: 413db2599fb62f4fdbe5167bc535878cc1d807fd (plain) (tree)





































































































































                                                                                                                                 

import atexit
import signal

import sys
import socket
import time
import os
import string
import classServer
from time import sleep
from serial import *


success = None
stop	= False

try:

	global ser
	global server
	portAddress = '/dev/ttyUSB0'
	portName = portAddress[-4:]
	portExist = os.popen('dmesg | grep ' + portName).read()

	if portExist == '':
		print 'The serial port does not exist'
		sys.exit()


	
	server = classServer.ServerHandler(50105) 
	tried = server.openSocket()

	if server.error != 'No error':
		print server.error
		if server.error == '[Errno 98] Address already in use':
			print 'one should try to kill the port'
			print server.killPort()
			server.closeConection()

			
	print "here:", server.connected
	if server.connected == 1:

		server.sendData('ready')
		server.closeConnection()

		ser = Serial(
			port=portAddress,
			baudrate=19200,
			bytesize=EIGHTBITS,
			parity=PARITY_NONE,
			stopbits=STOPBITS_ONE)

		ser.close()
		ser.open()

		signalQuality = ser.write('AT+CSQ\r')
		print "signal Quality ", signalQuality
		print ""
		
		

    		while stop <> True:
			
			global pickUp
			pickUp = None
			buffer = ""
			

			buffer = buffer + ser.read(ser.inWaiting()) #read the serial port and add it to the buffer variable
			if '\n' in buffer:
				 #if a new line character is found in the buffer then the cellphone has sent something
		    		lines = buffer.split('\n') #parse the buffer variable with the new line character
		    		last_received = lines.pop(0) #put into last_received variable the first content from lines (FIFO)
				print "apa iyi", buffer
		    		#buffer = "".join(lines) #add a new line to the buffer variable
				
		    		last_received=last_received.split('\n') #parse the last received value with new lines
		    		line = last_received[0].replace(chr(13), '')
			
			   	print "buffer:", buffer
			   	print "line:", line
				linesa = ser.read(ser.inWaiting())
				print "new line:", linesa
				sleep(1)

			   	if line =="RING" or linesa =="RING": 
				

			   		if line =="RING" or lines =="RING":  
				
						print "Somebody calling"
						print ""
						sleep(1)
						ser.write('ATA\r')  

					
						print "I will hangup the call"
						print ""
						sleep(1)

						ser.write('AT+CHUP\r') 
						pickUp = 0
						ser.close()
	
						print "here I am"
						tried = server.openSocket()

						sleep(1)
						server.sendData('success')
						stop = True
						sleep (5)
						break
						


		server.closeConnection()
		del server
	else:

		print "not connected"

		del server

	ser.close()
except ValueError:
    print "Exception: "
    server.closeConnection()
    del server

print "GOODBYE"
sleep(5)