How messages are conveyed in WSN? … this is called ‘Routing’

Message communication in WSN is much alike the way we communicate words with others. In WSN, the technical terminology of this situation is called ‘Routing‘, whereas in our normal conversation, we understand this as ‘Speaking‘. The aim of both cases is same: to convey message to the other party! In fact, in a closer look, the way we or they convey messages also shows similarity. Let’s take a look in human conversation. Someone could only speak out the words (i.e., messages) to other if the other person just be in front of him or her. He just could ‘directly‘ speak the words out. Similarly in WSN, a sensor device or called ‘mote’, after transmitting a message out, it is straight away received by other mote which is located in it’s transmission range. Visually, it can be shown as: source mote –> destination mote. Technically, we termed this as Direct Transmission (DT); it is a single-hop message passing.

Back to the human scenario, however, someone’s voice (words) could not be heard by the other person if the other person not being just in front of him as in the previous scenario, or being in a place that his voice cannot be heard. Two simple solutions in this case is either to use a telephone to ‘convey’ the message to the other person, or tell the words to someone and asked him to pass the words to the intended recipient. We see in this scenario, the need of intermediate persons. Synonymous in WSN, in short, this situation can be shown as: source mote –> intermediate motes –> destination mote. Since the source mote and the destination mote is not within communication range, without the intermediate motes, messages has no way to reach the destination mote. Again technically, this kind of message passing through intermediate motes is known as Minimum Transmission Energy (MTE); it is a multi-hop message passing.

These are two basic communication methods practicing by us human and they motes. However, there exist a different kind of ‘dialect’ or ‘pattern’ of the communication. Let’s for the final straw, for instance in human conversation, someone could just firstly form a group of people (say, 5 persons in a group), with every person votes to elect a leader person. Note, other people around also do the same thing that forming their own group. Anyone in the group that has words to convey to the other person somewhere, simply first tells the words to the leader. The leader keeps all words, while in some cases can do an extra task such as eliminating any redundant words that may have, and then just forward the words to the other leader in the other group around. The other leader in that group finally deliver the source words to the intended person. Recall the multi-hopping method, this scenario merely same in the leader-motes communication, with pretty small differences compared to the MTE method. Comparably, this kind of message passing can be shown as: source mote –> leader motes (from a group of intermediate motes) –> destination mote, and in WSN terminology, it is known as Clustering; it is a grouped multi-hop message passing.

In conclusion, these are kind of protocols exist in human and motes communication with one similar objective: to successfully convey messages to the others. However, the process is not as simple as it may be seen, due to an ‘external forces’ the conveyed words may experienced while in the transmission. We will see that in my next blog … cheers.

WSN ‘Word Power’

Wireless sensor network’s state-of-the-art is all about ‘Interaction‘. This is one of the word power in WSN dictionary. As humans interact to convey messages and information, so do motes. Messages speak by humans is in a form of sound, it can be heard but cannot be seen. Synonymy, messages transmitted by motes is in a form of signals (electromagnetic wave emittance), it can be sensed but cannot be seen. Analogically, in a sense of interaction, motes and humans live the same purpose; a message spoke by someone has to be understood by the other to establish interaction.

All three main components of WSN, the sensing, communication, and processing are all meant to support the needs for motes interaction. Sensing task of a mote gather surrounding data and need to pass the data to other motes to realise interaction! Communication task of a mote transmit-and-receive data between motes also to realise interaction. Similarly, processing task of a mote store-and-buffer data within a mote also serve to realise interaction. Therefore, as it can be seen, interaction success is the key blueprint of any WSN setup in any application field.

Why wireless sensor networks? (Part 3)

