In this 21st century, the internet plays an important role in our life because everything is connected to the internet today.
IoT refers to an Internet Of Things. Connecting any device (including everything from cell phones, vehicles, home appliances and other wearable embedded with sensors and actuators) with Internet so that these objects can exchange data with each other on a network.
It is interesting to note that there is a difference between IoT and Internet, it is the absence of human role. The IoT devices can create information about individual’s behaviours, analyse it, and take action (IoT is smarter than Internet :D)
Why is IoT so admirable?
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 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.
This is another interesting field of IoT. Smart home includes some of the following projects.
- Smart Boiler – Boilers at 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. Afterward, 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.
- Traffic lights – Imagine a city in which the traffic lights can regulate themselves based on which roads are more congested. Every one 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 neighboring 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 skills are required for developing?
The world of IoT can often require a background in physics. You’d have to know a bit, in order to establish a working connectivity between two or more devices. Basic things that everyone should bear in mind are Ohm’s Law, basic electrical components (LED, transistor, relay, diode, capacitor, etc).
- Software Engineering
You’d also have to familiar with some software engineering and computer science concepts: Programming, Operating Systems, Networking, etc.
Furthermore, the 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.
- Gateway development: A gateway is a physical device or software program that serves as the connection point between the cloud and controllers, sensors and intelligent devices. All data moving to the cloud, or vice versa, goes through the gateway, which can be either a dedicated hardware appliance or software program. An IoT gateway may also be referred to as an intelligent gateway or a control tier.
Today, Arduino and Raspberry Pi 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 into your first IoT project.
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 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 Raspberry Pi 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.
Hope this helps!!