def collect_data(): global reads global current_data starttime = time.clock() for x in range(0,numReaders): XBeeStatus[x]=0 for x in range(0,numReaders): #xbee.send('tx',dest_addr_long=XBeeAddress[x],dest_addr=UNKNOWN,data=b't') time.sleep(1) current_data='' xbee.send('tx',dest_addr_long=XBeeAddress[x],dest_addr=UNKNOWN,data=b'D') start = time.clock() time.sleep(2) while XBeeStatus[x] != 12: if (time.clock()-start)>30: #xbee.send('tx',dest_addr_long=XBeeAddress[x],dest_addr=UNKNOWN,data=b'D') #XBeeStatus[x]=0 #current_data='' #start = time.clock() #print ("Re-sent DATA_SEND to {0}".format(x)) #time.sleep(2) print "Did not recieve data" XBeeStatus[x] = 12 #xbee.send('tx',dest_addr_long=XBeeAddress[x],dest_addr=UNKNOWN,data=b't') current_data=1594*'0' if (time.clock()-starttime)>115: print ("Exceeded time limit") return try: if packets.qsize() > 0: newPacket = packets.get_nowait() handlePacket(newPacket) except KeyboardInterrupt: break # Save to database db = Database(dbname) for res in range(0,4): data = current_data[res*394:res*394+394] well_data = '' for well in range(0,96): well_data = well_data+','+str(int(data[12+well*4:14+well*4]+data[10+well*4:12+well*4],16)) current_time = int(data[6:8]+data[4:6]+data[2:4]+data[0:2],16) db.add_data(exp_id,XBeeID[x],current_time,data[8:10],well_data) db.close() # Save to text file save_path = '/media/usbhdd' filename = os.path.join(save_path,XBeeFilenames[x]) current_file = open(filename,'a') current_file.write(current_data) current_file.write('\n') current_file.close() reads = reads+1 print ("Recieved data: {0}".format(reads)) return
# ############################################# import cgi import cgitb cgitb.enable() from Database import Database print "Content-Type: text/html\n\n" form = cgi.FieldStorage() db = Database(form.getvalue("db")) db.add_data(experiment=form.getvalue("experiment"), plate=form.getvalue("plate"), time=form.getvalue("time"), data=form.getvalue("data")) db.close() # "time" refers to the number of milliseconds from the experiment start # that the data was gathered print """ <pre><b>Insert complete:</b> Database: {0} Experiment: {1} Plate: {2} Time: {3} Data: {4}</pre> """.format(form.getvalue("db"),form.getvalue("experiment"),