def run(self):
        senseFact = SensorFactory()
        for sensorName in self.specification:
            sensor = senseFact.getSensor(sensorName)

            if (sensor is not False):
                metaData = sensor.getMetaData()

                data = defaultdict(list)
                log = defaultdict(list)
                timestamp = int(time.time())
                data['unit'] = metaData[
                    self.specification[sensorName]].getUnit()
                data['value'] = metaData[
                    self.specification[sensorName]].getValue()
                data['sensor'] = sensorName
                data['metaData'] = self.specification[sensorName]
                log[timestamp] = data

                # Open a file
                fo = open("log.txt", "a")

                #append to file the log data
                fo.write(json.dumps(log) + "\n")

                # Close opend file
                fo.close()
    def run(self):
        senseFact = SensorFactory()
        for sensorName in self.specification:
            sensor = senseFact.getSensor(sensorName)

            if (sensor is not False):
                metaData = sensor.getMetaData()

                data = defaultdict(list)
                log = defaultdict(list)
                timestamp = int(time.time())
                data['unit'] = metaData[self.specification[sensorName]].getUnit()
                data['value'] = metaData[self.specification[sensorName]].getValue()
                data['sensor'] = sensorName
                data['metaData'] = self.specification[sensorName]
                log[timestamp] = data

                # Open a file
                fo = open("log.txt", "a")

                #append to file the log data
                fo.write(json.dumps(log) + "\n")

                # Close opend file
                fo.close()
Example #3
0
 def run(self):
     print('::Logging MetaData')
     senseFact = SensorFactory()
     for sensorName in self.specification:
         print("Get sensor: " + sensorName)
         sensor = senseFact.getSensor(sensorName)
         metaData = sensor.getMetaData()
         print(sensorName + "::" + metaData[self.specification[sensorName]].getName() + " reading: ")
         print(metaData[self.specification[sensorName]].getValue() + " "+ metaData[self.specification[sensorName]].getUnit())
Example #4
0
 def run(self):
     print('::Logging MetaData')
     senseFact = SensorFactory()
     for sensorName in self.specification:
         print("Get sensor: " + sensorName)
         sensor = senseFact.getSensor(sensorName)
         metaData = sensor.getMetaData()
         print(sensorName + "::" +
               metaData[self.specification[sensorName]].getName() +
               " reading: ")
         print(metaData[self.specification[sensorName]].getValue() + " " +
               metaData[self.specification[sensorName]].getUnit())
Example #5
0
    def run(self):

        doJob = True

        if ('conditions' in self.missionReference):
            senseFact = SensorFactory()
            for mCondition in self.missionReference['conditions']:
                for conditionName in mCondition:
                    conditionValue = mCondition[conditionName][1]

                    sensorOptions = mCondition[conditionName][0].partition(',')
                    sensorName = sensorOptions[0].strip()
                    metaDataName = sensorOptions[2].strip()

                    #create the sensor
                    sensor = senseFact.getSensor(sensorName)
                    if (sensor is False):
                        #sensor module did not load
                        doJob = False
                    else:
                        #get the sensors meta data
                        metaData = sensor.getMetaData()
                        #create a condition to test (equals, less than, greater than etc)
                        condition = Condition(conditionName)
                        #if the condition fails do not do job
                        if (condition.test(metaData[metaDataName].getValue(), conditionValue) is False):
                            doJob = False

        if ('delay' in self.missionReference):
            timedelay = str(self.lastRun + int(self.missionReference['delay']))
            #create and test time condition
            condition = Condition('gthan')
            if (condition.test(int(time.time()), timedelay) is False):
                doJob = False

        jobFact = JobFactory()
        if ('job' in self.missionReference and doJob is not False):
            #set the last run time
            self.lastRun = int(time.time())
            for jobName in self.missionReference['job']:
                print("." + jobName)
                #grab the job specification to pass to the factory
                jobSpec = self.missionReference['job'][jobName]
                job = jobFact.getJob(jobName, jobSpec)
                job.run()
        elif(doJob is False):
#            print('-')
            doJob = False
        else:
            print('Error: Job not found')
Example #6
0
    def run(self):
        senseFact = SensorFactory()
        data = defaultdict(list)

        for sensorName in self.specification:
            sensor = senseFact.getSensor(sensorName)

            if (sensor is not False):
                metaData = sensor.getMetaData()
                data[self.specification[sensorName]] = metaData[
                    self.specification[sensorName]].getValue()

        r = requests.post("http://192.168.1.3/post", data=data)

        print(r.status_code)