Guy Hart-Davis

Deploying Raspberry Pi in the Classroom

Guy Hart-Davis

Barnard Castle, Startforth Grange Barnard Castle, County Durham, UK

Any source code or other supplementary materials referenced by the author in this text are available to readers at www.apress.com . For detailed information about how to locate your book’s source code, go to www.apress.com/source-code/ . Readers can also access source code at SpringerLink in the Supplementary Material section for each chapter.

ISBN 978-1-4842-2303-1

e-ISBN 978-1-4842-2304-8

DOI 10.1007/978-1-4842-2304-8

Library of Congress Control Number: 2016962196

© Guy Hart-Davis 2017

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.

Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights.

While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein.

Printed on acid-free paper

Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected], or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.

Introduction

The Raspberry Pi has become a computing phenomenon. This single-board miniature computer, first released in February 2012 by the Raspberry Pi Foundation, has grown into a series of nearly a dozen models that have sold a total of more than 10 million units in five years.

Inexpensive to buy and to run, Raspberry Pi computers are great for enthusiasts, good for games, and fun for children. Raspberry Pi computers are also terrific in the classroom, enabling you to put on each desk an easily-manageable computer on which students can do everything from learning Internet use and essential office software skills, through grasping programming basics in an easy-to-learn format, to performing full-on programming in Python, Java, C, and other languages. Better yet, you can install all the software needed for those activities automatically alongside the operating system.

Who Is This Book For?

This book is for anybody who’s looking to deploy Raspberry Pi computers in a classroom or lab situation.

Most likely you’re a teacher or educator in a school or college, and that’s the scenario this book and its examples aim at. But even if your situation and aims for deploying multiple Raspberry Pi computers are different, you’ll find useful information in this book. For example, you might run a community computing club providing Internet access, or you might offer private computing lessons to small groups.

What Does This Book Cover?

This book contains eight chapters that take you from planning a classroom deployment of Raspberry Pi computers to managing the classroom and troubleshooting the computers.

Chapter 1 , “Planning Your Raspberry Pi Classroom Deployment,” walks you through planning your deployment or Raspberry Pi computers in your classroom or lab. The chapter briefly discusses what the Raspberry Pi boards are, the capabilities of the computers that you can build with them, and what Raspberry Pi computers are suitable for in the classroom. The chapter also discusses the key questions you will likely need to research and answer in order to plan your Raspberry Pi deployment: How you will use the Raspberry Pi computers, which ones to get, which operating system or systems to install, how to manage the computers, and so on.

Chapter 2 , “Choosing Raspberry Pi Hardware,” discusses the hardware you’ll typically want for deploying a fleet of Raspberry Pi computers in a classroom. First, you’ll need the Raspberry Pi boards, plus essential hardware—such as power sources, SD cards, and cases—to turn the boards into working computers. Next, you’ll need peripherals, such as displays, keyboards, and pointing devices; your educational establishment may have some or all of these, so the chapter covers how to get existing (and possibly legacy) peripherals working with your Raspberry Pi computers. Last, you’ll need wired (Ethernet) or wireless (Wi-Fi) network connections for the Raspberry Pi computers.

Chapter 3 , “Choosing Operating Systems for Raspberry Pi,” lays out your main choices of operating systems. Raspberry Pi computers can run an impressive range of operating systems, most of which are based on the widely used Linux operating system. The Raspberry Pi Foundation provides a helpful installer called NOOBS (New Out Of Box Software) that enables you to install not only Raspbian, the version of Linux customized for the Raspberry Pi, and Raspbian Lite but also two media-center operating systems—LibreELEC and OSMC—and Windows 10 IoT Core, a version of Windows for building projects and apps for devices. Beyond these, you can install other Linux desktop operating systems, Linux server operating systems, the blazing fast but rather limited RISC OS, and versions of the UNIX-like BSD operating system.

