Connected (IoT) Machines have conquered the world in a way humanity has never undertaken before. That ’s not a phrase from the Terminator movies, it’s just the reality of nowadays.
Statistics show that the number of connected devices in 2018 is 23+ billions. This is almost 3 times the number of humans which is 7.6 at the time of writing this blog!
Furthermore, this number is increasing and is forecasted to reach 75+ billion in the next decade.
And you can see how fast is the growth of the IoT devices from this image:
Even more, the biggest corporates are turning their attention to the IoT technology with a massive investment. That investment was about 157 billion $ in 2016 and is expected to reach 457 billion $ through the upcoming 2 years.
Hence, IoT isn’t just another technology trend that many companies would like to follow. It’s a huge business oriented technology that we should give it our respect and attention too.
And yes, we as makers and tech geeks can taste a piece, actually a large piece of this technology. We will do that by getting our hands dirty with some open source platforms that allow us to make IoT projects.
So, we will see how we can make use of this technology from the scope of makers and individual tech geeks.
But before we get into how we can make projects using the IoT-based open source hardware tools and software platforms.
Let’s talk a bit about what actually IoT is and how it works.
The first IoT blog of a series of IoT Blogs
So, in this blog, we will take about IoT and how it works. Furthermore, in upcoming blogs, we will make IoT easy and fun projects using open source hardware and software. So yes, we are making a series of blogs talking about IoT concepts and IoT projects tutorials. And this is the first one, so let’s start.
What is IoT?
Internet of things is simply things or another meaning, devices are connected together with the internet. This connectivity allows them to be online all the time to share data between them, analyze it and make automated and real-time decisions based on these data.
That was the simple definition of the term IoT. But to understand it more from the technical approach, let’s give some examples of IoT-based projects.
IoT Example scenario:
Somewhere, there is a patient alone in his room within his home. And he has many medical devices connected to his body. These devices are just sensors for, let’s say blood pressure, heartbeat, body temperature, breath rate .. etc.
Once the patient control monitor – which is connected to the internet of course – detects a beginning of heart attack, it sends this information with his location and medical record to the cloud network (we will see later how this happens) over the internet where all other devices and systems those are connected to this network will receive this information.
Hospital is connected, then emergency doctors will get a detailed medical record about this patient health and his current medical status to be able to perform the medical procedures quickly once the ambulance delivers them that patient without that normal delay caused by extra examinations to know the patient health status.
All ambulances are connected, then the nearest one will get that information too and hurry up to the patient location they got from the network and deliver the patient as fast as possible to the hospital.
All these actions will happen:
In real time
And this may give the patient more time and may save his life, eventually.
All these above 4 elements are the most important features about IoT that makes it a huge step in how machines operate and interact.
Another common and exist example is the connected fridge. Once it’s embedded sensors and collected data detects that there is no more milk in it, it takes an action and inform the online market I want to purchase a milk now.
That’s because both the fridge device and the market system are connected to the internet.
To get it more clear, when you buy a coffee machine that is not connected to the internet “or in another word, can’t communicate with other devices over the internet” then we can say that it’s a normal coffee machine.
Once it’s a modern type that can be connected to your wifi network and be online so that it can be controlled by another device that is online too “and such coffee machines really exist now”, then we can say that it’s an IoT based device.
Before we go deeply into the know-how of “Internet of things”, let’s talk a little about the term: “Internet of people!”. That’s because once you detect the difference between these two terms, you will understand the IoT easily and quickly.
Internet of People:
I believe that to understand something pretty well, the best thing is to get an opposite of it with something that’s in the same field but with a different meaning, which why I mentioned the Internet of People.
The Internet has been there for a few decades allowing people to communicate with each other around the world using what is called: Internet. So, the Internet is the guy responsible for enabling people to communicate with each other.
Certainly, this is enabled through PC, laptop, tablet, phone or even smart watches or whatever device that has an interactive screen and an internet connection.
Hence, when man interacts with another man using the Internet to communicate with each other, we call this the “Internet of People”, which simply involves our daily chat, web browsing, email sending, … etc.
What if I told you that this isn’t enough at this age and we not only need people to communicate with machines or with each other via the Internet but also machines too!
That takes us to a whole new level of connectivity which is the connectivity of devices … The IoT.
So, briefly, IoT is about connecting things “machines” instead of connecting “people”.
Let’s get into the most important part of this blog which is how an IoT system actually works.
How does IoT work?
As we said, IoT is just a term that describes connected devices over the internet where there is some online network these devices all are communicating with. Finally, users can monitor, manage and control his devices through an application may be a mobile App or Web App.
Yes, these 4 underlined words are what makes a system an IoT-based system!
What are the components of an IoT system?
So, basically the Typical IoT system consists mainly of 4 parts as illustrated in the image below (Watson is an IBM cloud software that works as an IoT platform):
These are just hardware devices each has one or more sensor to detect the environmental parameter and send them to the cloud network on the internet. The next element is the guy who responsible for the internet connectivity.
2. Internet Connectivity:
It’s just a communication portal to allow devices being online. Surely, the most popular one is the wifi where it has become widely embedded in most IoT devices to allow them to connect to the internet.
Another method is the ethernet, but it’s rarely used nowadays in IoT applications.
Here comes the most important and confusing part of the IoT system.
Simply, IoT platform is the online network part of the IoT system. But it’s not only just a network that exists on the internet and collects the devices, but also a smart guy that user can depend on him to manage the whole IoT system.
Do you remember the patient and hospital example? And the alert that the patient monitor sent to the online network? It’s the platform that received the alarm and informed the hospital and the ambulance with the information and required procedures that they should take.
So, basically, an IoT platform is a software that’s hosted in the cloud and is responsible for the following:
Connecting the devices (not to the internet, but to one specific area online which is the cloud network itself)
Collecting and analyzing the data which sensors/devices are sending to it
Monitoring, screening, analyzing and computing these collected data
Storing the data for processing and monitoring purposes
Working with different data exchange protocols (we will talk about this at the end of the blog)
Integration with the applications (online services, web apps, mobile apps, ..etc).
Hence, we can say that a modern IoT platform that the biggest tech companies provide should have these 8 features as in this image:
Here comes the most beautiful part of the whole IoT system. Devices are theoretically connected to each other, but practically they are not.
That means they send and receive data through the IoT platform and whenever the user wants to configure a device he has to interact with a GUI application that will talk to the IoT platform which will talk to the devices.
For example, you have a GPS sensor in your car that sends data to the platform. And also have an air conditioner that’s connected to the platform too.
A typical scenario that may happen is your platform gets the data and your mobile phone App asks the platform for this data and you get it. Then you set the threshold distance of your location which when the platform receives from the GPS sensor inform the air conditioner to turn on.
Of course, you are monitoring all these data, visualize them and control the actions your system takes by using your smartphone, .. the Application element that interacts with the platform.
Another scenario is to turn the air conditioner by yourself. Hence you are taking the action instead of the platform. In other words, you are not only can monitor your devices, but also manage them.
But a logical question here would be why this long and indirect process?
Why can’t users directly communicate with the devices without the need of the platform and the application?
Actually, they can but this is considered as a small application of the IoT, not what enterprises use.
If you have a little number of connected devices, then you can go without the platform and achieve this by making both 2 devices talk to each other directly. Hence you can achieve the above both scenario:
Take decisions automatically
Or use an application to control your devices manually through the internet
And in the upcoming blogs, we are going to make small projects without using a platform. That’s because we want to simplify the IoT concepts and make it easy for makers, like us to make IoT-based applications.
Is controlling things using the internet without a platform and other connected devices considered as IoT?
That’s one of the most confusing questions came up to my head.
So, I searched a lot and let me tell you that the answer is sure … YES!
For example, you have a lamp that’s connected to the internet then you are making an IoT stuff here whether you are going to control the bulb automatically by letting it listen to outside dark sensor data or even manually with an application on your smartphone.
And that’s what we will do in our upcoming blogs and tutorials of this IoT blogs series.
So, we know now what is IoT,
Then, we saw some examples,
knew how it works,
And what IoT system components are.
But we still didn’t mention that after these devices connect to the internet, how they will communicate with the cloud platform.
In other words,
what are the IoT protocols that these connected devices use to send and receive data over the internet with the platform?
Similar to web browsers usage of HTTP protocol to communicate with the servers on the internet, IoT devices/sensors use specific protocols to communicate (send and receive data) over the internet, like:
CoAP (Constrained Application Protocol)
AMQP (Advanced Message Queuing Protocol)
DDS (Data Distribution Service)
STOMP (Simple Text Oriented Messaging Protocol)
MQTT (Message Queue Telemetry Transport): It is a nice lightweight publish and subscribe system where you can publish and receive messages as a client.
MQTT is the most used protocol in IoT projects since it’s fast, lightweight and easy to implement in hardware devices. We are going to fully depend on it when making IoT tutorials in the upcoming blogs.
In the next blog, we are going to understand how MQTT work in details with a practical example.
And more are there on Youtube. Just search for IoT devices and I am sure you will get impressed with the capabilities of these amazing connected internet devices.
IoT is changing the shape of the world we are experiencing now. As a result, it has made big companies more powerful and more oriented with the way they can lead the technology industry. Also racing their competitors to produce more and more smart and connected devices.
We – makers- love this technology. That’s why we have written this blog to demonstrate some concepts about the IoT and its methodology of working.
We will not stop here and will continue this IoT blogs series to taste more and more of this technology. So, we will achieve this through the upcoming tutorials based on hands-on IoT projects.
But for now, just see the next blog about the MQTT and how it works, from here.
If you liked this blog and found it helpful, please let me know in the comments below.
statista.com, worldometers.info, forbes.com, pixabay.com for image sources, iotforall.com, iot-analytics.com.
If you liked this blog, kindly let me know in the comments below 🙂
And keep ready for the upcoming IoT blogs and tutorials.
An Arduino Temperature Humidity System is one of the most popular projects that most of us have tried or even saw before. It’s because of the ease of use of this DHT sensors those which give pretty accurate temperature and the humidity readings with a bit code. But as another tutorial of this continuous IoT …
Here we are again with another IoT tutorial using Arduino with 1Sheeld and just a smartphone. In previous tutorials, I have gone through controlling a lamp and fan using a phone and MQTT protocol. Today, I am going to get through another but more interesting IoT real-world project, controlling the Arduino Door Lock from …
Today, I have come with a new and quick IoT tutorial, IoT Fan Control! In a previous tutorial, I have gone through controlling a lamp using a phone and MQTT protocol. That was the first IoT tutorial using 1Sheel. Now, I am going to get through my second IoT real-world project. So, in this tutorial, …
Controlling things around us wirelessly is a common thing that Arduino geeks do all the time like Arduino Light Control projects using IR remote, Bluetooth, wifi or even RF modules. Certainly, this kind of projects is categorized under the home automation projects. But what if we have taken this to a whole different level where …
MQTT is one of the most common used in IoT projects. It stands for Message Queuing Telemetry Transport. It’s a lightweight messaging protocol that uses publish/subscribe operations to exchange data between clients and the server very fast and with low internet packets. And here in our second blog in the IoT Blog Series, we …