توضیحاتی در مورد کتاب Exploring Raspberry Pi: Interfacing to the Real World with Embedded Linux
نام کتاب : Exploring Raspberry Pi: Interfacing to the Real World with Embedded Linux
ویرایش : 1
عنوان ترجمه شده به فارسی : کاوش در Raspberry Pi: رابط با دنیای واقعی با لینوکس جاسازی شده
سری :
نویسندگان : Derek Molloy
ناشر : Wiley
سال نشر : 2016
تعداد صفحات : 722
ISBN (شابک) : 1119188687 , 9781119188681
زبان کتاب : English
فرمت کتاب : pdf
حجم کتاب : 19 مگابایت
بعد از تکمیل فرایند پرداخت لینک دانلود کتاب ارائه خواهد شد. درصورت ثبت نام و ورود به حساب کاربری خود قادر خواهید بود لیست کتاب های خریداری شده را مشاهده فرمایید.
فهرست مطالب :
Cover
Title Page
Copyright
Contents
Introduction
Part I Raspberry Pi Basics
Chapter 1 Raspberry Pi Hardware
Introduction to the Platform
Who Should Use the RPi
When to Use the RPi
When to Not Use the RPi
RPi Documentation
The RPi Hardware
Raspberry Pi Versions
The Raspberry Pi Hardware
Raspberry Pi Accessories
Important Accessories
Recommended Accessories
Optional Accessories
HATs
How to Destroy Your RPi!
Summary
Support
Chapter 2 Raspberry Pi Software
Linux on the Raspberry Pi
Linux Distributions for the RPi
Create a Linux SD Card Image for the RPi
Connecting to a Network
Regular Ethernet
Ethernet Crossover Cable
Communicating with the RPi
Serial Connection with the USB-to-TTL 3.3V Cable
Connecting through Secure Shell (SSH)
Transferring Files Using PuTTY/psftp over SSH
Controlling the Raspberry Pi
Basic Linux Commands
Basic File Editing
What Time Is It?
Package Management
Configuring the Raspberry Pi
The Raspberry Pi Configuration Tool
Updating the RPi Software
Video Output
Interacting with the Onboard LEDs
Shutdown and Reboot
Summary
Chapter 3 Exploring Embedded Linux Systems
Introducing Embedded Linux
Advantages and Disadvantages of Embedded Linux
Is Linux Open Source and Free?
Booting the Raspberry Pi
Managing Linux Systems
The Super User
System Administration
Linux Commands
Linux Processes
Other Linux Topics
Using Git for Version Control
A Practice-Based Introduction
Git Branching
Common Git Commands
Using Desktop Virtualization
Code for This Book
Summary
Further Reading
Bibliography
Chapter 4 Interfacing Electronics
Analyzing Your Circuits
Digital Multimeter
Oscilloscopes
Basic Circuit Principles
Voltage, Current, Resistance, and Ohm’s Law
Voltage Division
Current Division
Implementing RPi Circuits on a Breadboard
Digital Multimeters (DMMs) and Breadboards
Example Circuit: Voltage Regulation
Discrete Components
Diodes
Light-Emitting Diodes (LEDs)
Smoothing and Decoupling Capacitors
Transistors
Optocouplers/Opto-isolators
Switches and Buttons
Logic Gates
Analog-to-Digital Conversion
Sampling Rate
Quantization
Operational Amplifiers
Concluding Advice
Summary
Further Reading
Chapter 5 Programming on the Raspberry Pi
Introduction
Performance of Languages on the RPi
Setting the RPi CPU Frequency
A First Circuit for Physical Computing
Scripting Languages
Scripting Language Options
Bash
Lua
Perl
Python
Dynamically Compiled Languages
JavaScript and Node.js on the RPi
Java on the RPi
C and C++ on the RPi
C and C++ Language Overview
LED Control in C
The C of C++
Overview of Object-Oriented Programming
Object-Oriented LED Control in C++
Interfacing to the Linux OS
Glibc and Syscall
Improving the Performance of Python
Cython
Extending Python with C/C++
Summary
Further Reading
Bibliography
Part II Interfacing, Controlling, and Communicating
Chapter 6 Interfacing to the Raspberry Pi Input/Outputs
Introduction
General-Purpose Input/Outputs
GPIO Digital Output
GPIO Digital Input
Internal Pull-Up and Pull-Down Resistors
Interfacing to Powered DC Circuits
C++ Control of GPIOs Using sysfs
More C++ Programming
An Enhanced GPIO Class
Memory-Based GPIO Control
GPIO Control Using devmem2
GPIO Control Using C and /dev/mem
Changing the Internal Resistor Configuration
WiringPi
Installing wiringPi
The gpio Command
Programming with wiringPi
Toggling an LED Using wiringPi
Button Press—LED Response
Communicating to One-Wire Sensors
PWM and General-Purpose Clocks
GPIOs and Permissions
Writing udev Rules
Permissions and wiringPi
Summary
Chapter 7 Cross-Compilation and the Eclipse IDE
Setting Up a Cross-Compilation Toolchain
The Linaro Toolchain for Raspbian
Debian Cross-Toolchains
Cross-Compilation Using Eclipse
Installing Eclipse on Desktop Linux
Configuring Eclipse for Cross-Compilation
Remote System Explorer
Integrating GitHub into Eclipse
Remote Debugging
Automatic Documentation (Doxygen)
Building Linux
Downloading the Kernel Source
Building the Linux Kernel
Deploying the Linux Kernel
Building a Linux Distribution (Advanced)
Summary
Further Reading
Chapter 8 Interfacing to the Raspberry Pi Buses
Introduction to Bus Communication
I2C
I2C Hardware
An I2C Test Circuit
Using Linux I2C-Tools
I2C Communication in C
Wrapping I2C Devices with C++ Classes
SPI
SPI Hardware
SPI on the RPi
A First SPI Application (74HC595)
Bidirectional SPI Communication in C/C++
Multiple SPI Slave Devices on the RPi
UART
The RPi UART
UART Examples in C
UART Applications - GPS
Logic-Level Translation
Summary
Further Reading
Chapter 9 Enhancing the Input/Output Interfaces on the RPi
Introduction
Analog-to-Digital Conversion
SPI Analog-to-Digital Converters (ADCs)
ADC Application: An Analog Light Meter
Testing the SPI ADC Performance
The C Library for BCM2835 (Advanced)
Digital-to-Analog Conversion
An I2C Digital-to-Analog Converter
An SPI Digital-to-Analog Converter
Adding PWM Outputs to the RPi
Extending the RPi GPIOs
The MCP23017 and the I2C Bus
The MCP23S17 and the SPI Bus
A C++ Class for the MCP23x17 Devices
Adding UARTs to the RPi
Summary
Chapter 10 Interacting with the Physical Environment
Interfacing to Actuators
DC Motors
Stepper Motors
Relays
Interfacing to Analog Sensors
Linear Analog Sensors
Nonlinear Analog Sensors
Analog Sensor Signal Conditioning
Interfacing to an Analog Accelerometer
Interfacing to Local Displays
MAX7219 Display Modules
Character LCD Modules
OLED Dot-Matrix Display
Building C/C++ Libraries
Makefiles
CMake
Summary
Chapter 11 Real-Time Interfacing Using the Arduino
The Arduino
An Arduino Serial Slave
A UART Echo Test Example
UART Command Control of an Arduino
An Arduino I2C Slave
An I2C Test Circuit
I2C Register Echo Example
I2C Temperature Sensor Example
I2C Temperature Sensor with a Warning LED
Arduino Slave Communication Using C/C++
An I2C Ultrasonic Sensor Application
An Arduino SPI Slave
Programming the Arduino from the RPi Command Line
Summary
Part III Advanced Interfacing and Interaction
Chapter 12 The Internet of Things
The Internet of Things (IoT)
The RPi as an IoT Sensor
The RPi as a Sensor Web Server
Nginx
GNU Cgicc Applications (Advanced)
A C/C++ Web Client
Network Communications Primer
A C/C++ Web Client
Secure Communication Using OpenSSL
The RPi as a “Thing”
ThingSpeak
The Linux Cron Scheduler
Sending E-mail from the RPi
If This Then That (IFTTT)
Large-Scale IoT Frameworks
MQ Telemetry Transport (MQTT)
IBM Bluemix Internet of Things
An IBM IoT MQTT Node.js Publish Example
An IBM IoT MQTT C++ Publish Example
Visualize Data Using IBM Quickstart
The C++ Client/Server
IoT Device Management
Remote Monitoring of the RPi
RPi Watchdog Timers
Static IP Addresses
Power over Ethernet (PoE)
Summary
Chapter 13 Wireless Communication and Control
Introduction to Wireless Communications
Bluetooth Communications
Installing a Bluetooth Adapter
Android App Development with Bluetooth
Wi-Fi Communications
Installing a Wi-Fi Adapter
The NodeMCU Wi-Fi Slave Processor
ZigBee Communications
Introduction to XBee Devices
XBee Configuration
An XBee AT Mode Example
An XBee API Mode Example
Near Field Communication
Summary
Chapter 14 Raspberry Pi with a Rich User Interface
Rich UI RPi Architectures
The RPi as a General-Purpose Computer
RPi with an LCD Touchscreen
Virtual Network Computing (VNC)
Fat-Client Applications
Rich UI Application Development
Introduction to GTK+ on the RPi
Introduction to Qt on the RPi
Qt Primer
Qt Concepts
Qt Development Tools
A First Qt Creator Example
A Qt Weather GUI Application
Remote UI Application Development
Fat-Client Qt GUI Application
Multithreaded Server Applications
The Multithreaded Weather Server
Summary
Further Reading
Chapter 15 Images, Video, and Audio
Capturing Images and Video
The RPi Camera
USB Webcams
Video4Linux2 (V4L2)
Streaming Video
Image Processing and Computer Vision
Image Processing with OpenCV
Computer Vision with OpenCV
Boost
Raspberry Pi Audio
Core Audio Software Tools
Audio Devices for the RPi
Text-to-Speech
Summary
Further Reading
Chapter 16 Kernel Programming
Introduction
Why Write Kernel Modules?
Loadable Kernel Module (LKM) Basics
A First LKM Example
The LKM Makefile
Building the LKM on a Linux Desktop Machine
Building the LKM on the RPi
Testing the First LKM Example
An Embedded LKM Example
Interrupt Service Routines (ISRs)
Performance
Enhanced Button GPIO Driver LKM
The kobject Interface
Enhanced LED GPIO Driver LKM
Kernel Threads
Conclusions
Summary
Index
EULA