def __init__(self,dev="/dev/ttyUSB0",baud=57600,debug=False): self.at=SerialAT() self.debug=debug self.at.setDebug(debug) self.device=dev self.baud=baud
def open(self): self.at=SerialAT() self.at.serialInit(self.device,self.baud) self.at.serialOpen()
class BtATSet: device="/dev/ttyUSB0" baud=57600 defbaud=9600 debug=False def __init__(self,dev="/dev/ttyUSB0",baud=57600,debug=False): self.at=SerialAT() self.debug=debug self.at.setDebug(debug) self.device=dev self.baud=baud def open(self): self.at=SerialAT() self.at.serialInit(self.device,self.baud) self.at.serialOpen() def reset(self): self.at.serialReset() def close(self): self.at.serialClose() def open_at_baud(self,baud=57600): #self.closeauto() if baud != self.baud: self.baud=baud #print self.baud self.open() def chk_at(self,baud=-1): #self.at.AT(' ',{'re':('OK','ERROR'),'req':''},0.20) self.at.AT(' ',{'re':('OK','ERROR'),'req':''},0.20) self.at.AT(' ',{'re':('OK','ERROR'),'req':''},0.20) result = self.at.AT('AT',{'re':('OK','ERROR'),'req':'OK'},0.20) #result = self.at.AT('AT',{'re':('OK','ERROR'),'req':'OK'},0.10) if baud == -1: baud=self.baud if self.debug: print baud, result if "OK" == result['re']: print "BtSerial %s is baud %d bps"%(self.device,baud) #if baud != self.defbaud: # print " no auto set baud %d bps"%(baud) else: print "BtSerial %s not baud %d bps"%(self.device,baud) return (result["re"]=="OK") if True else False def set_new_baud(self,baud=57600): bauds=[1200,2400,4800,9600,19200,38400,57600,115200,230400,460800,921600,1382400] c=1 t=4 for i in bauds: if i == baud : t=c break c+=1 result = self.at.AT("AT+BAUD%X "%(t),{'re':('OK','ERROR'),'req':'+BAUD'},0.10) if self.debug: print baud, result return (result["re"]=="OK") if True else False def set_new_name(self,name): result = self.at.AT("AT+NAME%s "%(name),{'re':('OK','ERROR'),'req':'+NAME'},0.10) if self.debug: print result return (result["re"]=="OK") if True else False def exit(self): self.at.serialClose() def forceBtSet(self,newName="SPP-CA",targetBaud=57600,baseBaud=9600): baud=targetBaud self.close() self.open_at_baud(baud) print "step 1 :", if self.chk_at(): if self.set_new_name(newName): print " set new name (%s) ok!"%(newName) else: print " not new name (%s) err!"%(newName) self.close() print " btserial baud is %s bps, exit..."%(str(baud)) return self.close() baud=baseBaud self.open_at_baud(baud) print "step 2 :", if self.chk_at(): print " btserial baud is %s bps, will set btserial baud at %s bps"%(str(baseBaud),str(targetBaud)) if self.set_new_name(newName): print " set new name (%s) ok!"%(newName) else: print " not new name (%s) err!"%(newName) if self.set_new_baud(targetBaud): print " btserial baud is %s bps.."%(str(targetBaud)) else: print " btserial baud not set %s bps.."%(str(targetBaud)) else: print " btserial baud at ???? bps, error!!!!!" self.close() baud=targetBaud self.open_at_baud(baud) print "step 3 :", if self.chk_at(): print " btserial baud is %s bps, exit..."%(str(baud)) self.close()