Franz Pucher / Mbed OS 4xHEL_MQTT_Pub_Ethernet

Dependencies:   C12832 MMA7660 MQTT

Fork of HelloMQTT by MQTT

You are viewing an older revision! See the latest version

ThingSpeak Programmänderungen

Home

Das verwendete Programm 4xHEL_MQTT_Pub_Ethernet basiert auf dem Programm HelloMQTT, wobei Daten (message) eines Themas (topic) an einen Broker publiziert (publish) werden. Diese Daten können mit einem Desktop MQTT Client empfangen werden, indem das obige topic abonniert (subscribe) wurde.

Die Funktionen und Zeilennummern beziehen sich auf das main-Programm.

In Zeile 81 wird das Topic eingestellt auf channels/ + channelID + /publish/ + apiKey (siehe hier:

   char* topic = "mbed/sample/Eth1";

In Zeile 95 wird der MQTT Broker eingestellt (hier: broker.hivemq.com), der durch einen anderen ersetzt werden kann:

    const char* hostname = "broker.hivemq.com";     // local RPi: 172.16.63.188; broker.hivemq.com: 35.157.21.220
    int port = 1883;

Die Messages werden in einer Schleife 5 Mal gepublished (Zeile 124-135):

    // publish 5 messages
    for(int t=0; t<5; t++) {
        char buf[100];
        sprintf(buf, "28.4.2017/16:30/21"); // published message
        message.qos = MQTT::QOS0;
        message.retained = false;
        message.dup = false;
        message.payload = (void*)buf;
        message.payloadlen = strlen(buf)+1;
        rc = client.publish(topic, message);
        wait(2);
    }

Mit sprintf weren die Werte wie beim printf in einen Puffer (char buf[100]) geschrieben, z.B.:

        int temp = 21+t;
        sprintf(buf, "28.4.2017/16:30/%d", temp); // published message

Nach der Schleife wird das Topic unsubscribed und die Verbindung zum Brocker beendet.


All wikipages