Exemple #1
0
 def __init__(self, host = 'localhost', port = 7809, timeout = 30, 
                         logger_id = 0x001, computer_id = 0x802 ):
     """ 
         this initilizer function sets up the connection
         
     arguments:
         host:       (string) a string repesenting the ip for the connection
         port:       (int) the port number
         timeout:    (int) timeout value
         logger_id:  (int) the ID of the logger
         computer_id:(int) the id of the computer 
     """
     self.host = host
     self.port = port
     self.timeout = timeout
     self.l_id = logger_id
     self.c_id = computer_id
     self.link = pakbus.open_socket(self.host, self.port
                                              , self.timeout)
     self.ping()
     self.progs = []
     self.table_list = []
     FileData, Response = pakbus.fileupload(self.link, self.l_id, self.c_id
                                                     , '.TDF')
     self.tabledef = pakbus.parse_tabledef(FileData)
     
     self.fetchprogs()
Exemple #2
0
 def refresh_tabledef(self):
     """
         refresh the table definition
     """
     self.ping()
     FileData, Response = pakbus.fileupload(self.link, self.l_id, self.c_id
                                                     , '.TDF')
     self.tabledef = pakbus.parse_tabledef(FileData)
Exemple #3
0
    def __init__(self, db, socket, my_node_id, metric_id, pakbus_id, 
                 data_callback = None,
                 record_callback = None,
                 #wu_object = None,
                 security_code = 0x1111):
        """
        db is the sqlite db to use to store the last record numbers
        
        the data_callback is called for each time series (eg for openTSDB)
        the record callback is called once for each row in the datalogger's table 
        
        """
        #self.number = number

        self.log = logging.getLogger(__name__)
        
        self.db = sqlite3.connect(db)

        self.my_node_id = my_node_id
        self.metric_id = metric_id
        self.pakbus_id = pakbus_id
        self.security_code = security_code
        self.data_callback = data_callback
        self.record_callback = record_callback
        #self.wu_object = wu_object
        
        self.log.debug("Getting serial number for {}@{}".format(metric_id, pakbus_id))

        self.serno = pakbus.get_cr1000_serial(socket,
                                 self.pakbus_id,
                                 self.my_node_id,
                                 self.security_code)
        self.log.info("{}@{} has serial number {}".format(metric_id, pakbus_id, self.serno))
          
        self.log.debug("Getting table defs")
        self.FileData, RespCode = pakbus.fileupload(socket, 
                                          self.pakbus_id, 
                                          self.my_node_id, 
                                          FileName = '.TDF',
                                          SecurityCode = self.security_code)
        
        # todo, check resp code!
        self.log.debug(" -- table def RespCode was: {}".format(RespCode))
        #self.log.debug("Filedata = {}".format(self.FileData))
        
        self.tabledef = pakbus.parse_tabledef(self.FileData)

        self.log.debug("tabledef = {}".format(self.tabledef))

        self.list_of_tables = self.getTables(socket, 3)
        
        self.last_collect = {"ts": None,
                             "NextRecNbr": None}
        
        self.check_db()
Exemple #4
0
 def get_table_def (self):
     """ Function doc """
     data, code = self.download('.TDF')
     if code:
         self.table_def = pkb.parse_tabledef(data)
     return code
	#print '\n'
	i += 1
print time.time()-t


print 'HERE \n'
"""

# number = input('How many samples do you want?: ')
# FileData, RespCode = pakbus.fileupload(s, NodeId, MyNodeId, FileName = '.TDF')
# tabledef = pakbus.parse_tabledef(FileData)
# data = pakbus.collect_data(s, NodeId, MyNodeId, tabledef, 'Table')


FileData, RespCode = pakbus.fileupload(s, NodeId, MyNodeId, FileName=".TDF")
tabledef = pakbus.parse_tabledef(FileData)


"""
# get P1 amount of most recent records
print pakbus.collect_data(s, NodeId, MyNodeId, tabledef, 'Table', CollectMode = 0x05, P1 = 10), '\n'

# get everything after record number specified by P1 (inclusive), but it can do a max of 40 records (when printing)
print pakbus.collect_data(s, NodeId, MyNodeId, tabledef, 'Table', CollectMode = 0x04, P1 = 0), '\n'

# CollectMode = 0x07 : get data within timestamp range specified by P1(not inclusive) and P2 (inclusive)
print pakbus.collect_data(s, NodeId, MyNodeId, tabledef, 'Table', CollectMode = 0x07, P1 = 770744820, P2 = 770744880), '\n'


# get data from p1 record number (inclusive) to p2 record number (non inclusive of p2)
print pakbus.collect_data(s, NodeId, MyNodeId, tabledef, 'Table', CollectMode = 0x06, P1 = 3, P2 = 8), '\n'
	#print values
	#print '\n'
	i += 1
print time.time()-t


print 'HERE \n'
'''

#number = input('How many samples do you want?: ')
#FileData, RespCode = pakbus.fileupload(s, NodeId, MyNodeId, FileName = '.TDF')
#tabledef = pakbus.parse_tabledef(FileData)
#data = pakbus.collect_data(s, NodeId, MyNodeId, tabledef, 'Table')

FileData, RespCode = pakbus.fileupload(s, NodeId, MyNodeId, FileName='.TDF')
tabledef = pakbus.parse_tabledef(FileData)
'''
# get P1 amount of most recent records
print pakbus.collect_data(s, NodeId, MyNodeId, tabledef, 'Table', CollectMode = 0x05, P1 = 10), '\n'

# get everything after record number specified by P1 (inclusive), but it can do a max of 40 records (when printing)
print pakbus.collect_data(s, NodeId, MyNodeId, tabledef, 'Table', CollectMode = 0x04, P1 = 0), '\n'

# CollectMode = 0x07 : get data within timestamp range specified by P1(not inclusive) and P2 (inclusive)
print pakbus.collect_data(s, NodeId, MyNodeId, tabledef, 'Table', CollectMode = 0x07, P1 = 770744820, P2 = 770744880), '\n'


# get data from p1 record number (inclusive) to p2 record number (non inclusive of p2)
print pakbus.collect_data(s, NodeId, MyNodeId, tabledef, 'Table', CollectMode = 0x06, P1 = 3, P2 = 8), '\n'

#