import sys import socket import time import subprocess import os from serial import * import classServer from time import sleep import string stop ="false" success = "failed" global server global ser portAddress = '/dev/ttyUSB1' portName = portAddress[-4:] portExist = os.popen('dmesg | grep ' + portName).read() if portExist == '': print 'The serial port does not exist' sys.exit() while stop <> "true":#??? try: 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 "Controller status: ", server.connected while stop <> "true": try: data = server.receiveData() # waiting mode, until receiver start message or terminate message if data == "start": # if receiver start message, handler start to call destination while 1: num = server.receiveData() #num = "929" if num <> "NO DATA": server.closeConnection() ser = Serial( port=portAddress, baudrate=19200, bytesize=EIGHTBITS, parity=PARITY_NONE, stopbits=STOPBITS_ONE) ser.close() ser.open() ser.write('ATD4661' + num + ';\r') sleep(3) ser.write('AT+CHUP\r') ser.close() tried = server.openSocket() sleep(2) success = "success" server.sendData(success) 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 server.closeConnection() del server print "Goodbye" sleep(3) sys.exit(1) except ValueError: print "Exception: " + str(e) print "Goodbye" sleep(3)