Sponsored Content
Top Forums Programming NS3 with MQTT integration. HELP !!!! Post 302599152 by KishIsrael on Thursday 16th of February 2012 10:38:47 AM
Old 02-16-2012
Data NS3 with MQTT integration. HELP !!!!

Hi, I'm doing my thesis on the NS3 environment. I need to integrate it with mqtt. Mqtt provides a (mosquitto) broker / server, and it expects to have clients connect to it. A client could be a publisher (publishes data on the broker) or a subscriber (receives data from the broker it has subscribed to).

SOOOO, i need to have an NS3 node as a publisher client. I have set everything working (Nodes, WiFi, TAP NET device etc) and i do have a connection made to the broker.

THE PROBLEM IS THAT: as soon as the connection is made, and the broker recognizes my NS3 node using my ID "publisher" , the connection is subsequently disconnected, so fast almost in a flash. Here is the output from the mosquitto broker:


1329401026: New connection from 191.13.13.2.
1329401026: New client connected from 191.13.13.2 as publisher.
1329401026: Socket read error on client publisher, disconnecting.


I have delved into the broker code and the error seems to be coming from the file: - loop.c in function 'loop_handle_reads_writes() at if(mqtt3_net_read(db, i)) line 267'
- or then from mosquitto.c after pselect() at point if(mqtt3_net_read(contexts[i]) line 280.

I DO NOT EXPLICITELY CLOSE my NS3 node socket after opening it. I am using an altered version of bulk-send-application.cc to include capability to also receive data from a server, and then i create a custom mosquitto namespace to add the mosquitto client functions which i will call from the bulk-send-applicaiton.cc.

WHY IS THE BROKER ACCEPTING MY CONNECTION, RECEIVES MY INFORMATION I SEND TO IT, SINCE IT DISPLAYS MY ID ('publisher'), THEN ALMOST IMMEDIATELY DISCONNECTS ME WITH A SOCKET-READ-ERROR WHILE I HAVE NOT EXPLICITELY CLOSED MY NS3 SOCKET ? Smilie Smilie Smilie Smilie Smilie Smilie
 

9 More Discussions You Might Find Interesting

1. IP Networking

about ns3

Command terminated with signal SIGSEGV. Run it under a debugger to get more information (./waf --run <program> --command-template="gdb --args %s <args>"). while running our own program in ns3 we got the above error... what does this error mean?? (1 Reply)
Discussion started by: nivedita
1 Replies

2. IP Networking

ns3

i need materials regarding ns3(related to WiMAX) (1 Reply)
Discussion started by: nivedita
1 Replies

3. IP Networking

help with ns3 code

how to add a relay node in wimax network using ns3 simulator.... (0 Replies)
Discussion started by: nivedita
0 Replies

4. IP Networking

NS3 SendTo

Hi, I am working to implement a basic WiFi infrastructure in NS3. I have placed 16 APs in grid and one client is moving using random walk. Client and AP can communicate through message exchange. However, when I try a message of size more than 30 bytes, it is crashed. Please help me if anyone have... (0 Replies)
Discussion started by: dandapat
0 Replies

5. UNIX for Dummies Questions & Answers

NS3 with MQTT integration. HELP !!!!

Hi, I'm doing my thesis on the NS3 environment. I need to integrate it with mqtt. Mqtt provides a (mosquitto) broker / server, and it expects to have clients connect to it. A client could be a publisher (publishes data on the broker) or a subscriber (receives data from the broker it has subscribed... (0 Replies)
Discussion started by: KishIsrael
0 Replies

6. IP Networking

is that doable in NS3 ??

Dear all, I want to simulate an Wireless Mobile ad hoc network that uses the OLSR routing algorithm. ( i know how to do that now after reading the tutorial) Now, Instead of sending messages, I want the nodes to be able to send a c++ code. consider this scenario: node A, send a c++... (0 Replies)
Discussion started by: knowledgeSeeker
0 Replies

7. Infrastructure Monitoring

Using Node-RED and MQTT to Monitor Server and Application Stats

After setting up MQTT and testing some ESP8266 and ESP32 modules, where I noted that testing in Programming ESP32 (ESP-WROOM-32) as an MQTT Client Subscribed to Linux Server Load Average Messages, I was so impressed with MQTT that I installed MQTT on three different computers, instantly and... (2 Replies)
Discussion started by: Neo
2 Replies

8. Programming

Publish and Subscribe to AES-256 Encrypted MQTT Messages to Node-RED from PHP Scripts

Various Node-Red crypto modules do not work with PHP, so to send an encrypted message from a PHP script (in this case from a Ubuntu server) to Node-RED we need our own code. After a few hours of searching, testing various libs, more testing and debugging, I got this PHP to Node-RED code... (0 Replies)
Discussion started by: Neo
0 Replies

9. Programming

Node-RED: Writing MQTT Messages to MySQL DB with UNIX timestamp

First, I want to thank Neo (LOL) for this post from 2018, Node.js and mysql - ER_ACCESS_DENIED_ERROR I could not get the Node-RED mysql module to work and searched Google until all my links were purple! I kept getting ER_ACCESS_DENIED_ERROR with the right credentials. Nothing on the web was... (0 Replies)
Discussion started by: Neo
0 Replies
mosquitto_pub(1)														  mosquitto_pub(1)

NAME
mosquitto_pub - an mqtt version 3.1 client for publishing simple messages SYNOPSIS
mosquitto_pub [-d] [-h hostname] [-i client_id] [-I client id prefix] [-p port number] [-q message QoS] [--quiet] [-r] { -f file | -l | -m message | -n | -s} [ -u username [-P password] ] [ --will-topic topic [--will-payload payload] [--will-qos qos] [--will- retain] ] -t message-topic DESCRIPTION
mosquitto_pub is a simple mqtt version 3.1 client that will publish a single message on a topic and exit. OPTIONS
-d, --debug Enable debug messages. -f, --file Send the contents of a file as the message. -h, --host Specify the host to connect to. Defaults to localhost. -i, --id The id to use for this client. If not given, defaults to mosquitto_pub_ appended with the process id of the client. Cannot be used at the same time as the --id-prefix argument. -I, --id-prefix Provide a prefix that the client id will be built from by appending the process id of the client. This is useful where the broker is using the clientid_prefixes option. Cannot be used at the same time as the --id argument. -l, --stdin-line Send messages read from stdin, splitting separate lines into separate messages. Note that blank lines won't be sent. -m, --message Send a single message from the command line. -n, --null-message Send a null (zero length) message. -p, --port Connect to the port specified instead of the default 1883. -P, --pw Provide a password to be used for authenticating with the broker. Using this argument without also specifying a username is invalid. This requires a broker that supports MQTT v3.1. See also the --username option. -q, --qos Specify the quality of service to use for the message, from 0, 1 and 2. Defaults to 0. --quiet If this argument is given, no runtime errors will be printed. This excludes any error messages given in case of invalid user input (e.g. using --port without a port). -r, --retain If retain is given, the message will be retained as a "last know good" value on the broker. See mqtt(7) for more information. -s, --stdin-file Send a message read from stdin, sending the entire content as a single message. -t, --topic The mqtt topic on which to publish the message. See mqtt(7) for more information on mqtt topics. -u, --username Provide a username to be used for authenticating with the broker. This requires a broker that supports MQTT v3.1. See also the --pw argument. --will-payload Specify a message that will be stored by the broker and sent out if this client disconnects unexpectedly. This must be used in con- junction with --will-topic. --will-qos The QoS to use for the Will. Defaults to 0. This must be used in conjunction with --will-topic. --will-retain If given, if the client disconnects unexpectedly the message sent out will be treated as a retained message. This must be used in conjunction with --will-topic. --will-topic The topic on which to send a Will, in the event that the client disconnects unexpectedly. WILLS
mosquitto_sub can register a message with the broker that will be sent out if it disconnects unexpectedly. See mqtt(7) for more informa- tion. The minimum requirement for this is to use --will-topic to specify which topic the will should be sent out on. This will result in a non- retained, zero length message with QoS 0. Use the --will-retain, --will-payload and --will-qos arguments to modify the other will parameters. EXAMPLES
Publish temperature information to localhost with QoS 1: o mosquitto_pub -t sensors/temperature -m 32 -q 1 Publish timestamp and temperature information to a remote host on a non-standard port and QoS 0: o mosquitto_pub -h 192.168.1.1 -p 1885 -t sensors/temperature -m "1266193804 32" Publish light switch status. Message is set to retained because there may be a long period of time between light switch events: o mosquitto_pub -r -t switches/kitchen_lights/status -m "on" Send the contents of a file in two ways: o mosquitto_pub -t my/topic -f ./data o mosquitto_pub -t my/topic -s < ./data Send parsed electricity usage data from a Current Cost meter, reading from stdin with one line/reading as one message: o read_cc128.pl | mosquitto_pub -t sensors/cc128 -l BUGS
mosquitto_pub bug information can be found at http://launchpad.net/mosquitto SEE ALSO
mqtt(7) mosquitto_sub(1) mosquitto(8) libmosquitto(3) AUTHOR
Roger Light <roger@atchoo.org> 5 February 2012 mosquitto_pub(1)
All times are GMT -4. The time now is 12:55 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy