Book Reviews - Banana Pro Blueprints

Book Reviews - Banana Pro Blueprints

Key Features

  • Delve into the expanse of Banana Pi's self-managing functionalities and develop real-world projects
  • Gain hands-on experience of developing various wireless, multimedia, robotic, and sensor-based applications with Banana Pi
  • Develop your applications using Banana Pi through a project-based approach

Book Description

This book follows a tactical plan that will guide you through the implementation of Banana Pro and its configurations. You will then learn the various programming languages used with Banana Pi with the help of examples. In no time at all, you'll be working on a wireless project that implements AirPlay servers, hotspots, and so on. Following this, you'll develop a retro-style arcade kiosk game. Then we'll move on to explore the multimedia features of Banana Pro by designing and building an enclosure for it. After this, you'll learn to build a remote-controlled smart car and we'll examine how to control a robotic arm. The book will conclude with the creation of a home sensor system that has the ability to expand or shrink to suit any home.

What you will learn

  • Remotely connect to Banana Pro and program the embedded board
  • Use Banana Pro as a hotspot or provide an AirPlay server for wireless audio transmission
  • Find out about the different programming languages that can be used with Banana Pro
  • Build and program your own multimedia centre in order to watch television and movies
  • Connect peripherals such as a camera, LCD, or hard disk to Banana Pro
  • Manage and regulate your Linux system with Banana Pro
  • Stream music wirelessly from your mobile phone to Banana Pro

About the Author

Ruediger Follmann was born in 1968 in Germany. He studied electrical engineering at RWTH Aachen, Germany, and received his PhD from the University of Duisburg-Essen, Germany. He has worked for IMST GmbH, Germany, for more than 20 years, where he heads the RF circuits and system integration department. IMST is a design and development company with more than 170 employees. He uses embedded boards in many different projects, for example, in order to control MMICs or hybrid electronics. Follmann is the author of many technical articles as well as Das Raspberry Pi Kompendium, Springer.
Tony Zhang was born in 1990 in China. He studied control science and engineering at HIT, China, and received his master's degree in 2015. Since 2014, Tony has been working with LeMaker community, where he is the cofounder and is heading the R&D department.

Table of Contents

  1. Introduction to Banana Pro
  2. Programming Languages
  3. Wireless Projects
  4. An Arcade Cabinet
  5. A Multimedia Center
  6. Remote Controlling a Smart Monitor Car
  7. A Laser Engraver
  8. Scratch – Building a Smart House
