niMQTT's usage
    
        Page last updated  
14 Aug 2013, by 
 
  Guilhem Saurel.
    
    
        
            
                
                    
                        4
                        replies
                    
                
            
        
    
 
    niMQTT is an MQTT library designed for the new EthernetInteface lib.
An MQTT Client for the new etherNet Interface.
 
To use it, you only need a callback with the prototype 
callback
void callback(const char *topic, const char *message)
Once you have it, you can create your MQTT's client following this prototype: 
niMQTT Client prototype
niMQTT(char *server, void (*callback)(const char *, const char*), char *id="mbed", int port=1883, char *username="", char *password="", bool debug=false);
On creating an instance, a Thread will listen and call your callback when necessary, and you can meanwhile: 
subscribe
client.sub("topic");
 
unsubscribe
client.sub("topic", true);
- publish a message to a topic:
 
publish
client.pub("topic", "message");
You can see this example as a starting point:
An exemple for the lib niMQTT
 
 
4 comments on niMQTT's usage:
    
    
    
    
        
            
                
                
                    
                    amritaiotel
                    #
                    
                        14 Aug 2013 
                    
                    
                 
                
             
            
                
                    
                       hai there,
I tried this program to connect to an MQTT server running on java. But I failed to establish the connection.
The serial terminal shows,  
Connection...
Socket connection...
Socket connection...
Socket connection...
.............................
The code is stuck @      do printf("Socket connection...\r\n"); while (socket->connect(server, port) < 0);
                                       socket->set_blocking(true, KEEP_ALIVE*500);  KEEP_ALIVE / 2 in seconds
please help me with this.....
Regards.............Bimal
                    
                 
                
             
         
     
 
    
    
    
    
        
            
            
                
                    
                       Hi, 
The code is stuck @      do printf("Socket connection...\r\n"); while (socket->connect(server, port) < 0);
                                       socket->set_blocking(true, KEEP_ALIVE*500);  KEEP_ALIVE / 2 in seconds
please help me with this.....
Regards.............Bimal
well, if your socket can't connect to (server, port), it probably means that your port and/or your ip is not good, or there is a network issue between your server and your mbed.
                    
                 
                
             
         
     
 
    
    
    
    
        
            
                
                
                    
                    amritaiotel
                    #
                    
                        19 Aug 2013 
                    
                    
                 
                
             
            
                
                    
                        Guilhem Saure,
                          Thank you for the response. 
I will check it. But my mbed works well in establishing a TCP connection to a different remote server using example TCP_example and sending some text also. 
But when I try to connect to the MQTT server @ port 1833, TCP connection is failing........ 
                    
                 
                
             
         
     
 
    
    
    
    
        
            
            
                
                    
                       Are you sure your server is listening on all the interfaces and not only localhost/127.0.0.1?
                    
                 
                
             
         
     
 
Please log in to post comments.
    
 
    
hai there,
I tried this program to connect to an MQTT server running on java. But I failed to establish the connection. The serial terminal shows, Connection... Socket connection... Socket connection... Socket connection... ............................. The code is stuck @ do printf("Socket connection...\r\n"); while (socket->connect(server, port) < 0); socket->set_blocking(true, KEEP_ALIVE*500); KEEP_ALIVE / 2 in seconds please help me with this..... Regards.............Bimal