Get Started with the Raspberry Pi AI Kit
A Beginner's Guide to AI and Edge Computing
By Dogan Ibrahim
Chapter 1 • The Raspberry Pi 5
1.1 Overview
[Content for 1.1 Overview]
1.2 The Raspberry Pi 5 hardware
[Content for 1.2 The Raspberry Pi 5 hardware]
1.3 Active cooler
[Content for 1.3 Active cooler]
1.4 Raspberry Pi 5 Operating System
[Content for 1.4 Raspberry Pi 5 Operating System]
1.5 Benchmarks
[Content for 1.5 Benchmarks]
Chapter 2 • Installing the Raspberry Pi 5 Operating System and Console Commands
2.1 Overview
[Content for 2.1 Overview]
2.2 Using a pre-installed SD card
[Content for 2.2 Using a pre-installed SD card]
2.3 Larger font in Console mode
[Content for 2.3 Larger font in Console mode]
-
2.4 Accessing your Raspberry Pi 5 Console from your PC – the Putty program
[Content for 2.4 Accessing your Raspberry Pi 5 Console from your PC – the Putty program]
2.4.1 Configuring the Putty
[Content for 2.4.1 Configuring the Putty]
2.5 Accessing the Desktop GUI from your PC
[Content for 2.5 Accessing the Desktop GUI from your PC]
2.6 Assigning static IP address to your Raspberry Pi 5
[Content for 2.6 Assigning static IP address to your Raspberry Pi 5]
2.7 Enabling Bluetooth
[Content for 2.7 Enabling Bluetooth]
-
2.8 Connecting the Raspberry Pi 5 to a wired network
[Content for 2.8 Connecting the Raspberry Pi 5 to a wired network]
2.8.1 Unable to connect to a wired network
[Content for 2.8.1 Unable to connect to a wired network]
2.9 Installing the Raspberry Pi 5 Bookworm operating system on a blank microSD card
[Content for 2.9 Installing the Raspberry Pi 5 Bookworm operating system on a blank microSD card]
-
2.10 Some commonly used Console commands
[Content for 2.10 Some commonly used Console commands]
2.10.1 The Console command prompt
[Content for 2.10.1 The Console command prompt]
2.10.2 System and user information
[Content for 2.10.2 System and user information]
2.10.3 The directory structure
[Content for 2.10.3 The directory structure]
2.10.4 File Permissions
[Content for 2.10.4 File Permissions]
2.10.5 Help
[Content for 2.10.5 Help]
2.10.6 Date and Time
[Content for 2.10.6 Date and Time]
2.10.7 File processing
[Content for 2.10.7 File processing]
2.10.8 Head and tail commands
[Content for 2.10.8 Head and tail commands]
2.10.9 Super User commands
[Content for 2.10.9 Super User commands]
2.10.10 Resource monitoring on Raspberry Pi 5
[Content for 2.10.10 Resource monitoring on Raspberry Pi 5]
2.10.11 Shutting down
[Content for 2.10.11 Shutting down]
2.10.12 Networking
[Content for 2.10.12 Networking]
2.10.13 System information and some other useful commands
[Content for 2.10.13 System information and some other useful commands]
Chapter 3 • The Raspberry Pi AI Kit
3.1 Overview
[Content for 3.1 Overview]
-
3.2 Raspberry Pi 5 M.2 HAT+ adapter board
[Content for 3.2 Raspberry Pi 5 M.2 HAT+ adapter board]
3.2.1 Installing the HAT+ and the AI Kit
[Content for 3.2.1 Installing the HAT+ and the AI Kit]
3.2.2 Installing the AI Kit software
[Content for 3.2.2 Installing the AI Kit software]
3.2.3 Verifying the software installation
[Content for 3.2.3 Verifying the software installation]
Chapter 4 • Raspberry Pi Cameras
4.1 Overview
[Content for 4.1 Overview]
4.2 Raspberry Pi cameras
[Content for 4.2 Raspberry Pi cameras]
-
4.3 Installing the camera
[Content for 4.3 Installing the camera]
4.3.1 Verify the camera installation
[Content for 4.3.1 Verify the camera installation]
4.4 rpicam camera commands
[Content for 4.4 rpicam camera commands]
Chapter 5 • Using a Text Editor in Console Mode
5.1 nano text editor
[Content for 5.1 nano text editor]
5.2 vi text editor
[Content for 5.2 vi text editor]
-
5.3 Using the Thonny
[Content for 5.3 Using the Thonny]
5.3.1 The Thonny IDE
[Content for 5.3.1 The Thonny IDE]
Chapter 6 • Creating and Running a Simple Python Program
6.1 Overview
[Content for 6.1 Overview]
6.2 Method 1 – Interactively from command prompt in Console mode
[Content for 6.2 Method 1 – Interactively from command prompt in Console mode]
6.3 Method 2 – Create a Python file in Console mode
[Content for 6.3 Method 2 – Create a Python file in Console mode]
6.4 Method 3 – Create a Python file in Desktop GUI mode
[Content for 6.4 Method 3 – Create a Python file in Desktop GUI mode]
6.5 Which method?
[Content for 6.5 Which method?]
Chapter 7 • Python Programming
7.1 Overview
[Content for 7.1 Overview]
7.2 Variable names
[Content for 7.2 Variable names]
7.3 Reserved words
[Content for 7.3 Reserved words]
7.4 Comments
[Content for 7.4 Comments]
7.5 Line continuation
[Content for 7.5 Line continuation]
7.6 Blank lines
[Content for 7.6 Blank lines]
7.7 More than one statement on a line
[Content for 7.7 More than one statement on a line]
7.8 Indentation
[Content for 7.8 Indentation]
7.9 Python data types
[Content for 7.9 Python data types]
7.10 Numbers
[Content for 7.10 Numbers]
-
7.11 Strings
[Content for 7.11 Strings]
7.11.1 String functions
[Content for 7.11.1 String functions]
7.11.2 Escape sequences
[Content for 7.11.2 Escape sequences]
7.12 Print statement
[Content for 7.12 Print statement]
-
7.13 List variables
[Content for 7.13 List variables]
7.13.1 List functions
[Content for 7.13.1 List functions]
7.14 Tuple variables
[Content for 7.14 Tuple variables]
-
7.15 Dictionary variables
[Content for 7.15 Dictionary variables]
7.15.1 Dictionary functions
[Content for 7.15.1 Dictionary functions]
7.16 Keyboard input
[Content for 7.16 Keyboard input]
7.17 Comparison operators
[Content for 7.17 Comparison operators]
7.18 Logical operators
[Content for 7.18 Logical operators]
7.19 Assignment operators
[Content for 7.19 Assignment operators]
-
7.20 Control of flow
[Content for 7.20 Control of flow]
7.20.1 if, if..else, and elif
[Content for 7.20.1 if, if..else, and elif]
7.20.2 for statement
[Content for 7.20.2 for statement]
7.20.3 while statement
[Content for 7.20.3 while statement]
7.20.4 continue statement
[Content for 7.20.4 continue statement]
7.20.5 break statement
[Content for 7.20.5 break statement]
7.20.6 pass statement
[Content for 7.20.6 pass statement]
7.21 User defined functions
[Content for 7.21 User defined functions]
7.22 Examples
[Content for 7.22 Examples]
-
7.23 Exceptions
[Content for 7.23 Exceptions]
7.23.1 try/final exceptions
[Content for 7.23.1 try/final exceptions]
7.24 Date and time
[Content for 7.24 Date and time]
Chapter 8 • The AI Kit Demo Programs
8.1 Overview
[Content for 8.1 Overview]
-
8.2 Demo software installation
[Content for 8.2 Demo software installation]
8.2.1 The application structure
[Content for 8.2.1 The application structure]
8.2.2 Detection demo example
[Content for 8.2.2 Detection demo example]
8.2.3 Pose Estimation demo example
[Content for 8.2.3 Pose Estimation demo example]
8.2.4 Instance segmentation demo example
[Content for 8.2.4 Instance segmentation demo example]
8.3 Post-processing with rpicam-apps
[Content for 8.3 Post-processing with rpicam-apps]
8.4 Project 1 – Detect person presence using the AI Kit – LED output
[Content for 8.4 Project 1 – Detect person presence using the AI Kit – LED output]
8.5 Project 2 – Detect person presence using the AI Kit – WiFi based
[Content for 8.5 Project 2 – Detect person presence using the AI Kit – WiFi based]
8.6 Hailo software components
[Content for 8.6 Hailo software components]
Chapter 9 • Pre-trained models
9.1 Overview
[Content for 9.1 Overview]
9.2 Hailo Model Zoo pre-trained models
[Content for 9.2 Hailo Model Zoo pre-trained models]
9.3 Installing the DataFlow compiler
[Content for 9.3 Installing the DataFlow compiler]
Chapter 10 • The Hailo AI SW Suite
10.1 Overview
[Content for 10.1 Overview]
10.2 The Hailo AI SW Suite
[Content for 10.2 The Hailo AI SW Suite]
10.3 Re-training models
[Content for 10.3 Re-training models]
Chapter 11 • Raspberry Pi 5 Object Detection Training
11.1 Overview
[Content for 11.1 Overview]
11.2 YOLO
[Content for 11.2 YOLO]
11.3 The training
[Content for 11.3 The training]
11.4 Modified procedure
[Content for 11.4 Modified procedure]
11.5 Hailortcli
[Content for 11.5 Hailortcli]
APPENDIX – Useful Web Sites
[Content for APPENDIX – Useful Web Sites]
Index
[Content for Index]