Introduction to IOT with Machine Learning and Image Processing using Raspberry Pi
Introduction to IOT with Machine Learning and Image Processing using Raspberry Pi
Reasonable efforts have been made to publish reliable data and information, but the author and
publisher cannot assume responsibility for the validity of all materials or the consequences of their
use. The authors and publishers have attempted to trace the copyright holders of all material
reproduced in this publication and apologize to copyright holders if permission to publish in this
form has not been obtained. If any copyright material has not been acknowledged please write and
let us know so we may rectify in any future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced,
transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or
hereafter invented, including photocopying, microfilming, and recording, or in any information
storage or retrieval system, without written permission from the publishers.
For permission to photocopy or use material electronically from this work, access www.copyright.com
or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-
750-8400. For works that are not available on CCC please contact [email protected]
Trademark notice: Product or corporate names may be trademarks or registered trademarks, and
are used only for identification and explanation without intent to infringe.
Contents
Authors, vii
CHAPTER 1 ■ Introduction 1
BIBLIOGRAPHY, 151
INDEX, 153
v
Authors
vii
CHAPTER 1
Introduction
I n the last three decades, technology has changed the way we live our
lives. This happens to be a universally accepted truth. In this book, we
attempt to illustrate the use of a new technology that has changed the
world of communication, computing and computing education. Interest-
ingly, the name of this technology coincides with that of a famous dessert
named Raspberry Pie. Raspberry Pi is a single board computer developed
in the United Kingdom. Incidentally, the organization that started this is
known as the Raspberry Pi Foundation. This was first launched in
the year 2012.
By the year 2015, Raspberry Pi had gained wide-scale popularity. One of
the key features of this technology was its size and adaptability. In some
strange ways, Raspberry Pi was the panacea the world of technology was
dreaming of. To build on this idea of a tiny computer, one must consider
the fact that more than a decade ago you would have computer programs
running on desktops wired to electromechanical systems that would use
them. The advent of the Raspberry Pi enables the community of technology
developers to innovate handheld devices than can encompass the power of
regular computers. Our intention in writing this book is twofold: a) we
want to provide a basic understanding of how a Raspberry Pi can be used
for simple applications, and b) we want to provide fundamental informa-
tion on how a Raspberry Pi can be used to advance innovations in machine
learning and image recognition.
While providing fundamental information on Raspberry Pi, we will
help students comprehend the necessary information required to develop
1
2 ■ IoT using Raspberry Pi
applications and devices. These devices and applications can have a wide
range of applications such as networking devices, using devices and
applications related to privacy and security, creating medical applications
and developing sensors. The authors believe that this range of applica-
tions will help the scientific community adapt Raspberry Pi for use in
some of their projects and thereby enhance its usability.
Additionally, the authors are attempting to present information on
how Raspberry Pi can successfully implement machine learning and
image processing. The information presented in this book will help the
community of researchers synthesize new scientific methods, algo-
rithms, devices and other forms of technology into a wide range of
application domains. The authors envision Raspberry Pi advancing the
development of science and technology across various user domains
such as medicine, security, communication, and the military. Last but
not least, it is our attempt to have this book used as study material for
courses teaching students about using Raspberry Pi. It is our under-
standing that Raspberry Pi can be used extensively in healthcare informa-
tion systems.
In this book, the authors present a transformative interdisciplinary
perspective of Raspberry Pi usage. This idea is based on the philosophy of
transformative transdisciplinary perspective presented by the founding
fathers of Society for Design and Process Science [1]. This philosophy is
based on bringing about a positive transformative change to one domain
by making changes or improvements in another. This philosophy is
applicable to Raspberry Pi because rapid improvements in Raspberry Pi
and its applicability will facilitate and create a rostrum for improvements
in all the domains in which this device can be used. One example will be
the implementation of machine learning algorithms that can aid image
processing. In this book, the authors have dwelled on some of the
fundamental programming concepts that are needed for image analysis
and machine learning. This is another very important reason this book is
needed for its targeted audience.
While we engage ourselves in recognizing the importance of the Rasp-
berry Pi, it is also important to note that Raspberry Pi has competitors or
alternatives available in the market. A brief summary of these alternatives is
listed in Table 1.1.
This book is divided into five chapters. The first chapter provides some
introductory material on Raspberry Pi and a brief introduction to the
Introduction ■ 3
authors. The second chapter explains different types of Raspberry Pis and
provides the reader with important information on the slots and other
necessary elements of the Raspberry Pi. An explanation on these elements
or parts is essential from a usability perspective. It also provides instruc-
tions on installing the operating system Raspbian [3] on Raspberry Pi.
Additionally, it provides some information on peripheral devices and the
ways in which they can be used with the Raspberry Pi.
The importance of using Raspbian dwells in the idea that installing and
using this operating system is a necessary step in the synthesis of systems
and applications. Raspbian is a freely available operating system for the
Raspberry Pi. It is important to note that Raspbian is not affiliated with the
Raspberry Pi Foundation. Raspbian is a community-funded development
effort as was the case in the early days of the Linux operating system.
Interestingly, Raspbian is a Linux distribution built with the Linux operating
system. Raspbian was first released in the year 2012.
The third chapter explains the elements of Python programming [4]
that are essential with respect to using Raspberry Pi. Here the authors
dwell on esoteric programming details that are needed for successful
Raspberry Pi application. These details include matrix operations, Cholesky
4 ■ IoT using Raspberry Pi
REFERENCES
[1] Society for Design and Process Science Official Website [Online]. Available:
www.sdpsnet.org/sdps/. Accessed: 09/24/2019.
[2] Electromaker [Online]. Available: www.electromaker.io/blog/article/10-
best-raspberry-pi-alternatives. Accessed: 09/24/2019.
[3] Raspbian [Online]. Available: www.raspbian.org/RaspbianImages
[4] S.A. Kulkarni, Problem Solving and Python Programming, YesDee Publish-
ers, Chennai, India, 2017.
Bibliography
[1]. Derek Molloy, Exploring Raspberry Pi: Interfacing to the Real World with Embedded
Linux, Wiley Publication,United States, 2016.
[2]. Steven Lawrence Fernandes, Raspberry Pi 3 Cookbook for Python Programmers:
Unleash the Potential of Raspberry Pi 3 with Over 100 Recipes, 3rd Edition, Packt
Publications, United Kingdom, 2018.
[3]. Leonard Eddison, Raspberry Pi: A Step by Step Guide for Beginners, CreateSpace
Independent Publishing Platform, 2018.
[4]. Claus Fuhrer, Jan Erik Solem and Olivier Verdier, Scientific Computing with Python 3,
Packt Publications, United Kingdom, 2016.
[5]. Shrirang Ambaji Kulkarni, Problem Solving and Python Programming, yesdee Publica-
tions, India, 2019.
[6]. Andreas C. Müller and Sarah Guido, Introduction to Machine Learning with Python:
A Guide for Data Scientists, 1st Edition, O’Reilly Publication, United States, 2016.
[7]. Sebastian Raschka, Python Machine Learning, Packt Publications, United Kingdom,
2015.
[8]. Peter Harrington, Machine Learning in Action, Manning Publication, 2012.