This commit is contained in:
Max 2021-01-05 15:23:01 +00:00
parent 514e41027d
commit f543e217af

View File

@ -10,15 +10,17 @@ from tensorflow import keras
class Firebase: class Firebase:
def __init__(self): def __init__(self):
self.creds = credentials.Certificate( self.creds = credentials.Certificate(
'icl-iot-weather-firebase-adminsdk.json') 'secrets/icl-iot-weather-firebase-adminsdk.json')
firebase_admin.initialize_app(self.creds) firebase_admin.initialize_app(self.creds)
self.db = firestore.client() self.db = firestore.client()
logging.debug('Initialized firebase instance')
def pull_from_db(self, orderby=u'timestamp'): def pull_from_db(self, orderby=u'timestamp'):
doc_ref = self.db.collection('weather_data') doc_ref = self.db.collection('weather_data')
query = doc_ref.order_by(orderby, query = doc_ref.order_by(orderby,
direction=firestore.Query.DESCENDING).limit(1) direction=firestore.Query.DESCENDING).limit(1)
doc = query.stream() doc = query.stream()
logging.debug('Got doc file from firestore')
return doc return doc
def convert_to_float(self, data): def convert_to_float(self, data):
@ -38,10 +40,12 @@ class VirtualProbe:
def __init__(self): def __init__(self):
self.firebase = Firebase() self.firebase = Firebase()
self.model = keras.models.load_model('virtual_probe.model') self.model = keras.models.load_model('virtual_probe.model')
logging.debug('Loaded ML model')
def predict_soil_temp(self): def predict_soil_temp(self):
feature = self.firebase.get_feature() feature = self.firebase.get_feature()
predicted_temp = self.model.predict([feature]) predicted_temp = self.model.predict([feature])
logging.debug(f'Predicted watering volume: {predicted_temp}')
return predicted_temp return predicted_temp