Internet of Things. What’s That?
An overview of the Internet of Things and why it’s awesome.
What’s Internet of Things all about?
Let’s see what Google has to say about this.
The Internet of Things is the extension of Internet connectivity into physical devices and everyday objects.
Blah, blah …
In layman’s terms, the Internet of Things represents a bunch of devices with a connection to the internet, where the types of devices can be one of these: sensors, actuators, microcontrollers, single-board computers (or let’s just call them “minicomputers”).
Sensors and actuators have the job to interact with the world. Sensors deliver information to the microcontroller which in turn can forward it to a place where it can be analyzed. The data can be sent either directly to a web service somewhere on the internet or indirectly – through a gateway which is usually a minicomputer.
Fundamentally, the idea of IoT is to automate everyday life and to deliver simplicity, comfort, efficiency by making everyday objects digitally represented.
“If you think that the internet has changed your life, think again. The Internet of Things is about to change it all over again!” — Brendan O’Brien
Sounds boring? Well, just wait …
Why is IoT so beautiful?
A lot of very interesting and innovative projects live out there. Let’s name a bunch of IoT segments with some of their corresponding projects.
You can have your car’s status embedded in your mobile phone. How cool is that? What if you forget if you locked the car or not? Well, you can always check through your mobile phone if it’s locked or unlocked and perform a remote locking/unlocking action if needed. Additionally, you can check the car’s location, remaining petrol, status of headlights, status of signal lights, etc. Furthermore, you can have some security features based on location, for an example – push notifications and alerts on the mobile phone whenever the car is unlocked and you’re not near it (basically, it means you’re being robbed) and many, many more useful use cases. If you love your car, you’ll find this pretty cool.
Daniel Gospodinow’s connected car solution.
A product which offers automobiles "connected car" features beyond those of the most modern and…
This is another interesting field of IoT. Smart home includes some of the following projects.
- Smart Boiler – Boilers in home often happen to have little to no hot water. Imagine you’re somewhere out and you want to shower when you return home. In order to avoid waiting for hot water, you’ll have to call someone at home to turn the boiler on, but what happens if the person you’re calling is also somewhere out? You’ll have to turn on the boiler by yourself when you return to your house. Afterwards, you’ll sit and wait for hot water while your cat is nearly dying from your stench, begging you with frequent meows to go and take a shower, because of that boilers can be designed to be accessed over the internet. This way, with the help of your mobile phone, you can check whether there is enough hot water or not and perform a remote action based on that. Some of the remote actions can be: turn boiler on; turn boiler off; schedule 1 hour of water boiling after 2 hours from now; etc.
- Smart Door Locks – It’s very convenient to have your doors at home unlock automatically when they sense you’re around. This removes the need to search for keys which is very useful when you have a ton of groceries in both hands. And this makes the chicks go wild so it’s a 10/10 must have. The door can sense you by your phone through Wi-Fi, Bluetooth or even NFC.
- Wi-Fi Bulbs – Yes, it sounds stupid, but if you’re lazy enough this can be useful.
- Elevators – Elevators can be easily monitored and maintained with the help of IoT devices and AI. This solution consists of continuous elevator sensor data delivery to the cloud and data analysis there. It ensures excellent elevator health status and removes the need of regular maintenance which can cost money. Maintenance will be done only at the moment when a problem in an elevator is predicted by AI.
- Parking slots – Free parking spaces in a building can be tracked and shown to visitors to save them time from roaming around searching for a free slot. This is a perfect scenario for a shopping mall.
- Traffic lights – Imagine a city in which the traffic lights can regulate themselves based on which roads are more congested. Everyone of us has experienced a meaningless wait at a traffic light, and yes ... it’s annoying. It would be wonderful if the traffic lights can sense which roads need to be on a red light and which don’t and regulate lights according to that. This can be accomplished with the help of cameras, computer vision and machine learning.
- Street lights– Everyone knows that at night all city lights are powered on in order to ensure visibility everywhere. But sometimes most of the lights waste energy and money to light up areas that no one is interested in. Street lights can be made to have lower brightness when no one is around and to increase brightness to a maximum as soon as presence is detected. Every street light can have a sensor for motion and a wireless module, this way neighbouring lights can communicate and notify each other if they sense presence. This allows every pedestrian, cyclist or car to have a wide enough circle of light while keeping areas that aren’t populated at dimmer light in order to save energy. At the end of the day, everyone has light in a much energy efficient way.
What’s so special about the IoT field?
If you’re a consumer IoT can automate your life and make everyday tasks quicker and more elegant to execute, just with a tap of a button on your mobile phone or some other action which requires the same amount of energy to accomplish. The examples above are quite the explanation for this. The simplicity, comfort and efficiency that IoT delivers is just outstanding. In addition to all that, most of the IoT solutions are more eco-friendly.
If you’re a developer, this is one of the fields in which you can totally go wild after completing a personal project. It’s very satisfying. This is, without a doubt, because you can see your code actually doing something in the real world. You create! You create something you can see and feel. Your code basically escapes the 2D monitor and transfers itself into the real world.
What skills are required for developing?
The world of IoT can often require a background in physics. To be more precise, from basic to intermediate knowledge of electrical engineering. You’d have to know a bit or two in order to establish a working connectivity between two or more devices.
And, needless to say, you’d also have to be familiar with some software engineering and computer science concepts: Programming, Operating Systems, Networking, Computer Architectures, etc.
Furthermore, most frequently used technologies for IoT can be divided into three categories based on the three main development branches in the IoT world.
- Device programming: Since we’re talking about hardware devices, you can guess that C and C++ languages are the main players here, especially when it comes to devices with low RAM and low CPU capabilities. This is due to the fact that with those languages you can write lightweight code with high performance.
How can you enter the IoT field?
Today, Arduino and RaspberryPi are the two leading IoT devices that are basically the heart of almost every project. If you manage to learn how those two things work and how they interact with other components, you’ll be mostly ready to jump in to your first IoT project. Combine that with some physics and programming skills that were mentioned above and you’ll have the power to make even Optimus Prime.
Now let’s make a simple comparison between the two devices. They have a lot of things in common, but nevertheless they’re totally different kinds of devices.
So the Arduino is said to be a microcontroller. This board’s main purpose is to manage lots of sensors and actuators efficiently. It can drive motors, switch relays, use sensors for humidity, temperature, Bluetooth, Wi-Fi and a ton more.
The Arduino is not quite the champion when it comes to computation power but still that’s not what it’s designed for.
Instead, it’s designed for effective orchestration of a wide variety of both sensors and actuators.
The RaspberryPi is a single-board computer or as I call it – minicomputer. It also has, like the Arduino, the capability to connect sensors, actuators and other controllers to itself but has very limited capabilities compared to a microcontroller. As we said, the RaspberryPi is a minicomputer, because of that it is mostly used for hosting some kind of service which communicates with both the controller and the cloud, essentially being the gateway between them.
Since the RaspberryPi is a computer, you can guess that it’s powerful enough to run relatively heavyweight programs and services. That’s exactly what its purpose is.
Overall, for an IoT project’s more hardware part an Arduino is used, whereas for the more software part a RaspberryPi is used.
To summarize, IoT is a fast growing industry, full of interesting ideas that will revolutionize the way we live our everyday lives, and being a part of all that, in one way or another, can be quite an enjoying experience.
Found this article useful? Smack the 👏 button! You can also follow me (Daniel Gospodinow) on Medium If you’ve liked my content.