Internet Of Things (IoT) Series - Make Things Talk


Internet of Things (IoT) series – is a three-part series on the Internet of Things. In this series of blogs, I will discuss what IoT is and how to make things communicate. Here, I will explain about the tiny computers which would help things communicate. Please go through the first part of the series at the following link.

Getting Started

Here, we will discuss how to make things communicate; i.e., how to make things tell what they know, what they see and feel or hear.

To understand this better, let's first understand how humans communicate with others – Humans tell what’s going on around them by using their senses – Hear, See, Touch, Smell, and Taste – Humans use these 5 senses for gathering information and this information is sent to the human brain for analyzing. The brain analyzes this information and provides results. Then, humans respond accordingly (speak, write or move, cry, laugh etc.).

In short – Humans use their senses to analyze and respond accordingly to communicate with the outside world. There are three important things here – sense, analyze, and respond in a certain way.

To make “THINGS” that can Sense and Respond (in order to communicate) to the world around them is called – Physical Computing - It’s a science of building interactive systems for communicating with the outside world.
So, to make the “Things” able to communicate so that they are part of IoT, they need to use small devices called Sensors.

Sensors are small (tiny) and easy to use electronic devices which when attached to things, make things sense what’s going on in the world around them, and therefore, communicate what they can see, hear, and feel.

There are different types of sensors as described in the following table..

Srno Sensor Use Sense
1 Light Sensor Use to sense light – bright light or day (See)
2 Proximity Sensor To measure distance of objects -- how near or far. (See)
3 Pressure Sensor To measure the pressure (Feel)
4 Heat Sensor To measure heat or cold (Feel)
5 Motion Sensor To measure the speed / how fast object is moving (Feel)




Now that we know the use of sensors, we can make things sense.

The second part is Analyze.

For analyzing the information that is sent by the things using sensors, we cannot use the normal computer / desktop because a desktop computer is UBIQUITIOUS i.e. it has a standard input and output (files, keyboard, mouse, touch, print, screen etc.) and it takes information from fixed input, processes it, and gives the result to the standard output.

As a desktop computer / machine does not have an interface to connect a sensor as input and analyze the result to provide a response, Micro-Controllers came into picture and they were used to connect the Sensors.

Micro-Controllers are small computers that can interact with Sensors using the pins (GPIO pins) on them. These pins are used to attach the sensor for reading the info, which is then analyzed using a pre-stored program to provide a response. The GPIO (General Purpose Input Out) pins are used to connect a large variety of sensors. These pins are configurable based on the need, and they can be converted to input or output as required.

The Micro-Controllers have programs stored inside them, using an assembly language. These programs analyze the input coming from the sensors and provide a response. The response in not a normal output which we get from normal computers and so. In the physical computing world, it is called Actuators. So, in Micro-Controllers world, Input is Sensors and Output is Actuators.

If you think again, there still exists a big problem with Micro-Controllers because Micro-Controller programs are written using low level assembly language which is difficult to write and very difficult to understand. There was a need for special computers which are able to connect to the sensors, are easy to program (code using simple human readable programming language) for analysis, and provide a response (actuators) back in the form which sensors as well as humans can understand for taking next steps.

The solution to this problem is a small tiny computer with just the CPU, Main Memory, and GPIO pins, and that does not have any secondary Memory or standard input or output devices. These computers are called the Raspberry Pi and the Arduino.
Raspberry Pi
In the next article, we will discuss tiny computers, Raspberry Pi and Arduino.

Here is the link of this blog posted on my personal website.