summaryrefslogtreecommitdiffstats
path: root/For Weekly Test/Old/15-07-2011/gsmincom_.py
diff options
context:
space:
mode:
Diffstat (limited to 'For Weekly Test/Old/15-07-2011/gsmincom_.py')
-rw-r--r--For Weekly Test/Old/15-07-2011/gsmincom_.py134
1 files changed, 134 insertions, 0 deletions
diff --git a/For Weekly Test/Old/15-07-2011/gsmincom_.py b/For Weekly Test/Old/15-07-2011/gsmincom_.py
new file mode 100644
index 0000000..413db25
--- /dev/null
+++ b/For Weekly Test/Old/15-07-2011/gsmincom_.py
@@ -0,0 +1,134 @@
+
+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)