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)