Chapter 1: Introduction to Banana Pro 1
Banana Pro 2
Specifications of Banana Pro 3
Banana Pro onboard LEDs 9
Getting started 9
The first boot 12
Available operating systems for Banana Pro 13
Android 14
Linux 15
The FEX file 18
Transferring an OS to a hard disk 23
Add-ons 27
The LCD module 27
The 7-inch LCD step-by-step guide 28
The camera module 33
A step-by-step guide to the camera module 34
Cases 36
GPIO add-ons 38
An onboard microphone 39
Chapter 2: Programming Languages 41
Basic principles 42
Remote connections 42
Secure Shell 42
Using xrdp for remote desktop connection 43
Basic requirements for programming Banana Pro 44
Editors 45
Shell programming 47
Checking the Banana Pro temperature 47
Controlling Banana Pro's LEDs from SSH 48
Programming GPIOs from SSH 50
Another shell example 52
WiringBP 53
Python 55
The basics 56
A simple web server 57
Using Python for GPIO 58
Setting LEDs in Python 60
A Python window example 62
C/C++ 64
The WiringBP C code example 66
C access to onboard LEDs 67
Debugger 73
Scratch 76
Hello world – example for Scratch 77
Using LN Digital with Scratch 78
New kernels 81
Compiling on Banana Pro 82
Cross-compilation 83
Chapter 3: Wireless Projects 87
OpenVPN 88
Connecting from Android 93
WLAN 95
Setting up WLAN 95
Setting up an access point mode 96
On air 100
The AirPlay protocol 101
AirPrint 104
Printing from Android and iOS 111
Serving web pages 112
Install PHP and MySQL 113
Installing contao 116
A measurement server 125
The FTDI/SPI control of devices 126
A web server 129
Explanations 131
Chapter 4: An Arcade Cabinet 133
Implementing hardware accelerations 134
Installing dependencies 134
Installing modules 134
Installing packages 135
Installing a directory 135
Installing libdri2 135
Installing libump 136
Installing the sunxi-mali driver 136
The X11 version of the sunxi-mali driver 137
The framebuffer version of the sunxi-mali driver 137
Installing xf86-video-fbturbo 137
Getting device permission 138
Testing hardware acceleration 139
Implementing libretro emulators 142
Installing dependent packages 142
Installing libretro frontend - RetroArch 142
The X11 version of RetroArch 143
The framebuffer version of RetroArch 143
Installing libretro cores 144
Installing iMAM4ALL libretro core 144
Installing the SNES libretro core 144
Configuration 145
Playing games 146
Playing a game directly with a command line 146
Playing a game from the RetroArch menu interface 147
Testing games 149
Building PCSX 149
Installing dependent packages 149
Installing PCSX 149
Downloading PCSX ReARMed 150
Patching 150
Compiling and installing 150
Playing PCSX games 151
Configuration 151
Testing PCSX games 152
Making an arcade cabinet for Banana Pro 152
Preparing the materials 152
A suitcase 152
A joystick 153
A micro USB extended line 154
A USB hub 154
An LCD display 155
An audio extended line 155
A mini keyboard 156
Designing a frame 156
Assembling 157
Assembling a base frame 158
Assembling Banana Pro and a joystick 158
Mounting an LCD 159
Assembling a top frame 160
Playing the Banana Pro arcade cabinet 161
Configuring output to an LCD 161
Configuring a joystick controller 164
Playing the game on the arcade cabinet 166
Chapter 5: A Multimedia Center 169
Kernel preparation 170
Adding the I2S audio device 170
Setting the graphics memory to maximum 172
Deactivating display driver kernel logging 173
Activating IR driver key repetition 174
Activating the sunxi lirc driver 174
Correcting display driver brightness 175
Adding the DVB-SKY S960 USB box 176
Installing the accelerated mali driver 176
Video Disk Recorder (VDR) 178
Setting display settings 178
Setting locales 179
Adding (non-free) Debian multimedia packages 180
Loading required modules 180
A network address 180
Editing the FEX file 181
Installing required packages 182
Installing and patching VDPAU 183
Compiling VDR 185
Defining a sound device 188
Adding a default sound device 188
Using an electrical SPDIF with Banana Pro 189
Configuring a remote control 190
irexec 196
Adding a USB DVB stick 196
The DVB kernel driver 196
The DVB userspace driver 200
VDR scripts 201
Adding plugins to VDR 204
Watching DVDs 205
Listening to audio CDs 206
Watching teletext 207
Changing VDR's skin 208
Streaming TV to mobile devices 210
Switching to external players 211
Additional plugins 212
Remote controlling the VDR 212
Troubleshooting 213
Device permissions 213
Changing libvdpau version 214
The Xbox Multimedia Center (XBMC) installation 214
Chapter 6: Remote Controlling a Smart Monitor Car 219
Implementing the IP camera 220
Installing ffmpeg 220
Instaling nginx 221
Configuring the nginx server 222
Starting the nginx server 222
Accessing the nginx server 223
Autostarting the nginx server at system boot 224
Setting up a camera 226
Camera specifications 226
Connecting the camera module 228
Testing the camera module on Banana Pro 231
Streaming a video via the Internet 232
Setting up the hardware of a smart monitor car 234
Preparing the materials 234
A car suite 235
The L289N motor drive board 236
Battery 236
A 5 inch LCD 237
Assembly 237
Configuring the display output for the 5 inch LCD 240
Controlling a smart monitor car using a remote 240
Webiopi for Banana Pro 240
Installing webiopi for Banana Pro 240
Testing webiopi on Banana Pro 241
Using webiopi to control the car 245
The control logic 246
Writing the webiopi controlling code 246
Adding the car controls to the IP camera web page 254
Chapter 7: A Laser Engraver 257
Setting up the frame for laser engraving 258
Preparing materials 258
Setting up the laser engraving machine hardware 262
Configuring software on Banana Pro 264
Installing dependencies 264
Installing the GrblController software 264
Installing software on a PC 267
Installing Inkscape 267
Installing Arduino 268
Loading a program into the laser CPU 269
Loading bootloader 269
Loading the driving code 270
How to use a laser engraver 273
Generate the G code 273
Beginning the engraving process 278
Chapter 8: Scratch – Building a Smart House 281
Configuring LeScratch 282
Installing the prerequisites 282
Setting up the system 283
Setting up Scratch Mesh 284
Running LeScratch 284
Controlling the LeScratch peripherals 286
General Purpose Input Output (GPIO) 287
Instructions 287
Example: The GPIO board 287
Inter-Integrated Circuit 291
Instructions 291
Example – a LN-HUB-32IO USB hub 292
Serial Peripheral Interface (SPI) 294
Instructions 295
Example – LN digital or SPI general 296
Example: LN Digital (the LNDI commands) 297
The step motor 298
Technical specifications 299
Example – the step motor 300
Real-time clock 302
Technical specifications 303
Example – RTC 303
The ultrasonic sensor 305
Technical specifications 305
Example – the ultrasonic sensor 306
The humidity and temperature sensor 307
Technical specifications 307
Example – the DHT sensor 308
The sound detect sensor 309
Technical specifications 310
Example – the sound detect sensor 310
The AD/DA converter 312
Technical specifications 312
Example – the AD/DA convertor 313
Photoresistor 315
Technical specifications 315
Example – a photoresistor 316
The touch sensor 318
Technical specifications 318
Example – the touch sensor 318
The tilt sensor 319
Technical specifications 319
Example – the tilt sensor 320
The LCD1602 display 321
Technical specifications 322
Example – the LCD1602 display 322
Building the LeScratch smart house 324

No comments:

Post a Comment