private async void Message_consumer(object sender, MqttApplicationMessageReceivedEventArgs e)
        {
            visualize v = Visualize;

            // lstv_log.Items.Add(e.ApplicationMessage.Topic);
            Dispatcher.Invoke(v, e);
            if (e.ApplicationMessage.Topic == "test/errors")
            {
                return;
            }
            string[] splittedMessage = e.ApplicationMessage.Topic.Split('/');
            string   control         = splittedMessage[0] + "/" + splittedMessage[1];

            if (splittedMessage[1] != "send/configuration" && control != "reply/topic")
            {
                int numPack = Int32.Parse(splittedMessage[2]);
            }
            if (control == "send/topic")
            {
                //File.WriteAllText("Here.json", Encoding.UTF8.GetString(e.ApplicationMessage.Payload));
                var message = new MqttApplicationMessageBuilder()
                              .WithTopic("reply/topic")
                              .WithPayload(splittedMessage[2])         //.WithPayload(splittedMessage[2] + ":ACK")
                              .Build();

                //-->Send to Amazon
                // a.pubblish("aws/misure", Encoding.UTF8.GetString(e.ApplicationMessage.Payload)); //FEZ46/measurements
                try
                {
                    a.pubblish("FEZ46/measurements", Encoding.UTF8.GetString(e.ApplicationMessage.Payload));
                }
                catch (Exception r)
                {
                    return;
                }
                //Dispatcher.Invoke(v,e);
                await mqttServer.PublishAsync(message);
            }
            if (control == "send/configuration")
            {
                //a.pubblish("aws/configuration", Encoding.UTF8.GetString(e.ApplicationMessage.Payload)); //FEZ46/configuration
                a.pubblish("FEZ46/configuration", Encoding.UTF8.GetString(e.ApplicationMessage.Payload));
            }
        }
Example #2
0
 public AWS(MainWindow w)
 {
     this.w = w;
     v      = Visualize;
     client = null;
 }