Esempio n. 1
0
 def __init__(self, options, logs=True, debug=False):
     self.console = Logger.Logger(logName='Storage',
                                  enabled=logs,
                                  printConsole=True)
     self.firebase = pyrebase.initialize_app(options)
     self.storage = self.firebase.storage()
     self.console.log("Initialization...")
     self.debug = debug
Esempio n. 2
0
    def __init__(self, path ="", logs=True):
        #Filter inits disabled
        self.enabled = False
        self.avgData = 0
        self.filterSamples = 5

        #Initializaing logger
        self.console = Logger.Logger(logName="(Avg Filter: " + path + ")", enabled=logs, printConsole=True)
        self.console.log("Initialization...")
        pass
Esempio n. 3
0
    def __init__(self,
                 database,
                 broker,
                 id,
                 type,
                 enabled,
                 devicePath="/devices/id",
                 categoryPath="/category/",
                 dataTopic="/data",
                 logs=True):
        #Base properties
        self.db = database
        self.id = id
        self.type = type
        self.enabled = enabled
        self.path = devicePath + categoryPath + str(self.id)
        self.timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        self.streams = []

        self.timerInterval = 2  #minutes / TODO overide this value
        self.periodicUpdates = False

        #Data related
        self.data = ""

        #Initializaing logger
        self.console = Logger.Logger(logName="(" + self.path + ")",
                                     enabled=logs,
                                     printConsole=True)
        self.console.log("Initialization...")

        #Initializing broker
        self.dataTopic = self.path + dataTopic
        self.broker = broker
        #self.broker.setCallback(self.brokerCallback)
        #self.broker.start()

        # Scheduler
        self.jobId = self.path.replace("/", "")
        self.scheduler = BackgroundScheduler()
        self.scheduler.start()
        self.job = self.scheduler.add_job(self.saveDataToDB,
                                          'interval',
                                          minutes=self.timerInterval,
                                          id=self.jobId,
                                          replace_existing=True)
        self.job.pause()
Esempio n. 4
0
 def __init__(self,
              initFile,
              storage,
              storageRoute,
              logPrefix="",
              logs=True,
              logName='Data Logger'):
     self.console = Logger.Logger(logName=logName,
                                  enabled=logs,
                                  printConsole=True)
     self.console.log("Initialization...")
     self.initFile = initFile
     self.logInfo = {}  #metadata of the existing logs
     self.storage = storage
     self.storageRoute = str(storageRoute)
     self.logPrefix = logPrefix
     self.logData = {}  #Actual data of a log
     self.openInitFile()
Esempio n. 5
0
 def __init__(self, topic="topic/channel", logs=True, logName='Broker'):
     self.mqttc = mqtt.Client()
     self.console = Logger.Logger(logName="Broker(" + logName + ")",
                                  enabled=logs,
                                  printConsole=True)
     self.console.log("Initialization...")
     self.callback = None
     self.rc = None
     self.topic = topic
     self.qos = 1
     self.mqttc = mqtt.Client()
     self.mqttc.on_connect = self._on_connect()
     self.mqttc.on_disconnect = self._on_disconnect
     self.mqttc.on_message = self._on_message
     self.mqttc.on_subscribe = self._on_subscribe
     self.mqttc.on_unsubscribe = self._on_unsubscribe
     self.mqttc.on_publish = self._on_publish
     self.mqttc.on_log = self._on_log
     self.mqttc.connect(host='protorpi201.local', port=1883)
     self.callbackFunctions = {}
Esempio n. 6
0
    def __init__(self, options, logs=True, debug=False):
        self.console = Logger.Logger(logName='Database',
                                     enabled=logs,
                                     printConsole=True)
        self.console.log("Initialization...")
        self.firebase = pyrebase.initialize_app(options)
        self.db = self.firebase.database()
        self.debug = debug
        self.streams = {}
        self.streamFunctions = {}
        self.timerInterval = 1  # check if thread is alive

        # Scheduler
        self.jobId = "DATABASE"
        self.scheduler = BackgroundScheduler()
        self.scheduler.start()
        self.job = self.scheduler.add_job(self.checkAliveStream,
                                          'interval',
                                          minutes=self.timerInterval,
                                          id=self.jobId,
                                          replace_existing=True)
