Browse Source

Adds MQTT Value to KMeans Classifier

Andreas T. Meyer-Berg 4 years ago
parent
commit
85521c59c2
1 changed files with 7 additions and 0 deletions
  1. 7 0
      examples/classifier/BasicPacketClassifier.java

+ 7 - 0
examples/classifier/BasicPacketClassifier.java

@@ -9,6 +9,7 @@ import java.util.Map.Entry;
 import de.tu_darmstadt.tk.SmartHomeNetworkSim.core.Link;
 import de.tu_darmstadt.tk.SmartHomeNetworkSim.core.Packet;
 import de.tu_darmstadt.tk.SmartHomeNetworkSim.core.PacketSniffer;
+import de.tu_darmstadt.tk.SmartHomeNetworkSim.core.protocols.packets.MQTTpublishPacket;
 import weka.core.Attribute;
 import weka.core.DenseInstance;
 import weka.core.Instance;
@@ -180,6 +181,11 @@ public abstract class BasicPacketClassifier implements PacketSniffer {
 		
 		// Packets per second
 		instance.setValue(6, getEstimatedPacketsPerSecond(link, packet));
+		// MQTT Value
+		if(packet instanceof MQTTpublishPacket)
+			instance.setValue(7, ((MQTTpublishPacket)packet).getValue());
+		else
+			instance.setValue(7, 0);
 		
 		return instance;
 	}
@@ -255,6 +261,7 @@ public abstract class BasicPacketClassifier implements PacketSniffer {
 		Attribute pps = new Attribute("Packets-per-second", false);
 		//pps.setWeight(20);
 		atts.add(pps);
+		atts.add(new Attribute("PacketValue", false));
 		//atts.add(new Attribute("Anomaly", false));
 
 		/*