HuyNQ

Dependencies:   C12832 MQTT_MbedOS

Fork of mbed-os-mqtt by Daniel Knox

main.cpp

Committer:
kokichi226
Date:
2017-11-02
Revision:
1:8d33e7fdd27c
Parent:
0:35df42ee93ed
Child:
2:c89dbc1d8123

File content as of revision 1:8d33e7fdd27c:

#include "mbed.h"
#include "C12832.h"
#include "MQTTEthernet.h"
#include "MQTTClient.h"

// LCD Pinout
C12832 lcd(D11, D13, D12, D7, D10);

// MQTT Variables
char* MqttHostname = "192.168.1.105";
int MqttPort = 1883;
char* MqttTopic = "mbed-sample-dssdsdhhuynq";
char* MqttClientId = "changeme-huynq-zcaxcaz";

int main()
{
    
    printf("Example MQTT client\n");

    // Brings up the network interface
    MQTTEthernet eth = MQTTEthernet();
    const char *ip = eth.get_ip_address();
    
    
    printf("IP address is: %s\n", ip ? ip : "No IP");
    
    // Create Mbed Client Interface
    MQTT::Client<MQTTEthernet, Countdown> client = MQTT::Client<MQTTEthernet, Countdown>(eth);

    // Create TCP connection
    eth.open(eth.getEth());
    int rc = eth.connect(MqttHostname, MqttPort);
    printf("TCP Status: %s\n", (rc == 0) ? "Success" : "Failure");
    
    // Wait for a short length of time to allow user to see output messages.
    Thread::wait(2000);
    
    if(rc == 0){
        
        
        printf("Starting MQTT Client");

        MQTTPacket_connectData data = MQTTPacket_connectData_initializer;       
        data.MQTTVersion = 3;
        data.clientID.cstring = MqttClientId;
        rc = client.connect(data);
        
        
        printf("MQTT Client: %s\n", (rc == 0) ? "Connected" : "Failed");
        
        while(rc == 0){
            MQTT::Message message;
 
            // QoS 0
            char buf[100];
            sprintf(buf, "Hello World!");
            message.qos = MQTT::QOS0;
            message.retained = false;
            message.dup = false;
            message.payload = (void*)buf;
            message.payloadlen = strlen(buf)+1;
            rc = client.publish(MqttTopic, message);  
            
            Thread::wait(5000);

        }
    }
    
    // It is good practice to close the socket
    eth.disconnect();
}