Chapter 2: Preparing the Raspberry Pi for Computer Vision
In the previous chapter, we learned the fundamentals of single-board computers, computer vision, and OpenCV. We learned the detailed specifications of the Raspberry Pi (RPi) 4B and the RPi Zero W. We also learned how to set up Raspbian OS on all the RPi boards models in detail.
In this chapter, we will learn how to prepare our RPi board for computer vision. Continuing from where we left off in the previous chapter, we will start by installing the OpenCV library for computer vision and the other necessary software for remotely accessing the desktop, as well as Command Prompt. We will learn how to transfer files between an RPi and a Windows PC. We will also learn how to exploit the computation power of the RPi by overclocking it and installing a heatsink on it to reduce the temperature of the processor.
The topics that we'll cover in this chapter are as follows:
- Remotely logging into the RPi with SSH
- Remote...
Remotely logging into the RPi with SSH
We can remotely access the Command Prompt of the RPi board using various software from Windows. We can run all the Linux commands that do not involve the GUI remotely from Windows. As you may recall, we discussed how to enable SSH with the Raspberry Pi Configuration tool in Chapter 1, Introduction to Computer Vision and Raspberry Pi. It enables remote login through SSH.
In order to get started, follow these steps:
- First, we need to install any SSH software available for free. The most popular is PuTTY (https://www.putty.org/). I prefer to use another popular SSH client that comes with SFTP known as the Bitvise SSH client. You can download the installation file for Windows from https://www.bitvise.com/ssh-client-download and install it. After doing that, open the Bitvise SSH client. The following window will appear:
Figure 2.1 – Bitwise Connection window
Enter a hostname, username, and password. The hostname is nothing but the...
Remote desktop access
The Bitvise SSH client is great for file transfers and accessing the Command Prompt terminal of RPi. However, we need to use another piece of software to access the desktop of RPi remotely. There are two methods we can follow. The first one is VNC (we learned how to enable it in Chapter 1, Introduction to Computer Vision and Raspberry Pi, using the Raspberry Pi Configuration tool), while the other is using Windows' built-in Remote Desktop Connection utility. We can find it in the Windows search bar, as follows:
Figure 2.5 – Remote Desktop Connection option in the Windows search bar
But before we can use it, we need to install xrdp
on the RPi. Installing it is very easy. We just need to run the following command at LXTerminal
on the RPi:
sudo apt-get install xrdp -y
Information
You might want to read more about xrdp
at http://xrdp.org/.
Once xrdp
has been installed on the RPi, you need to follow these steps...
Installing OpenCV on an RPi board
Follow these steps to install OpenCV on the RPi:
- First, we need to install a few dependencies. Run the following command to install all these dependencies:
sudo apt-get install -y libhdf5-dev libhdf5-serial-dev libatlas-base-dev libjasper-dev libqtgui4 libqt4-test
- Once the installation is successful, we can install OpenCV on the RPi:
pip3 install opencv-python==4.0.1.24
- Once the installation of OpenCV is successful, we can verify it by running the following command:
python3 -c "import cv2; print(cv2.__version__)"
The following should be the output:
4.0.1
This means that the installation is completed and that we can import OpenCV in our Python 3 programs.
Next, we will learn how to overclock the RPi 4B and how to install heatsink on it.
Heatsinks and overclocking RPi 4B
Overclocking means running the processors at higher speeds than those that are intended. When we overclock the processors, their temperature tends to rise and they radiate more heat. Raspberry Pi board models do not come with any built-in coolers. You can buy passive heatsinks from many online shops such as Amazon. The following is an example of a heatsink with a fan:
Figure 2.9 – Small heatsink for RPi
The heatsink fan can be powered by connecting it to a 5V or 3.3V power supply. The speed of the fan depends on the voltage, and we can connect it to the RPi power pins. We will learn more about the GPIO and the power pins of RPi in the next chapter. The best and the most effective heatsink that I found was the ICE Tower fan for the RPi 4B (https://www.seeedstudio.com/ICE-Tower-CPU-Cooling-Fan-for-Raspberry-pi-Support-Pi-4-p-4097.html).
The following is my own Pi with the ICE Tower mounted on it:
Summary
In this chapter, we learned how to remotely log into the RPi and how to access the RPi desktop remotely with RDP. We also learned how to install OpenCV and how to verify it. Also, we learned how to overclock an RPi board.
We will be using all the skills we learned in this chapter throughout this book for accessing the Command Prompt and desktop of Raspbian OS remotely while writing programs for computer vision. We will also use file transfer quite a few times, as well as the OpenCV library in most programs.
In the next chapter, we will learn the basics of Python, NumPy, matplotlib, and the RPi GPIO library. We will also learn about the SciPy ecosystem.