Chapter 4 , “Brief Tutorial on Raspberry Pi Essentials,” makes sure you know how to use and configure a Raspberry Pi computer running the Raspbian operating system. The chapter covers everything from startup, shutdown, and restart to configuring your pointing device, keyboard, and network connection; using the Raspberry Pi Configuration tool to configure the Raspberry Pi; navigating and customizing the desktop, exploring the file system using the File Manager app, and configuring File Manager to work the way you prefer.

Chapter 5 , “Building the Raspberry Pi Computers and Installing Software,” discusses how to build your Raspberry Pi computers—essentially, putting the Raspberry Pi boards into the cases you’ve chosen—and how to install operating systems on them. The chapter shows you how to get the NOOBS installer, use it to install Raspbian and the other operating systems that NOOBS supports, and how to perform “headless” installs on remote computers using Virtual Network Computing (VNC). You also learn how to use Recovery Mode and how to perform advanced moves with NOOBS, such as installing an operating system automatically and creating a custom version of Raspbian for your school.

Chapter 6 , “Connecting the Raspberry Pi Computers to the Network,” shows you how to set up your Raspberry Pi computers in your classroom or lab, connect them to your establishment’s network, and verify that the computers and the network are working to your satisfaction. Coverage includes setting hostnames and static IP addresses and connecting to Wi-Fi networks.

Chapter 7 , “Administering and Managing Your Raspberry Pi Network,” shows you how to run your Raspberry Pi network either individually or by using the free PiNet server system. You’ll learn how to create user accounts, how to set up remote access to computers you want to administer remotely, how to install and configure PiNet, and how to control your computers—and maybe your students—using the free Epoptes ­classroom-management app.

Chapter 8 , “Troubleshooting Raspberry Pi Computers in the Classroom,” shows you how to deal with the problems you’re most likely to encounter with Raspberry Pi computers deployed in classroom situtations. The chapter starts by recommending a restart-and-replace strategy designed to keep your classroom functioning smoothly and avoid disruption from trying to troubleshoot problems that seem minor but turn thorny. The chapter then covers how to keep the system software on Raspberry Pi computers up to date; how to deal with issues involving startup, SD cards, and network connections; and how to resolve problems with displays, keyboards and pointing devices, and audio output.

The Appendix, “Raspberry Pi Resources and Training for Educators,” gives you brief lists of resources for deploying, running, and managing Raspberry Pi computers, plus information on training for educators.

Involving Your Students

One of the great things about Raspberry Pi computers is that they’re well suited to having students build them and set them up as well as simply use them as classroom computers. So this book suggests several points at which you may want to involve your students in setting up and maintaining your classroom deployment of Raspberry Pi computers. These include:

  • Building the Raspberry Pi computers. Because each Raspberry Pi board contains a full computer system—processor, graphics processor, memory (RAM), networking, USB, and so on—which greatly reduces the potential for damage and mistakes. Building a Raspberry Pi computer involves only putting the Raspberry Pi board in a suitable case, not installing multiple sensitive components using a variety of technician tools.

  • Setting up the Raspberry Pi computers in the classroom. Having students help you with setting up the Raspberry Pi computers at the workstations, distributing peripherals, and connecting the devices and cables can not only save you time but also develop students’ skills.

  • Testing the Raspberry Pi computers and the network. After setting up the computers and the network, you can have students power on the computers and run through a list of tests that you specify, to make sure that the computers are running correctly and that they are able to access the Internet.

These are activities that many students should be capable of. But the Raspberry Pi computers also offer many other opportunties for you to involve your older or more able students. For example, you may want to have more advanced students learn to troubleshoot problems that occur frequently with Raspberry Pi computers, or at least have them replace failed (or problem) SD cards, peripherals, or computers when the need arises.

Additions and Errata

If you have suggestions for additions or improvements you’d like to see in future editions of this book, please send them in. Go to the Apress website ( www.apress.com ), enter this book’s number (9781484223031) in the Search box, and click the Go button. Click the book’s cover or the View Book button to get to the book’s page.

Click the Errata tab to display a list of the errata and additions available so far. On this tab, you’ll also find the e-mail address to which you can submit corrections or suggestions for additions or improvements.

Acknowledgments

