Announcement

Collapse
No announcement yet.

MQTT Mosquitto SUBSCRIBER

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MQTT Mosquitto SUBSCRIBER

    Hallo zusammen,

    vorerst muss ich sagen, dass ich mich auf dem Gebiet MQTT nicht besonders gut auskenne.

    Mein Problem ist ich möchte von einem Mosquitto Broker einen string empfangen und diesen an einen label.text übergeben.

    Kann mir bitte jemand sagen was ich falsch mache oder was ich übersehen habe? Oder ist das vielleicht ein komplett falscher Ansatz?

    Ich bin für jeden Vorschlag sehr dankbar!

    Das ist meine bisherige Vorgehensweise:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using uPLibrary.Networking.M2Mqtt;
    using uPLibrary.Networking.M2Mqtt.Messages;
    namespace MQTT_004

    {
    public partial class Form1 : Form
    {

    public Form1()
    {
    InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    // create client instance
    MqttClient client =
    new MqttClient("10.14.9.205");
    // register to message received
    client.MqttMsgPublishReceived += client_MqttMsgPublishReceived;
    string clientId = Guid.NewGuid().ToString();
    client.Connect(clientId);
    // subscribe to the topic "/home/temperature" with QoS 2
    client.Subscribe(new string[] { "/home/temperature" }, new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE });
    label1.Text = clientId;
    }

    static void client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e)
    {
    // handle message received
    }

    }

    }
    Zuletzt editiert von Christian Marquardt; 16.02.2019, 07:51. Reason: Quelltext formatiert

  • #2
    Bisher müsst dein Lable doch die ID zeigen.
    Wenn die Methode .Subscribe ein String zurückgibt, dann
    label1.Text =client.Subscribe(new string[] { "/home/temperature" }, new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE });
    Christian

    Comment


    • #3
      Nein leider nicht. ich bekomme nur wirres Zeug als Ausgabe.

      Comment


      • #4
        Dann solltest du debuggen und in die Doku schauen, was Guid.NewGuid() ergibt. Das Objekt? Warum dann in einen String umwandeln?
        Christian

        Comment

        Working...
        X