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
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
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()
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()
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 = {}
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)
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()
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
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
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,
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