WSN has a niche contribution to the farming industry. Smart farming for agriculture using WSN offers intelligent monitoring where an instant information of soil and nutrient condition are updated to the remote observer for further analysis. Consider a situation where a farmer get notified through smart phone of his farm’s soil moistness while having lunch with co-workers at the restaurant. He can then learn which sections of the farm are over-watered or under-watered, and can justify how much water needed to be poured to the farm soil as soon as returning back to the farm. He can even have a full picture of the overall status of the soil moisture thus preparing a daily, weekly, or monthly planting plan on his farming. He can also budgeting cost of resources and supplies needed to keep the plants grow fresh and healthy. In an event of a pest threats, the supported of WSN technologies to the farming helps alerting the farmer should they may harm all plants life. Moreover, since the very beginning of the threats inception, the farmer already know how to protect and what to encounter. These WSN applications benefit most to overall farming production while reducing maintenance cost.

The easiest way to run ctp-castalia on Castalia OMNeT++ Simulator (.ova VM)

Just download the compressed VM ova file which has pre-installed with a flavor of CtpCastalia-beta1.1 + Castalia 3.2 + OMNeT++ 4.2.2 + Ubuntu 12.04.5 LTS 64 bit.

I have tested this VM to be run under Virtualbox 6.1, but I am certain it can also be executed on a higher version. Note that the file is about 4 GB size and during installation it requires about 9 GB of disk space.

Use these credentials (user/root) to login to the Ubuntu OS:

Login: omnetpp, Passwd: omnetpp

Click this link to download the OVA file:



Install CTP (Collection Tree Protocol – ver CtpCastalia-beta-1.1) Routing Scheme on Castalia 3.2 / OMNeT++ 4.2.2 / Ubuntu 12.04.5 LTS 64 bit

Note that the installation ONLY success on the given version of software: Ubuntu 12.04.5-LTS 64 bit, OMNeT++ 4.2.2, Castalia 3.2, and CtpCastalia-beta-1.1 .

I have tested on other version combinations, but NONE works.

Follow steps guided in the linked file and you should be able to successfully run the CTP Castalia.

Hope this help.

Follow guide in this file: Install ctp-castalia on Castalia-3.2

Experienced Share: Installing ctp-castalia (CtpCastalia-beta-1.1) on OMNeT++ (Ubuntu 12.04.5-LTS 64 bit, OMNeT++ 4.2.2, Castalia 3.2)

I have recently researched on tree routing protocol in WSN. I had analysed the CTP routing protocol under TinyOS’s nesC programming, however, due to some limitations the built-in TOSSIM simulator has to offer on energy and radio modeling and in graphical analysis, and after doing some research, I found that the WSN’s CTP on Castalia simulator just serve the purpose.

However, the intriguing part is that the CTP routing version ported on Castalia are developed few years back in 2011 with the existing tools on that particular year. Meaning to say, in short, I have to use the same old tools for today. But, I had done some trial and error to answer my curiosity question I had in mind: ‘I need latest tools. Why should I use tools that are already 9 years old while some of its features already obsolete? What if the Castalia’s CTP make to test run in latest tools (latest version of ubuntu, omnet++, castalia)? Can it be successfully compiled?’

Therefore, I had for more than a week mingling with the versions mixture of ubuntu, omnet++, and castalia, for example I have tried tenth of tenth combination of version among these tools, for example ubuntu 18 + omnet++ 4.6 + castalia 3.2, or ubuntu 16 + omnet++ 4.2, castalia 3.0, ubuntu 10 (even the distro already not supported) + omnet++ 4.2.2 + castalia 3.2, ubuntu 14 + omnet++ 4.2.2 + castalia 3.0/3.2, but NONE works..I do get similar error during the make process such as the TosEnvironment.h error, dynamic argument error, bison compile error, gcc compile error, etc.

However, after almost give up on everything, finally after many trials and errors, I found that the only mixture that works for me is this combination: Ubuntu 12.04.5-LTS 64 bit, OMNeT++ 4.2.2, Castalia 3.2..even I have to satisfy myself of using not the latest tools in a rack! In particular, this combination are using these versions of software: java openjdk-6-jdk 1.6.0_41, java jre 1.6.0_41, gcc/g++ 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5), python 2.7.3, bison (GNU) 2.5, perl v5.14.2, flex 2.5.35, tcl/tk 8.5. Try this, and finger cross, you get the ctp-castalia compiled and run success for you.

I believe someone out there does struggle the same experienced I had and I hope that this note helps them find the exit road!

