What this book covers

Chapter 1, Getting Started with a Raspberry Pi Computer, introduces the Raspberry Pi and explores the various ways in which it can be set up and used.

Chapter 2, Dividing Text Data and Building a Text Classifier, guides us to build a text classifier; it can classify text using the bag-of-words model.

Chapter 3, Using Python for Automation and Productivity, explains how to use graphical user interfaces to create your own applications and utilities.

Chapter 4, Predicting Sentiments in Words, explains how Naive Bayes classifiers and logistic regression classifiers are constructed to analyze the sentiment in words.

Chapter 5, Creating Games and Graphics, explains how to create a drawing application and graphical games using the Tkinter canvas.

Chapter 6, Detecting Edges and Contours in Images, describes in detail how images are loaded, displayed, and saved. It provides detailed implementations of erosion and dilation, image segmentation, histogram equalization, edge detection, detecting corners in images, and more.

Chapter 7, Creating 3D Graphics, discusses how we can use the hidden power of the Raspberry Pi's graphical processing unit to learn about 3D graphics and landscapes, and produce our very own 3D maze for exploration.

Chapter 8, Building Face Detector and Face Recognition Applications, explains how human faces can be detected from webcams and recognized using images stored in a database.

Chapter 9, Using Python to Drive Hardware, establishes the fact that to experience the Raspberry Pi at its best, we really have to use it with our own electronics. This chapter discusses how to create circuits with LEDs and switches, and how to use them to indicate the status of a system and provide control. Finally, it shows us how to create our own game controller, light display, and a persistence-of-vision text display.

Chapter 10, Sensing and Displaying Real-World Data, explains how to use an analog-to-digital converter to provide sensor readings to the Raspberry Pi. We discover how to store and graph the data in real time, as well as display it on an LCD text display. Next, we record the data in a SQL database and display it in our own web server. Finally, we transfer the data to the internet, which will allow us to view and share the captured data anywhere in the world.

Chapter 11, Building a Neural Network Module for Optical Character Recognition, introduces neural network implementation on Raspberry Pi 3. Optical characters are detected, displayed, and recognized using neural networks.

Chapter 12, Building Robots, takes you through building two different types of robot (a Rover-Pi and a Pi-Bug), plus driving a servo-based robot arm. We look at motor and servo control methods, using sensors, and adding a compass sensor for navigation.

Chapter 13, Interfacing with Technology, teaches us how to use the Raspberry Pi to trigger remote mains sockets, with which we can control household appliances. We learn how to communicate with the Raspberry Pi over a serial interface and use a smartphone to control everything using Bluetooth. Finally, we look at creating our own applications to control USB devices.

Chapter 14, Can I Recommend a Movie for You?, explains how movie recommender systems are built. It elaborates how Euclidean distance and Pearson correlation scores are computed. It also explains how similar users are found in the dataset and the movie recommender module is built.

Appendix, Hardware and Software List, explains the detailed hardware software list used inside the book.