From 4ca02e7856d0e660906e2a0f04150fbfce70214d Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Fri, 1 Jun 2012 17:49:36 +0100 Subject: event streamer --- eventStreamer/config.py | 6 ++++ eventStreamer/eventStreamer.py | 72 ++++++++++++++++++++++++++++++++++++++++++ src/testApp.cpp | 47 ++++++++++++++++----------- src/testApp.h | 4 ++- 4 files changed, 110 insertions(+), 19 deletions(-) create mode 100755 eventStreamer/config.py create mode 100755 eventStreamer/eventStreamer.py diff --git a/eventStreamer/config.py b/eventStreamer/config.py new file mode 100755 index 0000000..88cf9ac --- /dev/null +++ b/eventStreamer/config.py @@ -0,0 +1,6 @@ +mysql_ip="127.0.0.1" +mysql_user="openBTS" +mysql_pword="openBTS" +mysql_db="openBTS" +viz_port="7888" +viz_ip="127.0.0.1" \ No newline at end of file diff --git a/eventStreamer/eventStreamer.py b/eventStreamer/eventStreamer.py new file mode 100755 index 0000000..326ff89 --- /dev/null +++ b/eventStreamer/eventStreamer.py @@ -0,0 +1,72 @@ +#!/usr/bin/python + +import MySQLdb,datetime,string +import config + +from optparse import OptionParser + +parser = OptionParser() +parser.add_option("-t", "--time", type="string", dest="time", default="",help="start time HH:MM:SS.sss") +parser.add_option("-d", "--date", type="string", dest="date", default="",help="start date YYYY-MM-DD") +(options, args) = parser.parse_args() + +def sqldatetime(t): + return string.replace(t.isoformat(),"T"," ") + +def main(): + + startTime=None + + date=options.date + time=options.time + + now=datetime.datetime.now() + + if date=="": + date=str(now.year)+"-"+str(now.month)+"-"+str(now.day) + + if time=="": + time="0:00:00.0" + + startTime=datetime.datetime.strptime(date+" "+time,"%Y-%m-%d %H:%M:%S.%f") + + db = MySQLdb.connect(config.mysql_ip,config.mysql_user,config.mysql_pword,config.mysql_db) + cursor = db.cursor() + + sql = "SELECT * FROM IMSIs" + devices={} + + try: + cursor.execute(sql) + results = cursor.fetchall() + for row in results: + d={} + d['IMSI']=row[1] + d['number']=row[2] + d['ts']=row[3] + devices[row[0]]=d + except: + print "Error: unable to fetch data" + + #get 1st event + sql = "SELECT * FROM events Where ts Between '"+sqldatetime(startTime)+"' And '"+sqldatetime(now)+"' LIMIT 1" + print sql + + try: + cursor.execute(sql) + results = cursor.fetchall() + id=long(results[0][0]) + device_id=results[0][3] + print "id:",id,results[0][1],devices[device_id]['IMSI'] + sql = "SELECT * FROM events Where id = "+str(id+1) + cursor.execute(sql) + results = cursor.fetchall() + print "next:",results[0][1] + except: + print "Error: unable to fetch data" + + #2 modes of operation depending whether realtime or historical + + db.close() + +if __name__ == '__main__': main() \ No newline at end of file diff --git a/src/testApp.cpp b/src/testApp.cpp index 6091759..629ffce 100644 --- a/src/testApp.cpp +++ b/src/testApp.cpp @@ -84,30 +84,39 @@ void testApp::setup(){ } - //bgimg.allocate(256,256,OF_IMAGE_COLOR); - // - /* + bgimg.allocate(256,256,OF_IMAGE_COLOR); + + cols=new ofColor[4]; - cols[0]=ofColor(80,80,80); + cols[0]=ofColor(80,80,120); cols[1]=ofColor(80,80,80); cols[2]=ofColor(0,0,0); cols[3]=ofColor(0,0,0); - float fi,fj,ifi,ifj; - float si=1.0f/bgimg.width; - float sj=1.0f/bgimg.height; - for (int i=0,fi=0.0f,ifi=1.0f;i