From dfd6103b23b59efc2f0b75c67907ea7d50f53ad2 Mon Sep 17 00:00:00 2001 From: Jonas Arnold Date: Fri, 25 Nov 2022 15:55:02 +0100 Subject: [PATCH] add Csharp Mqtt Test --- ADIS_Csharp/MqttTest/MqttTest.csproj | 14 +++++++++ ADIS_Csharp/MqttTest/Program.cs | 44 ++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 ADIS_Csharp/MqttTest/MqttTest.csproj create mode 100644 ADIS_Csharp/MqttTest/Program.cs diff --git a/ADIS_Csharp/MqttTest/MqttTest.csproj b/ADIS_Csharp/MqttTest/MqttTest.csproj new file mode 100644 index 0000000..6d46972 --- /dev/null +++ b/ADIS_Csharp/MqttTest/MqttTest.csproj @@ -0,0 +1,14 @@ + + + + Exe + net6.0 + enable + enable + + + + + + + diff --git a/ADIS_Csharp/MqttTest/Program.cs b/ADIS_Csharp/MqttTest/Program.cs new file mode 100644 index 0000000..42433b2 --- /dev/null +++ b/ADIS_Csharp/MqttTest/Program.cs @@ -0,0 +1,44 @@ +using System.Text; +using System.Threading; +using uPLibrary.Networking.M2Mqtt; +using uPLibrary.Networking.M2Mqtt.Messages; + +namespace MqttTest +{ + internal class Program + { + static void Main(string[] args) + { + Console.WriteLine("Hello MQTT World! Press Space to send test message to topic 'scada/status'."); + // creating an MqttClient object + var client = new uPLibrary.Networking.M2Mqtt.MqttClient("10.180.254.80"); + // register to message received + client.MqttMsgPublishReceived += client_MqttMsgPublishReceived; + // generate a clientID and connect to Broker + string clientId = Guid.NewGuid().ToString(); + client.Connect(clientId); + // subscribe to a topic + client.Subscribe(new string[] { "scada/status" }, new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE }); + // Endless loop + while (true) + { + Thread.Sleep(50); + if (Console.KeyAvailable) + { + var key = Console.ReadKey(); + if (key.Key == ConsoleKey.Spacebar) + { + Console.WriteLine($"Sending \"Test Message\" to topic 'scada/status'"); + client.Publish("scada/status", Encoding.ASCII.GetBytes("Test Message")); + } + } + } + } + static void client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e) + { + // handle message received + Console.Write("Message received: "); + Console.Write(Encoding.UTF8.GetString(e.Message) + "\n"); + } + } +} \ No newline at end of file