Chapter 1-Introducing the Raspberry Pi 1.1The Raspberry Pi Models 1.2The Anatomy of the Raspberry Pi 1.3Setting Up Your Raspberry Pi 1.3.1Power Supply 1.3.2Monitor 1.3.3TV 1.3.4USB Keyboard and Mouse 1.3.5Powered USB Hub 1.3.6SD Card 1.3.7Speakers 1.3.8Case 1.3.9USB Flash Memory Drive 1.3.10USB Flash HardDisk 1.3.11USB Wi-FiAdapter 1.4Connecting Everything Together 1.5Downloading and Installing the Operating System 1.5.1Downloading the Operating System 1.5.2Installing the Operating System onto the SD Card 1.6Logging in to the Raspberry Pi 1.7Summary Chapter 2-Connecting the Raspberry Pi to Wired Network. 2.1Connecting to a Wired Network 2.1.1Unable to Connect to a Wired Network 2.2Connecting to your Raspberry Pi Remotely 2.2.1The SSH Client 2.3Summary Chapter 3-Using the Desktop 3.1Installing the VNC Software 3.2The Desktop Environment 3.3The Task Bar 3.4The Start Menu 3.5Using External USB Flash Memory Drive 3.6Using Wi-Fi With Raspberry Pi 3.7Summary Chapter 4-Using the Linux Command Line 4.1The Command Prompt 4.2Useful Linux Commands 4.2.1The Directory Structure 4.2.2Command Examples 4.3Screen Capture 4.4Foreground and Background Processing 4.5Task Scheduling 4.5.1Task Scheduling Management 4.6Linux Script Files 4.6.1User input to script files 4.6.2Reading text from the keyboard 4.6.3Conditions in script files 4.6.4Loops in script files 4.6.5Multiple decisions-Using the case statement 4.6.6Script functions 4.7Running a Program or Script Automatically on System Startup.. 4.7.1Using/etc/rc.local 4.7.2Using crontab 4.7.3Using/etc/init.d 4.8Resource Monitoring on Raspberry Pi 4.9Adding Users 4.10Removing Users 4.11Network Printing 4.12Command Aliases 4.13SD Card Backup 4.14Shutting Down 4.15Summary Chapter 5-Python Programming 5.1Starting Python 5.2Variable Names 5.3Reserved Words 5.4Comments 5.5Indentation 5.6Line Continuation 5.7Blank Lines 5.8More Than One Statement on a Line 5.9Python Data Types 5.9.1Numeric Variables 5.9.2String Variables 5.9.3List Variables 5.9.4Tuple Variables 5.9.5Dictionary Variables 5.10Python Operators 5.10.1Arithmetic Operators 5.10.2Comparison Operators 5.10.3Logical Operators 5.10.4Assignment Operators 5.10.5Bitwise Operators 5.11Control of Flow 5.11.1if, if.else, and elif 5.11.2for Statement 5.11.3while Statement 5.11.4continue Statement 5.11.5break Statement 5.12Number Type Conversion 5.13Trigonometric Functions 5.14Mathematical Functions 5.15Integer Random Number Generation 5.16Using Non-printable ASCII Characters 5.17Print Statement 5.18String Manipulation 5.19String Functions 5.20List Functions 5.21Dictionary Functions 5.22Date &Time Functions 5.23User Defined Functions 5.24 Keyboard Input 5.25Files 5.26Exceptions 5.27Object Oriented Programming 5.28Example Programs 5.28.1Using the Editor to Create Programs 5.29 Argument List 5.30Summary Chapter 6-Python Graphics User Interface (GUI) Programming 6.1Using the Label Widget 6.2Adding a Button Widget 6.3The Entry Widget 6.4The Text Widget 6.5Prompted Input 6.6 Placing Widgets 6.6.1Default packing 6.6.2Packing to a side 6.7Using the grid() method 6.8The Messagebox Widget 6.9The Spinbox Widget 6.10The Scale Widget 6.11The Listbox Widget 6.12The Message Widget 6.13The Radiobutton Widget 6.14The Checkbutton Widget 6.15The Menubutton Widget 6.16The Canvas Widget 6.17Examples 6.18Summary Chapter 7-Python Network Programming 7.1Sending E-mail 7.2Web Server Program 7.3Socket Programming 7.4Summary Chapter 8-Python Systems Programming 8.1The sys Module 8.2The os Module 8.2.1Running shell commands 8.3Multitasking 8.3.1Process Forks 8.3.2Process Threads 8.3.3Process spawn calls 8.3.4Multiprocessing process calls 8.3.5Interprocess synchronisation 8.3.6Inter-process communication 8.4Summary Chapter 9-Raspberry Pi Hardware Interfacing 9.1GPIO Pin Definitions 9.2Raspberry Pi Hardware Development Boards and Hardware Tools 9.2.1Pi Cobbler 9.2.2PiPlate 9.2.3T-Cobbler 9.2.4PiFace 9.2.5RasPiComm-Piggyback Extension Board 9.2.6PiBorg-TriBorg-GPIO Triple Header Extender 9.2.7Gertboard 9.2.8BerryClip-LED and Buzzer 9.2.9MyPi-Push Your Pi -8 LED & 8 Button Breakout Board 9.2.10Raspberry Pi Electronic Starter Kit 9.2.11Starter Kit-A for Raspberry Pi 9.2.12Camera Board 9.2.13Raspi Robot Board 9.2.14LCD with Keypad 9.2.15Raspberry Pi Expansion Board 9.2.16Raspberry Pi Kano Starter Kit 9.2.17RTC Pi 9.2.18ADC Pi 9.3Summary Chapter 10-Raspberry Pi GPIO Software 10.1Installing the RPiGPIO Library 10.2RPiGPIO Library Functions 10.2.1Pin Numbering 10.2.2Channel(I/O pin) Configuration 10.3Wiringpi Library 10.4Program Development 10.4.1Using the Program Description Language and Flow Charts 10.4.2Calling Subprograms 10.4.3Subprogram Structure 10.5Examples 10.6Representing for Loops in Flow Charts 10.7Summary Chapter 11-Raspberry Pi Hardware Projects 11.1PROJECT 1-Flashing an LED 11.2PROJECT 2-Independently Flashing 3 LEDs 11.3PROJECT 3-Independently Flashing 3 LEDs With Event Flags 11.4PROJECT 4-Flashing LED With Push-Button Switch-Multitasking . 11.5PROJECT 5-LED with Graphical User Input 11.6PROJECT 6-Web Server LED Control 11.7PROJECT 7-Web Server Usingflask 11.8PROJECT 8-GUI Based Light Dimmer 11.9PROJECT 9-Using 4x4 Keypad 11.10PROJECT 10-Calculator Using 4x4 Keypad 11.11PROJECT 11-Displaying the Temperature 11.12PROJECT 12-Sending the Temperature to a PC Over the Network 11.13PROJECT 13-Temperature and Humidity Display 11.14PROJECT 14-Using DAC to Change LED Brightness 11.15PROJECT 15-The PiFace I/O Board 11.16PROJECT 16-PiFace DC Motor Controller 11.17PROJECT 17-PiFace Stepper Motor Controller Appendix A PDL and Program Listings A.1Program listing-Solution 5.3 A.2PDL listing-PROJECT 2 A.3Program Listing- PROJECT 2 A.4Program Listing-PROJECT 2-Modified Listing A.5PDL Listing-Project 3 A.6Program Listing- Project 3 A.7Program Listing-Project 4 A.8Program Listing-Project 4-Modified A.9PDL Listing-Project 5 A.10Program List- Project 5 A.11Progam Listing-Project 9 A.12PDL Listing-Project 10 A.13Program Listing- Project 10 A.14Program Listing-Project 11 A.15Program Listing-Project 11-Modified A.16PDL Listing-Project 12 A.17UDP Server Program-Project 12 A.18PDL Listing-Project 13 A.19Program Listing-Project 13 A.20Program Listing-Project 14 A.21Program Listing-Project 15-PIFACE-I.py A.22Program Listing-Project 15-PIFACE-2.py A.23Program Listing-Project 15-PIFACE-3.py A.24Program Listing-Project 16 Index