Book Image

Internet of Things with Raspberry Pi 3

By : Maneesh Rao
Book Image

Internet of Things with Raspberry Pi 3

By: Maneesh Rao

Overview of this book

This book is designed to introduce you to IoT and Raspberry Pi 3. It will help you create interesting projects, such as setting up a weather station and measuring temperature and humidity using sensors; it will also show you how to send sensor data to cloud for visualization in real-time. Then we shift our focus to leveraging IoT for accomplishing complex tasks, such as facial recognition using the Raspberry Pi camera module, AWS Rekognition, and the AWS S3 service. Furthermore, you will master security aspects by building a security surveillance system to protect your premises from intruders using Raspberry Pi, a camera, motion sensors, and AWS Cloud. We'll also create a real-world project by building a Wi-Fi – controlled robot car with Raspberry Pi using a motor driver circuit, DC motor, and a web application. This book is a must-have as it provides a practical overview of IoT’s existing architectures, communication protocols, and security threats at the software and hardware levels—security being the most important aspect of IoT.
Table of Contents (11 chapters)

Understanding IoT

Looking back at the last few years, it can be observed that the Internet of Things (hereafter IoT) has become one of the most revolutionary technologies for research and development. It has opened the floodgates for numerous upcoming business models and assists in reinventing existing businesses.

But what is IoT, anyway? Why has it been called a new technological revolution? Who invented it, and when? What are its applications? Does it really hold the potential to change our lives? We will answer all such questions in this book, not just theoretically but in a DIY way. Yes, that's the best way to learn IoT.

Defining IoT

IoT is not just technology; it is the concept of a whole new world where physical things such as cars, homes, buildings, and other components of cities have the ability to connect to the internet and interact among themselves and with humans as well. In short, it is a smart and connected world.

IoT is a phenomenon that can only be described and not defined as it is an inclusive technology that has unlimited boundaries.

A physical device in an IoT ecosystem is also called a thing or smart thing. A thing can be any device with one or more of the following features:

  • Sensors (temperature, humidity, motion detector)
  • Communication (wired or wireless)
  • Actuators (motor, relay, display)
  • Controller or processor (for computations, running software)

A few examples of things are:

  • Tags such as NFC, RFID, and QR code, which are computer-readable and used to identify objects
  • Devices such as iBeacon, Arduino, and Raspberry Pi, which have built in controllers/processors and communication channels such as Bluetooth, Wi-Fi, Ethernet, and so on
  • Machines such as cars, bikes, AC units, and washing machines that can work autonomously
  • Infrastructure such as smart-connected factories, smart-connected buildings, and smart cities

Architecture of an IoT ecosystem

Let's understand how an IoT ecosystem works with the help of an example.

Mr. Ghanshyam is the owner of a Cargo company that has a large number of trucks as part of its fleet. They provide transportation services to various other businesses across the country. Lately, he has been incurring losses in his business due to various reasons that he has not been able to identify and rectify.

His son Shyam, who works as an IoT engineer, gets to know about his father's business condition and decides to come down and assist him. He works with him over the next few months and observes a few major issues that are incurring losses. A few of the issues are listed here:

  • High fuel consumption
  • High maintenance costs
  • Delivery delays
  • High accident rates

Shyam, being an IoT engineer, knew what needed to be done to make the business profitable and easy to manage. Let's see what steps were carried out.

Shyam converted all the trucks of fleet into smart and connected one by fitting them with various sensors to measure vital stats such as fuel level, tyre pressure, engine condition, temperature, and others. Controllers were used to perform actions as per requirements, such as turning on lights when the sun set, turning on wipers when it rained, alerting drivers, and sending important information to the cloud with the help of Wi-Fi/GPRS/GPS modules over the internet. Cameras and other such devices were used to keep an eye on driver performance to get real-time data from a truck, as shown in the following figure:

A mobile application was developed to help drivers monitor the truck's condition in real time, navigate via the best route, and receive alert notifications and job/task assignments.

An admin/control panel application was also developed and was used at the command center by managers and operators to monitor all moving trucks, which were sending real-time data over the internet. This facilitated better fleet management in the following ways:

  • Monitoring a truck's route to its destination; if the driver is going to a suspicious location, the engine can be turned off remotely.
  • Monitoring the driver's conduct with the help of a camera inside his cabin. This avoids incidents of sleeping or talking over the phone while driving and sends an alert immediately.
  • Navigating to nearby service stations in the case of a breakdown:

After taking all of the above measures the old fleet had now been converted into smart and connected fleet. The following figure helps us understand the architecture of the IoT solution deployed by Shyam:

Let's see how smart and connected fleets made Mr. Ghanshyam's business profitable:

  • Fuel efficiency: Data received regarding braking, shifting gears, and speed helped to establish and improve the driving style of each driver, which in turn improved fuel efficiency. Also, checking on fuel levels periodically helped to curb incidents of fuel theft, which in turn reduced overall fuel cost.
  • Maintenance costs and delivery delays: The sensors installed in each truck send vital information about engine health, brakes, electrical systems, and oil levels. This helps the operator to maintain the overall health of the vehicle through timely and preventive maintenance, hence reducing frequent breakdowns and delays, leading to substantial cost savings.
  • Improved safety: Monitoring the driver's conduct using cameras and other sensor data helped detect aggressive, careless, and improper driving, which is always a threat to driver and vehicle safety. This data could be used to alert the driver, hold him accountable, and provide proper training for future improvement.
  • Route optimization: By tracking a vehicle's current location and traffic condition using GPS, the shortest and best route could be suggested , resulting in the vehicle reaching its destination in the minimum time, reducing fuel cost, and saving time so more deliveries can be made and in turn increasing profits.
  • Environmental impact: With improved vehicle conditions and taking an optimized route, lesser fuel is used, leading to less emissions of harmful gases.

Let's now look at the generalized architecture of an IoT ecosystem in the following figure. Here, we also explain the components of this architecture, such as what each component is, what role it plays, and how it is integrated with other components in the whole architecture:

The following is a brief explanation of the general IoT architecture:

  • Sensors, tags, and microchips are end devices in the system that observe the environment and provide information about it.
  • Connection management takes care of maintaining connectivity between end devices and the user/platform through various protocols such as HTTP, MQTT, and AQMP over the internet, and using Bluetooth and radio frequencies as well.
  • Real-time data management helps collect and store data received from end devices in the database, which may be relational or NoSQL based on the type of data.
  • Security and access control prevents unauthorized users getting access to the system, which then may be misused. Security is one of the most important building blocks in an IoT ecosystem; neglecting it may cause huge losses for enterprises and individuals.
  • Cloud platforms facilitate the scalability, availability, and accessibility of the whole system with minimum downtime, which is very critical for a connected system.
  • Administration and analytics components use all the data provided by a device to understand the behavior of the device and end user, which further helps in improving the service, performing preventive maintenance, and providing necessary alerts and notifications.
  • Integration with other platforms such as social media, BI, and CMS, and enterprise and supply chain helps to bridge the gap between different segments of business.
  • Developer tools help third parties to integrate their existing system seamlessly.