My thanks go to the many people who helped create this book:

  • Aaron Black for signing me to write the book

  • Jim Markham for developing the manuscript

  • Massimo Nardone for reviewing the manuscript for technical accuracy and contributing helpful suggestions

  • Deanna Hegle for editing the manuscript with care

  • Jessica Vakili for coordinating the book project and keeping things running

  • SPi Global for laying out the chapters of the book

  • SPi Global for creating the index

Contents

  1. Chapter 1:​ Planning Your Raspberry Pi Classroom Deployment
    1. Understanding What the Raspberry Pi Is
    2. Understanding the Capabilities of Raspberry Pi Computers
      1. Learning Desktop Computing Skills
      2. Learning Office Skills
      3. Learning the Essentials of Programming with Scratch
      4. Programming in Python
      5. Programming in Java
      6. Programming in C and Other Programming Languages
      7. Learning Programming with Other Apps
      8. Playing Games
      9. Running Media Centers
      10. Planning and Executing Computing Projects
    3. Analyzing Your Needs and Making a Plan
    4. Getting a Raspberry Pi Computer
    5. Summary
  2. Chapter 2:​ Choosing Raspberry Pi Hardware
    1. Choosing the Best Raspberry Pi Models for Your Needs
      1. Understanding the Raspberry Pi Models
      2. Meeting the Raspberry Pi Boards
      3. Where to Buy Raspberry Pi Computers
      4. Australia Stores
    2. Choosing Power Sources for Your Raspberry Pi Computers
      1. Understanding the Power Requirements of Raspberry Pi Computers
      2. Using Dedicated Raspberry Pi Chargers
      3. Phone Chargers
      4. Running a Raspberry Pi Computer from a Battery
      5. Running a Raspberry Pi Computer from a USB Hub
    3. Choosing SD Cards
      1. Advantages and Disadvantages of Using SD Cards as the Main Storage
      2. Which Raspberry Pi Models Use Standard SD and Which Use Micro SD?​
      3. Which SD Card, and What Size, Should You Get?​
      4. Choosing an SD Card Reader
    4. Choosing and Using Cases
      1. Criteria for Choosing Cases
      2. VESA Mounts and Cases
    5. Adding a Camera Module
    6. Choosing Wi-Fi and Bluetooth Adapters for Older Raspberry Pi Models
    7. Choosing Displays
      1. HDMI Displays:​ The Clearest Choice
      2. Connecting to Displays via DVI
      3. Connecting to Displays via DisplayPort
      4. Connecting to Displays via VGA
      5. Connecting to Displays via Composite
    8. Choosing Keyboards and Pointing Devices
      1. USB:​ The First Choice for Keyboards and Pointing Devices
      2. Using PS/​2 Keyboards and Pointing Devices
      3. Using Bluetooth Keyboards and Pointing Devices
    9. Choosing a Network Connection Method
    10. Summary
  3. Chapter 3:​ Choosing Operating Systems for Raspberry Pi
    1. Meeting NOOBS, Raspbian, LibreELEC, OSMC, and Windows 10 IoT Core
      1. Raspbian
      2. Raspbian Lite
      3. LibreELEC
      4. OSMC
      5. Windows 10 IoT Core
    2. Exploring Other Linux Operating Systems
      1. Exploring Other Linux Desktop Operating Systems
      2. Exploring Linux Server Operating Systems
    3. Exploring Non-Linux Operating Systems
      1. RISC OS for Raspberry Pi
    4. Summary
  4. Chapter 4:​ Brief Tutorial on Raspberry Pi Essentials
    1. Startup, Shutdown, and Restart
      1. Starting Up the Raspberry Pi Computer
      2. Shutting Down the Raspberry Pi Computer
      3. Restarting the Raspberry Pi Computer
      4. Logging Out and Logging In Again
    2. Taking Other Actions from the Login Screen
    3. Meeting the Desktop
    4. Configuring the Pointing Device, Keyboard, and Network Connection
      1. Configuring the Pointing Device and the Keyboard
      2. Configuring the Network Connection
    5. Configuring a Raspberry Pi Computer
      1. Choosing Settings on the System Tab
      2. Choosing Settings on the Interfaces Tab
      3. Choosing Settings on the Performance Tab
      4. Choosing Settings on the Localisation Tab
    6. Configuring and Navigating the Desktop
      1. Configuring Desktop Preferences
      2. Configuring the Panel
      3. Configuring the Task Bar
      4. Running Apps
      5. Managing Windows
      6. Understanding and Using Multiple Desktops
    7. Exploring the File System with File Manager
      1. Launching File Manager and Navigating Its Interface
      2. Meeting the File System
      3. Exploiting File Manager’s Time-Saving Features
      4. Configuring File Manager Preferences
    8. Summary
  5. Chapter 5:​ Building the Raspberry Pi Computers and Installing Software
    1. Building the Raspberry Pi Computers
    2. Connecting Peripherals and Power
    3. Downloading the NOOBS Installer
    4. Formatting an SD Card for Use with the NOOBS Installer
      1. Installing the SD Formatter App on Windows
      2. Formatting an SD Card with the SD Formatter App on Windows
      3. Installing the SD Formatter Tool on the Mac
      4. Formatting an SD Card with the SD Formatter App on the Mac
      5. Formatting an SD Card on Linux
    5. Putting the NOOBS Installer on an SD Card
      1. Putting the NOOBS Installer on an SD Card on Windows
      2. Putting the NOOBS Installer on an SD Card on the Mac
      3. Putting the NOOBS Installer on an SD Card on Linux
    6. Installing Operating Systems with the NOOBS Installer
      1. Launching the NOOBS Installer
      2. Connecting the Raspberry Pi computer to a Wi-Fi Network
      3. Choosing Whether to Create a Data Partition
      4. Selecting the Operating System and Performing the Installation
    7. Performing a Headless Install via VNC
      1. Getting a VNC Client if Necessary
      2. Adding the vncinstall Command to the recovery.​cmdline File
      3. Replacing the SD Card and Booting the Raspberry Pi Computer
      4. Finding the IP Address for the Raspberry Pi Computer
      5. Connecting and Working via VNC
    8. Using Recovery Mode
      1. Booting into Recovery Mode
      2. Opening the Config Editor
      3. Editing the config.​txt File
      4. Editing the cmdline.​txt File
    9. Learning Advanced Moves with NOOBS
      1. Setting NOOBS to Install an Operating System Automatically
      2. Booting Directly to a Particular Operating System
      3. Creating a Custom Version of Raspbian
    10. Summary
  6. Chapter 6:​ Connecting the Raspberry Pi Computers to the Network
    1. Setting Up the Raspberry Pi Computers with Peripherals and Power
      1. Connecting Keyboards and Pointing Devices
      2. Connecting Displays
      3. Connecting Audio
      4. Connecting Power
      5. Connecting Ethernet
    2. Booting and Configuring the Raspberry Pi Computers
      1. Powering on the Displays
      2. Booting the Raspberry Pi Computers
      3. Connecting a Bluetooth Keyboard or Pointing Device
      4. Identifying Your Raspberry Pi Computers
      5. Configuring Network Connections
      6. Configuring the Network Connection for a Raspberry Pi Computer
    3. Testing the Computers and the Network
    4. Summary
  7. Chapter 7:​ Administering and Managing Your Raspberry Pi Network
    1. Managing Your Raspberry Pi Computers Individually
      1. Creating and Managing User Accounts
      2. Setting Up Remote Access
    2. Setting Up and Managing a Network with PiNet
      1. What Is PiNet?​
      2. Getting a Suitable PC for Running PiNet
      3. Downloading and Installing PiNet
      4. Creating and Managing User Accounts
      5. Setting Up a Raspberry Pi Computer with the PiBoot Files
      6. Booting a Raspberry Pi Computer with PiNet
      7. Setting Up Shared Folders for Users
      8. Viewing the PiNet System Status
      9. Installing Programs on the Raspberry Pi Computers
      10. Updating PiNet and the Raspberry Pi Computers
      11. Collecting Work from Students
      12. Updating the SD Card Image
      13. Updating the PiNet System
      14. Taking Remote Control with Epoptes
    3. Summary
  8. Chapter 8:​ Troubleshooting Raspberry Pi Computers
    1. How to Approach Troubleshooting Your Raspberry Pi Computers
      1. Restarting as a Troubleshooting Move
      2. Replacing the SD Card
      3. Replacing Peripherals
      4. Replacing the Raspberry Pi Computer
    2. Keeping Raspbian Up to Date
      1. Getting to a Command Prompt
      2. Updating the System’s Package List
      3. Checking How Much Space Is Available on the SD Card
      4. Upgrading the System’s Installed Packages
    3. Troubleshooting Startup
      1. Understanding What Happens During Startup
      2. Solving Typical Boot Problems
    4. Troubleshooting SD Card Issues
      1. Preparing to Deal with SD Card Issues
      2. Identifying SD Card Problems
      3. Avoiding SD Card Problems
      4. Repairing an SD Card with the fsck Command
    5. Troubleshooting Network Issues
      1. Choosing Ethernet over Wi-Fi Wherever Possible
      2. Checking the Connection Status
      3. Troubleshooting Ethernet Connections
      4. Troubleshooting Wi-Fi Connections
    6. Troubleshooting No Output on the Display
      1. Checking for Obvious Problems
      2. Troubleshooting Display Issues via SSH
    7. Troubleshooting USB Keyboards and Pointing Devices
    8. Troubleshooting Audio Issues
    9. Summary
  9. Appendix A: Raspberry Pi Resources and Training for Educators
  10. Where to Get Raspberry Pi Hardware and Accessories
  11. Worldwide Retailers
  12. US Stores
  13. Canada Stores
  14. UK Stores
  15. Australia Stores
  16. Where to Get Raspberry Pi Software
  17. NOOBS Installer
  18. Raspbian and Raspbian Lite Operating Systems
  19. Other Operating Systems
  20. Where to Get Other Useful Software
  21. Ubuntu
  22. PuTTY
  23. SD Formatter
  24. Visual Studio
  25. Information Resources
  26. Raspberry Pi Foundation Documentation
  27. Details on config.txt Settings
  28. RPi Hub Page on the Embedded Linux Wiki
  29. Phone Chargers That Work with Raspberry Pi
  30. Training and Education Resources
  31. Picademy
  32. Raspberry Pi Education Forum
  33. Raspberry Jam
  34. Teaching Resources on the Raspberry Pi Foundation Web Site
  35. Index

