Title

DATA SHARING USING MQTT AND ZIGBEE-BASED DDS ON RESOURCE-CONSTRAINED CONTIKI-BASED DEVICES

Abstract

Abstract

This thesis describes the implementation of data sharing among
resource-constrained IoT devices using two different middleware:
MQTT(Message Queuing Telemetry Transport) and DDS (Data Distribution
Services) for Real-Time Systems. In our setting, all IoT devices run under
the Contiki operating system. In the configuration for DDS, a pair of
Texas Instruments’ MSP430 processor-based ZigBee powered Advanticsys
XM1000 device is used to realize data sharing between wireless sensor
network devices without a server node. In order to install and run the
proposed application, Ubuntu 64-bit operating system is used since it
provides all the dependencies for Contiki and wireless sensor nodes. In
the DDS middleware, an example interface definition is given in the XML
file which contains the temperature, humidity, light values and the data
to be shared is determined by the interface definition. For sharing data,
DDS components ( DataWriter, DataReader, Publisher, Subscriber, Topics)
are used. Two XM1000 wireless sensor nodes are used for sharing sensor
data with each other every 10 seconds. These experiments are performed
between 2 and more devices using the simulator and in different periods.
In the second part of the work, the data structure that contains
temperature, humidity and light values is shared via both MQTT and MQTT-SN
(MQTT for Sensor Networks) middleware. The configuration of the MQTT
middleware application works with the TCP protocol, the following
components are used: The Ubuntu-based host computer, the mosquitto (Local
MQTT server) application running on the host computer, MSP430
processor-based ZigBee powered wireless sensor node (CM5000 produced by
Advanticsys company). In addition, the Python client applications for both
publisher and subscriber are run on the host computer. These components
above are used for sharing the sensor data structure between wireless
sensor nodes which are connected to the host computer. Publisher and
subscriber applications share the sensor data structure in every 10
seconds over the mosquitto server and received data is sent to the
wireless sensor node by using python subscriber application. The received
sensor data structure is sent to wireless sensor node by using the serial
interface. In this implementation, ZigBee radio is not used because the
ZigBee module could not be activated due to the large memory footprint of
the MQTT application.
Since the Zigbee module cannot be used in MQTT application, it is not
included in the comparison.
In order to run and share the data structure that contains temperature,
humidity and light values by using the MQTT-SN middleware, RSMB (Really
Small Mosquitto Broker) is installed and run on a Linux based host
computer. The devices must obtain the IP address from the host computer to
communicate with the Mosquitto server running on the host computer.
Therefore, the border-router application used to obtain an IP address on
the computer is running on wireless sensor node named CM5000 . Another
CM5000 wireless sensor node gets the IP address by using border-router
application installed CM5000 wireless sensor node and can write sensor
data on RSMB by using MQTT-SN middleware installed on the CM5000 wireless
sensor node. The sensor data structure is shared in different period of
times(5,10,20,30,60 seconds) and 2 and more sensor devices. In addition,
sensor data sent from CM5000 wireless sensor node is shared with the RSMB
server running on the host computer. The shared sensor data can be viewed
on the host computer by using the Mosquitto client which reads data from
RSMB. These three configurations are compared in terms of memory usage,
power consumption, and bandwidth utilization. With respect to memory
usage, DDS middleware software is the least memory consuming software. In
addition, the effects of the changes made to fit the image of the
operating system on the memory usage are calculated. Similarly, it was
seen that the DDS application consumed the least power among all the
applications. For MQTT-SN, power consumption could not be calculated, due
to power estimation module which could not be activated because of the
lack of memory.With the application developed using calculated raw values,
the calculation can also be made for MQTT-SN. The energest module of
contiki is used for power estimation.

Biography:

Supervisor(s)

Supervisor(s)

TUNAHAN YILDIRIM

Date and Location

Date and Location

2020-01-10;09:00:00-A101

Category

Category

MSc_Thesis