Esempio n. 7
0
 def __init__(self, database, storage, id, type, broker, enabled, basePath="", topicSensor="/regSensor", topicActuator="/regActuator", logs=True, logName="Device"):
     self.db = database
     self.storage = storage
     self.online = True
     self.id = id
     self.type = type
     self.enabled = enabled
     self.sensors = {}
     self.actuators = {}
     self.updateTime = { 'MST': 60,
                        'LIG': 5 }
     self.path = basePath + "/devices/" + str(self.id)
     self.console = Logger.Logger(logName="Device("+self.path+")", enabled=logs, printConsole=True)
     self.topicSensor = self.path + topicSensor
     self.topicActuator = self.path + topicActuator
     self.console.log("Initialization...")
     #Initializing broker
     self.broker = broker
     self.broker.subscribeTopicWithCallback(self.topicSensor, self.brokerCallback )
     self.broker.subscribeTopicWithCallback(self.topicActuator, self.brokerCallback )
     self.broker.subscribeTopicWithCallback(self.path, self.onlineCheck )
     self.saveDeviceToDB()
Esempio n. 8
0
 def __init__(self,
              database,
              storage,
              topic="regDevice",
              logs=True,
              logName="DeviceManager",
              pingPath='ping'):
     self.devices = {}
     #Initializing loger
     self.console = Logger.Logger(logName=logName,
                                  enabled=logs,
                                  printConsole=True)
     #Initializing broker
     self.broker = Broker.Broker(topic=topic, logs=True, logName=logName)
     self.regTopic = topic
     self.broker.setCallbacks()
     self.broker.start()
     self.broker.subscribeTopicWithCallback(topic, self.brokerCallback)
     self.db = database
     self.storage = storage
     self.pingPath = pingPath
     self.response = False
Esempio n. 9
0
    def __init__(self):
        self.MetaDataAddress = "Logs//TestOutputs_"
        self.MetaDataAddress += TimeToDateTime(time.time(),
                                               dateOn=True,
                                               dateSplitter="_",
                                               dateTimeSplitter="_",
                                               timeSplitter="_")

        self.MetaDataAddress += "//"

        self.Logger = Logger.Logger()
        self.Logger.ClearAllowed = False
        self.Logger.SetTitleAllowed = False
        self.Logger.LoadingBarAllowed = False
        self.Logger.InputAllowed = False

        Sims = [1, 3, 4, 6]
        Agents = [
            AgentData.AgentSetupData(eAgentType.eAgentType.BruteForce,
                                     playingMode=False)
        ]

        hadError = False
        timeMark = time.time()
        for simNum in Sims:
            for agent in Agents:
                if self.RunTest(simNum, agent):
                    hadError = True

        print("Full Test Took: " + SplitTime(time.time() - timeMark))

        print("tests Finished")

        if hadError:
            exit(code=1)
        return
Esempio n. 10
0
from Shared import Logger
import RunController.eRenderType as eRenderType
import RunController.eLoadType as eLoadType
import RunController.RunController as RunController
from Shared import WAndBMetrics
import Shared.AudioManager as AudioManager
import RunController.AgentSetupData as AgentData
import RunController.eAgentType as eAgentType

if __name__ == "__main__":
    AudioManager.sound_setup("Assets//Sounds//Error.wav")

    logger = Logger.Logger()
    logger.Clear()

    metricsOn = "T" == input("Metrics On T) Off F)").upper()
    #metricsOn = True

    metricsLogger = WAndBMetrics.MetricsLogger("combined-ai-v3", metricsOn)

    agentSetupData = []
    agentSetupData += [AgentData.AgentSetupData(eAgentType.eAgentType.Null)]

    try:
        controller = RunController.RunController(
            logger,
            metricsLogger,
            agentSetupData,
            renderQuality=eRenderType.eRenderType.TextOutput,
            simNumber=None,
            loadType=eLoadType.eLoadType.Load,
Esempio n. 11
0
import socket
import sys
import datetime
from Managers import DeviceManager
from Model import Device, Sensor
from Database import Database, Storage
from Shared import Logger
import time

# Waits for services to be ready in RPi
if sys.platform != "darwin":
    time.sleep(60)

#creates Application Logger
console = Logger.Logger(logName='Application', enabled=True, printConsole=True)

#DeviceSetup
#Database startup
#initial setup
config = {
    "apiKey": "AIzaSyCeLjnaoNZ6c9BKkccXt5E0H74DGKJWXek",
    "authDomain": "testproject-cd274.firebaseapp.com",
    "databaseURL": "https://testproject-cd274.firebaseio.com",
    "storageBucket": "testproject-cd274.appspot.com"
}

DB = Database.Database(config)
store = Storage.Storage(config)

#create a device