Esempio n. 1
0
    def run(self, registry):
        import copy
        from liota.dccs.graphite import Graphite
        from liota.dcc_comms.socket_comms import Socket

        # Acquire resources from registry
        # Creating a copy of system object to keep original object "clean"
        edge_system = copy.copy(registry.get("edge_system"))

        # Get values from configuration file
        config_path = registry.get("package_conf")
        config = {}
        execfile(config_path + '/sampleProp.conf', config)

        # Initialize DCC object with transport
        self.graphite = Graphite(
            Socket(ip=config['GraphiteIP'], port=config['GraphitePort']))

        # Register gateway system
        graphite_edge_system = self.graphite.register(edge_system)

        registry.register("graphite", self.graphite)
        registry.register("graphite_edge_system", graphite_edge_system)
Esempio n. 2
0

# --------------------------------------------------------------------------
# In this example, we demonstrate how data from a simulated device generating
# random numbers can be directed to graphite data center component using Liota.
# The program illustrates the ease of use Liota brings to IoT application developers.

if __name__ == '__main__':

    edge_system = Dk300EdgeSystem(config['EdgeSystemName'])

    # Sending data to Graphite data center component
    # Socket is the underlying transport used to connect to the Graphite
    # instance
    graphite = Graphite(
        Socket(ip=config['GraphiteIP'], port=config['GraphitePort']))
    graphite_reg_edge_system = graphite.register(edge_system)

    metric_name_temp_degC = config['MetricNameTempDegC']
    temp_metric_degC = Metric(name=metric_name_temp_degC,
                              unit=ureg.degC,
                              interval=33,
                              aggregation_size=6,
                              sampling_function=getTempDegC)
    reg_temp_metric_degC = graphite.register(temp_metric_degC)
    graphite.create_relationship(graphite_reg_edge_system,
                                 reg_temp_metric_degC)
    reg_temp_metric_degC.start_collecting()

    metric_name_temp_degF = config['MetricNameTempDegF']
    temp_metric_degF = Metric(name=metric_name_temp_degF,