def zmq_producer(context,instrument): socket = context.socket(zmq.PUB) socket.connect('tcp://127.0.0.1:5000') while True: now_time=int(time.time()) now=datetime.datetime.now(pytz.timezone(TIMEZONE)) now_day=now.day now_month=now.month global start_time global start_day global count global f if ((now_time-start_time) > THRESHOLD_TIME) or (now_day!=start_day): if now_day!=start_day: count=find_count(now_day, now_month)-1 #Decrementing by one since we always increase by 1 o/w delete_older_folders(now) #Deleting 2 days older folder count=count+1 start_time=now_time start_day=now_day start_month=now_month f.close() f=open(DATA_BASE_PATH+str(start_day)+"_"+str(start_month)+"/"+str(count)+".csv","wa") f.write(HEADER) else: try: readings_array = instrument.read_registers(EM6400_BASE_REGISTER,EM6400_NUMBER_OF_REGISTERS) row=str(now_time)+"," for i in range(0,len(readings_array)-1,2): a=(readings_array[i+1]<<16) +readings_array[i] row=row+str(convert(a))+"," socket.send(row) row=row[:-1]+"\n" f.write(row) #x = time.time() * 1000+GMT_TIME_DIFFERENCE_MILLISECONDS #y=float(row.split(",")[2]) #socket.send(json.dumps(dict(x=x, y=y))) gevent.sleep(0.5) except Exception as e: global log_file log_file=open(DATA_BASE_PATH+"log.txt","w") log_file.write(str(time.time())+" "+e.__str__()) log_file.close() instrument = minimalmodbus.Instrument(METER_PORT, METER_ID)
f=open(DATA_BASE_PATH+str(start_day)+"_"+str(start_month)+"/"+str(count)+".csv","wa") f.write(HEADER) log_file=open(DATA_BASE_PATH+"log.txt","w") while True: now_time=int(time.time()) now = datetime.datetime.now(pytz.timezone(TIMEZONE)) now_day=now.day now_month=now.month if ((now_time-start_time) > THRESHOLD_TIME) or (now_day!=start_day): if now_day!=start_day: count=find_count(now_day, now_month)-1 delete_older_folders(now) count=count+1 start_time=now_time start_day=now_day start_month=now_month f.close() f=open(DATA_BASE_PATH+str(start_day)+"_"+str(start_month)+"/"+str(count)+".csv","wa") f.write(HEADER) else: try: readings_array = instrument.read_registers(EM6400_BASE_REGISTER,EM6400_NUMBER_OF_REGISTERS) row=str(now_time)+"," for i in range(0,len(readings_array)-1,2): a=(readings_array[i+1]<<16) +readings_array[i] row=row+str(convert(a))+","