Spaces:
Sleeping
Sleeping
import json | |
from rtu.RTUAnomalizer import RTUAnomalizer | |
from rtu.RTUPipeline import RTUPipeline | |
import paho.mqtt.client as mqtt | |
def main(): | |
rtu_data_pipeline = RTUPipeline(scaler_path="src/rtu/models/scaler_1.pkl") | |
print(rtu_data_pipeline.scaler) | |
rtu_anomalizer = RTUAnomalizer( | |
prediction_model_path="src/rtu/models/lstm_4rtu_smooth_02.keras", | |
clustering_model_paths=[ | |
"src/rtu/models/kmeans_model1.pkl", | |
"src/rtu/models/kmeans_model2.pkl", | |
"src/rtu/models/kmeans_model3.pkl", | |
"src/rtu/models/kmeans_model4.pkl", | |
], | |
num_inputs=rtu_data_pipeline.num_inputs, | |
num_outputs=rtu_data_pipeline.num_outputs, | |
) | |
def on_message(client, userdata, message): | |
# print(json.loads(message.payload.decode())) | |
df_new, df_trans = rtu_data_pipeline.fit(message) | |
if not df_new is None and not df_trans is None: | |
out1,out2,out3,out4 = rtu_anomalizer.pipeline(df_new, df_trans, rtu_data_pipeline.scaler) | |
print(out3) | |
broker_address = "localhost" | |
broker_port = 1883 | |
topic = "sensor_data" | |
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION1) | |
client.on_message = on_message | |
client.connect(broker_address, broker_port) | |
client.subscribe(topic) | |
client.loop_forever() | |
if __name__ == "__main__": | |
main() | |