Particular links to the download:

1. Ubuntu 12.04.5 LTS 64 bit:

2. OMNeT++ 4.2.2:

3. Castalia 3.2:

4. Ctp-Castalia-beta-1.1:

Why wireless sensor networks? (Part 2)

Wireless sensor networks is part of the recent compelling IoT technology. Motes consists in WSN structure are said to be smart in such a way that they have capabilities to provide real-time monitoring to life-beings and things around, without time and place restriction. One such example can be seen in weather monitoring application where a group of motes cohesively gather temperature and humidity data in an area with high risk of disaster that threatening human life. An extreme temperature rising or temperature drop could spark fire or deep freeze which lead to unintentional disaster. Recent tragedy of a record-breaking 8.4 hectares bush-fires (an area larger than Scotland) occurs in many districts of Australia had destroyed thousands of homes and life, and endangered many forest wildlife for existence. This climate crisis however, can be stopped or even prevented with the use of technology such as WSN. Motes of WSN could be deployed in the forest area with highly likely risk of fire to monitor temperature and humidity condition. A series of a steady increment of temperature detected in the area are instantly reported and alerted to the remote observer. Interestingly, in a WSN-IoT setup, the sensing data are channeled to a data store in network cloud, and are graphically viewed as continuous pattern to enable direct analysis on the data. This is just a small cost-effective setup but with a significant impact: prevent of fire event, or stop the spreading of forest burning after the very first fire has sparked.

Why wireless sensor networks? (Part 1)

Wireless Sensor Networks (WSN) are developed on the intention to solve and remedy some of the life-threatening problems of the life-being. Three main application areas of WSN are tracking, monitoring, and controlling.

A group of ten of hundreds of motes (sensor devices) are used in jungle tracking application to track the movement of wildlife in a jungle. Apart of being dangerous, no one is willing to stay and watch to keep track of animal where-about all day long in the jungle. However, with the use of a swarm of motes, this can be made possible. In one simple application, for example, in tracking a critically endangered Malayan tiger species which is one of the smallest species of tiger and now only has about 250 to 340 count in existence, a mote is attached to the body of the tiger and periodically transmits location-based signals to nearby motes in range. This information is hopped over to main receiver (usually called base-station) located in the same area. The base-station is physically similar to other motes but has capabilities to connect to the Internet so any signals reached to it, can directly be sent to a remote observer. Any signals failed to reach the observer in timely manner indicates a lost tracks to the animal, which subsequently suggests some bad things happened to the tiger and need further investigation. The application can be made even more inspiring by evaluating different walking or running speed of the tiger. Simple logic is that highest running frequency speed can suggestively indicates the tiger is chased by predatory animals while dormant frequency means the tiger is in unnecessary deep sleep state or in critical situation of body injury. This simple application of WSN helps preserve invaluable nature life and keeping the universe safely in balance.

Sensor networks routing

Sensor networks is a type of ad hoc networks consists of a flock number of resource-constrained devices called motes operated in environment where human intervention may not be possible. As motes cooperatively communicate by passing messages with each other, thus there is a stringent need to keep the messages successfully delivered to the intended recipient. The task of this need managed by the routing manager of the network called routing protocol. Among many important tasks handled by routing protocol are determine which route the message should take next, whether the same messages should be re-transmitted, eliminating duplicate messages, increase the rate of messages transmission rate, and repairing broken and missing links of the networks.

Without a proper routing management, messages are hardly been delivered to the destination. Therefore, sensor networks routing is one of the essential component that build the networks for communication success.

Install TinyOS-2.1.1 – The easiest way

Either you are using Windows, or Mac, you can install and straight away start to use Tinyos-2.1.1 on Ubuntu 14.04.5 LTS-32-bit, the EASIEST way! Simply download the ova file below and import it in your VirtualBox VM:


Follow the steps in the guide from the link below to start programming Wireless Sensor Networks!

GUIDE: Install-TinyOS-2.1.1-on-Ubuntu-14045-LTS-32-bit-using-VirtualBox-ova-Image