SØG - mellem flere end 8 millioner bøger:
Viser: Exploring Raspberry Pi - Interfacing to the Real World with Embedded Linux
Exploring Raspberry Pi: Interfacing to the Real World with Embedded Linux Vital Source e-bog
Derek Molloy
(2016)
Exploring Raspberry Pi
Interfacing to the Real World with Embedded Linux
Derek Molloy
(2016)
Sprog: Engelsk
om ca. 10 hverdage
Detaljer om varen
- 1. Udgave
- Vital Source searchable e-book (Reflowable pages)
- Udgiver: John Wiley & Sons (Juni 2016)
- ISBN: 9781119188698
Exploring Raspberry Pi is the innovators guide to bringing Raspberry Pi to life. This book favors engineering principles over a 'recipe' approach to give you the skills you need to design and build your own projects. You'll understand the fundamental principles in a way that transfers to any type of electronics, electronic modules, or external peripherals, using a "learning by doing" approach that caters to both beginners and experts. The book begins with basic Linux and programming skills, and helps you stock your inventory with common parts and supplies. Next, you'll learn how to make parts work together to achieve the goals of your project, no matter what type of components you use. The companion website provides a full repository that structures all of the code and scripts, along with links to video tutorials and supplementary content that takes you deeper into your project.
The Raspberry Pi's most famous feature is its adaptability. It can be used for thousands of electronic applications, and using the Linux OS expands the functionality even more. This book helps you get the most from your Raspberry Pi, but it also gives you the fundamental engineering skills you need to incorporate any electronics into any project.
- Develop the Linux and programming skills you need to build basic applications
- Build your inventory of parts so you can always "make it work"
- Understand interfacing, controlling, and communicating with almost any component
- Explore advanced applications with video, audio, real-world interactions, and more
Be free to adapt and create with Exploring Raspberry Pi.
Bookshelf online: 5 år fra købsdato.
Bookshelf appen: ubegrænset dage fra købsdato.
Udgiveren oplyser at følgende begrænsninger er gældende for dette produkt:
Print: 10 sider kan printes ad gangen
Copy: højest 2 sider i alt kan kopieres (copy/paste)
Detaljer om varen
- Book: 720 sider
- Udgiver: John Wiley & Sons, Limited (Juli 2016)
- ISBN: 9781119188681
Exploring Raspberry Pi is the innovators guide to bringing Raspberry Pi to life. This book favors engineering principles over a 'recipe' approach to give you the skills you need to design and build your own projects. You'll understand the fundamental principles in a way that transfers to any type of electronics, electronic modules, or external peripherals, using a "learning by doing" approach that caters to both beginners and experts. The book begins with basic Linux and programming skills, and helps you stock your inventory with common parts and supplies. Next, you'll learn how to make parts work together to achieve the goals of your project, no matter what type of components you use. The companion website provides a full repository that structures all of the code and scripts, along with links to video tutorials and supplementary content that takes you deeper into your project.
The Raspberry Pi's most famous feature is its adaptability. It can be used for thousands of electronic applications, and using the Linux OS expands the functionality even more. This book helps you get the most from your Raspberry Pi, but it also gives you the fundamental engineering skills you need to incorporate any electronics into any project.
- Develop the Linux and programming skills you need to build basic applications
- Build your inventory of parts so you can always "make it work"
- Understand interfacing, controlling, and communicating with almost any component
- Explore advanced applications with video, audio, real-world interactions, and more
Be free to adapt and create with Exploring Raspberry Pi.
Part I Raspberry Pi Basics
Chapter 1
Chapter 1 Raspberry Pi Hardware 3 Introduction to the Platform 3 Who Should Use the RPi 5 When to Use the RPi 5 When to Not Use the RPi 6 RPi Documentation 7 The RPi Hardware 8 Raspberry Pi Versions 9 The Raspberry Pi Hardware 10 Raspberry Pi Accessories 12 Important Accessories 13 Recommended Accessories 14 Optional Accessories 16 HATs 19 How to Destroy Your RPi! 20 Summary 21 Support 21
Chapter 2 Raspberry Pi Software 23 Linux on the Raspberry Pi 24 Linux Distributions for the RPi 24 Create a Linux SD Card Image for the RPi 25 Connecting to a Network 26 Regular Ethernet 27 Ethernet Crossover Cable 29 Communicating with the RPi 31 Serial Connection with the USB-to-TTL
3.3V Cable 31 Connecting through Secure Shell (SSH) 33 Transferring Files Using PuTTY/psftp over SSH 35 Controlling the Raspberry Pi 36 Basic Linux Commands 36 Basic File Editing 41 What Time Is It? 43 Package Management 44 Configuring the Raspberry Pi 46 The Raspberry Pi Configuration Tool 46 Updating the RPi Software 48 Video Output 49 Interacting with the Onboard LEDs 50 Shutdown and Reboot 53 Summary 54
Chapter 3 Exploring Embedded Linux Systems 55 Introducing Embedded Linux 56 Advantages and Disadvantages of Embedded Linux 57 Is Linux Open Source and Free? 58 Booting the Raspberry Pi 58 Managing Linux Systems 69 The Super User 69 System Administration 70 Linux Commands 89 Linux Processes 96 Other Linux Topics 99 Using Git for Version Control 99 A Practice-Based Introduction 101 Git Branching 105 Common Git Commands 107 Using Desktop Virtualization 108 Code for This Book 110 Summary 111 Further Reading 111 Bibliography 111
Chapter 4 Interfacing Electronics 113 Analyzing Your Circuits 114 Digital Multimeter 114 Oscilloscopes 115 Basic Circuit Principles 117 Voltage, Current, Resistance, and Ohm''s Law 117 Voltage Division 119 Current Division 120 Implementing RPi Circuits on a Breadboard 121 Digital Multimeters (DMMs) and Breadboards 123 Example Circuit: Voltage Regulation 124 Discrete Components 126 Diodes 126 Light-Emitting Diodes (LEDs) 128 Smoothing and Decoupling Capacitors 130 Transistors 132 Optocouplers/Opto-isolators 138 Switches and Buttons 140 Logic Gates 143 Analog-to-Digital Conversion 150 Sampling Rate 151 Quantization 151 Operational Amplifiers 152 Concluding Advice 155 Summary 156 Further Reading 157
Chapter 5 Programming on the Raspberry Pi 159 Introduction 160 Performance of Languages on the RPi 160 Setting the RPi CPU Frequency 165 A First Circuit for Physical Computing 166 Scripting Languages 168 Scripting Language Options 168 Bash 169 Lua 171 Perl 173 Python 173 Dynamically Compiled Languages 176 JavaScript and Node.js on the RPi 176 Java on the RPi 178 C and C++ on the RPi 180 C and C++ Language Overview 182 LED control in c 194 The C of C++ 196 Overview of Object-Oriented Programming 199 Object-Oriented LED Control in C++ 203 Interfacing to the Linux OS 206 Glibc and Syscall 206 Improving the Performance of Python 208 Cython 208 Extending Python with C/C++ 211 Summary 215 Further Reading 216 Bibliography 216
Part II Interfacing, Controlling, and Communicating 217
Chapter 6 Interfacing to the Raspberry Pi Input/Outputs 219 Introduction 220 General-Purpose Input/Outputs 221 GPIO Digital Output 222 GPIO Digital Input 225 Internal Pull-Up and Pull-Down Resistors 226 Interfacing to Powered DC Circuits 227 C++ Control of GPIOs Using sysfs 229 More C++ Programming 237 An Enhanced GPIO Class 242 Memory-Based GPIO Control 245 GPIO Control Using devmem 2 246 GPIO Control Using C and /dev/mem 248 Changing the Internal Resistor Configuration 250 WiringPi 252 Installing wiringPi 252 The gpio Command 253 Programming with wiringPi 254 Toggling an LED Using wiringPi 255 Button Press--LED Response 257 Communicating to One-Wire Sensors 260 PWM and General-Purpose Clocks 263 GPIOs and Permissions 270 Writing udev Rules 270 Permissions and wiringPi 272 Summary 273
Chapter 7 Cross-Compilation and the Eclipse IDE 275 Setting Up a Cross-Compilation Toolchain 276 The Linaro Toolchain for Raspbian 277 Debian Cross-Toolchains 279 Cross-Compilation Using Eclipse 282 Installing Eclipse on Desktop Linux 282 Configuring Eclipse for Cross-Compilation 283 Remote System Explorer 286 Integrating GitHub into Eclipse 289 Remote Debugging 289 Automatic Documentation (Doxygen) 294 Building Linux 297 Downloading the Kernel Source 298 Building the Linux Kernel 299 Deploying the Linux Kernel 303 Building a Linux Distribution (Advanced) 305 Summary 307 Further Reading 308
Chapter 8 Interfacing to the Raspberry Pi Buses 309 Introduction to Bus Communication 310 I2C 310 I2C Hardware 311 An I2C Test Circuit 315 Using Linux I2C-Tools 318 I2C communication in C 325 Wrapping I2C Devices with C++ Classes 328 Spi 330 SPI Hardware 330 SPI on the RPi 332 A First SPI Application (74HC595) 334 Bidirectional SPI Communication in C/C++ 339 Multiple SPI Slave Devices on the RPi 346 UART 347 The RPi UART 348 UART Examples in c 352 UART Applications - GPS 357 Logic-Level Translation 359 Summary 361 Further Reading 361
Chapter 9 Enhancing the Input/Output Interfaces on the RPi 363 Introduction 364 Analog-to-Digital Conversion 364 SPI Analog-to-Digital Converters (ADCs) 365 ADC Application: An Analog Light Meter 368 Testing the SPI ADC Performance 370 The C Library for BCM2835 (Advanced) 373 Digital-to-Analog Conversion 376 An I2C Digital-to-Analog Converter 376 An SPI Digital-to-Analog Converter 379 Adding PWM Outputs to the RPi 381 Extending the RPi GPIOs 387 The MCP23017 and the I 2 C Bus 389 The MCP23S17 and the SPI Bus 393 A C++ Class for the MCP23x17 Devices 394 Adding UARTs to the RPi 397 Summary 403
Chapter 10 Interacting with the Physical Environment 405 Interfacing to Actuators 406 DC Motors 407 Stepper Motors 414 Relays 418 Interfacing to Analog Sensors 420 Linear Analog Sensors 422 Nonlinear Analog Sensors 423 Analog Sensor Signal Conditioning 428 Interfacing to an Analog Accelerometer 431 Interfacing to Local Displays 433 MAX7219 Display Modules 433 Character LCD Modules 436 OLED Dot-Matrix Display 440 Building C/C++ Libraries 444 Makefiles 444 CMake 446 Summary 452
Chapter 11 Real-Time Interfacing Using the Arduino 453 The Arduino 454 An Arduino Serial Slave 457 A UART Echo Test Example 457 UART Command Control of an Arduino 461 An Arduino I2C Slave 464 An I2C Test Circuit 464 I2C Register Echo Example 465 I2C Temperature Sensor Example 467 I2C Temperature Sensor with a Warning LED 469 Arduino Slave Communication Using C/C++ 471 An I2C Ultrasonic Sensor Application 473 An Arduino SPI Slave 476 Programming the Arduino from the RPi Command Line 478 Summary 480
Part III Advanced Interfacing and Interaction 481
Chapter 12 The Internet of Things 483 The Internet of Things (IoT) 484 The RPi as an IoT Sensor 485 The RPi as a Sensor Web Server 487 Nginx 488 GNU Cgicc Applications (Advanced) 494 A C/C++ Web Client 498 Network Communications Primer 499 A C/C++ Web Client 500 Secure Communication Using OpenSSL 502 The RPi as a "Thing" 503 ThingSpeak 504 The Linux Cron Scheduler 506 Sending E-mail from the RPi 510 If This Then That (IFTTT) 512 Large-Scale IoT Frameworks 513 MQ Telemetry Transport (MQTT) 514 IBM Bluemix Internet of Things 515 An IBM IoT MQTT Node.js Publish Example 518 An IBM IoT MQTT C++ Publish Example 520 Visualize Data Using IBM Quickstart 521 The C++ Client/Server 523 IoT Device Management 526 Remote Monitoring of the RPi 527 RPi Watchdog Timers 528 Static IP Addresses 529 Power over Ethernet (PoE) 530 Summary 533
Chapter 13 Wireless Communication and Control 535 Introduction to Wireless Communications 536 Bluetooth Communications 537 Installing a Bluetooth Adapter 537 Android App Development with Bluetooth 543 Wi-Fi Communications 544 Installing a Wi-Fi Adapter 544 The NodeMCU Wi-Fi Slave Processor 547 ZigBee Communications 559 Introduction to XBee Devices 559 XBee Configuration 561 An XBee AT Mode Example 563 An X