About the Author and About the Technical Reviewer

About the Author

A428319_1_En_BookFrontmatter_Figb_HTML.jpg

Guy Hart-Davis is the author of more than 100 computer books, including Learn Office 2016 for Mac, Learn Excel 2016 for Mac, and Pro Office for iPad .

About the Technical Reviewer

A428319_1_En_BookFrontmatter_Figc_HTML.jpg

Massimo Nardone has more than 22 years of experiences in security, web/mobile development, and 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 (Hypertext Preprocessor), Java, VB (Visual Basic), Python, C/C++, and MySQL (Structured Query Language) 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 (protocol control information/supervisory control and data acquisition) Auditor, and Senior Lead IT Security/Cloud/SCADA Architect for many years.

Technical skills include security, Android, cloud, Java, MySQL, Drupal, Cobol, Perl, Web and Mobile development, MongoDB, D3 (Data-Driven Documents), Joomla, Couchbase, C/C++, WebGL (Web Graphics Library), Python, Pro Rails, Django CMS (content management system), Jekyll, Scratch, and so forth.

He currently works as Chief Information Security Officer (CISO) for Cargotec Oyj.

He has worked as a visiting lecturer and supervisor for exercises at the Networking Laboratory of the Helsinki University of Technology (Aalto University). He holds four international patents (PKI [public key infrastructure], SIP [session initiation protocol], SAML [security assertion markup language], and Proxy areas).

Massimo has reviewed more than 40 IT books for different publishing companies, and he is the coauthor of Pro Android Games (Apress, 2015).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.65.247