summaryrefslogtreecommitdiffstats
path: root/For Weekly Test/Old/15-07-2011/gsmcall2_.py
blob: bf8e66266aa9ae933d1cdd2d041f6d06ad43bf9d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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"


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)
		
	
		ser.open()

		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 "Status Server:", server.connected
		print ""

		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 "Signal Bar: ", signalQuality
				#
				
					
				if data == "start": # if receiver start message, handler start to call destination
				   while 1:
						
					num = server.receiveData() # waiting destination number
					
					#num = 929

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

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

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

print "Goodbye"
sleep(3)