summaryrefslogblamecommitdiffstats
path: root/For Weekly Test/07-08-2011/gsmcall_.py
blob: 8bf7e86539d97c9bee90b84385b4cbba9a9c9719 (plain) (tree)
1
2
3
4
5
6
7
8



                  
 
                 

                    








                             
                  


 
                         



                          
                                            



                                                                       

                                                              






                                              
                

        
                                                         









                                                                               
                                                                   

                                               

                                     

                                                                                                                             

                                                             
                                
                                 
                                        


                                                                                                                  








                                                                                                
                                                                




                                                                              








                                                                                                                          
                                
 

                                           

                                        





                                            
import sys
import pjsua as pj
import socket
import time

import subprocess
import os
from serial import *

import classServer

from time import sleep
from datetime import datetime
import string


stop ="false"
success = "failed"



while stop <> "true":#???


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

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

		ser = Serial(
			port=portAddress,
			baudrate=19200,
			bytesize=EIGHTBITS,
			parity=PARITY_NONE,
			stopbits=STOPBITS_ONE)
		
	
	
		server = classServer.ServerHandler(50098)
		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()

			
		server.sendData('ready')#send message to controller
		print "here:", server.connected


		while stop <> "true":
			try:
				data = server.receiveData() # waiting mode, until receiver start message or terminate message
				#ser.write('AT+CSQ\r')
				#signalQuality = ser.read(35)
				
				#
				print ""
					
				if data == "start": # if receiver start message, handler start to call destination
						
					#num = server.receiveData() # waiting destination number
					server.closeConnection()
					ser.open()
					ser.write('AT+CSQ\r')
					signalQuality = ser.read(35)
					print "signal Quality ", signalQuality
					num = 929

					if num <> "":
								
						ser.write('ATD' + num + ';\r')
						sleep(5)
						success = "success"
						ser.write('AT+CHUP\r')
						ser.close()

				if data == "terminated": # will terminate the handler if controller send terminate message
					stop = "true"
					break
	
			except ValueError:
				print "error when sending message"
				server.closeConnection()
				del server
				

		tried = server.openSocket()
		server.sendData(success)
		server.closeConnection()
		del server
					
	except ValueError:    
		print "Exception: " + str(e)

print "Goodbye"
sleep(3)