John C. Shovic
Raspberry Pi IoT Projects
Prototyping Experiments for Makers
2nd ed.
Logo of the publisher
John C. Shovic
Spokane Valley, WA, USA
Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the books product page, located at www.apress.com/978-1-4842-6910-7 . For more detailed information, please visit http://www.apress.com/source-code .
ISBN 978-1-4842-6910-7 e-ISBN 978-1-4842-6911-4
https://doi.org/10.1007/978-1-4842-6911-4
John C. Shovic 2021
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This Apress imprint is published by the registered company APress Media, LLC part of Springer Nature.
The registered company address is: 1 New York Plaza, New York, NY 10004, U.S.A.
To my best friend Laurie and to my students that inspire me every day.
Introduction
The Internet of Things (IoT) is a complex concept made up of many computers and many communication paths. Some IoT devices are connected to the Internet and some are not. Some IoT devices form swarms that communicate among themselves. Some are designed for a single purpose, while some are more general-purpose computers. This book is designed to show you the IoT from the inside out. By building IoT devices, the reader will understand the basic concepts and will be able to innovate using the basics to create their own IoT applications.
These included projects will show the reader how to build their own IoT projects and to expand upon the examples shown. The importance of computer security in IoT devices is also discussed as well as various techniques for keeping the IoT safe from unauthorized users or hackers. The most important takeaway from this book is in building the projects yourself.
Chapters at a Glance
In this book, we build examples of all the major parts of simple and complex IoT devices.
In Chapter , the basic concepts of IoT are explained in basic terms, and you will learn what parts and tools are needed to start prototyping your own IoT devices.
In Chapter , youll learn how to sense the environment with electronics and that even the behavior of simple LightSwarm type of devices can be very unpredictable.
Chapter introduces important concepts about how to build real systems that can respond to power issues and programming errors by the use of good system design and watchdogs.
Chapter turns a Raspberry Pi into a battery-powered device that senses iBeacons and controls the lighting in a house while reporting your location to a server.
In Chapter , youll do IoT the way the big boys do by connecting to the IBM Bluemix IoT server and sending your biometric pulse rates for storage and display.
In Chapter , well build a small RFID inventory system and use standard protocols like MQTT to send information to a Raspberry Pi, a complete IoT product.
Chapter shows the dark side of the IoT, computer security. The way you protect your IoT device from hackers and network problems is the most difficult part of IoT device and system design.
Are you totally secure? You will never know. Plan for it.
The reference appendix provides resources for further study and suggestions for other projects.
Acknowledgments
I would like to acknowledge the hard work of the Apress editorial team in putting this book together. I would also like to acknowledge the hard work of the Raspberry Pi Foundation and the Arduino group for putting together products and communities that help to make the Internet of Things more accessible to the general public. Hurray for the democratization of technology! Of course, I have to mention my grandchildren (Lincoln, Hazel, Makenna and Madelyn) that I am constantly building projects to entertain and education them.
Table of Contents
About the Author
Dr. John C. Shovic
is currently a Professor of Computer Science at the University of Idaho specializing in AI and robotics. He is also Chief Technical Officer of SwitchDoc Labs, a company specializing in technical products for the Maker Movement and the IoT. He was also Chief Technology Strategist at Stratus Global Partners with a focus on supplying expertise in computer security regulatory and technical areas to health-care providers. He has worked in the industry for over 30 years and has founded seven companies: Advanced Hardware Architectures, TriGeo Network Security, Blue Water Technologies, MiloCreek, InstiComm, SwitchDoc Labs, and bankCDA. As a founding member of the bankCDA board of directors, he currently serves as the Chairman of the Technology Committee. He has also served as a Professor of Computer Science at Eastern Washington University and Washington State University. Dr. Shovic has given over 80 invited talks and has published over 70 papers on a variety of topics on Arduinos/Raspberry Pis, HIPAA, GLB, computer security, computer forensics, robotics, AI, and embedded systems.
About the Technical Reviewer
Massimo Nardone
has more than 22 years of experience in security, web/mobile development, cloud, and IT architecture. His true IT passions are security and Android.
He has been programming and teaching how to program with Android, Perl, PHP, Java, VB, Python, C/C++, and MySQL for more than 20 years.
He holds a Master of Science degree in Computing Science from the University of Salerno, Italy.
He has worked as a Project Manager, Software Engineer, Research Engineer, Chief Security Architect, Information Security Manager, PCI/SCADA Auditor, and Senior Lead IT Security/Cloud/SCADA Architect for many years.