Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Title
Copyright
About ApressOpen
Dedication
Contents at a Glance
Contents
About the Author
About the Technical Reviewers
Acknowledgments
Introduction
Chaptr 1: Intel Galileo and Intel Galileo Gen 2
The Beginnings
About this Book
Why Use Intel Galileo Boards?
The Software Advantages
The Hardware Advantages
Hardware Overview
The Processor: Intel Quark SoC X1000
Introducing Intel Galileo
Introducing Intel Galileo Gen 2
Preparing Your Cables
The Serial Cable for Intel Galileo
The Serial Cable for Intel Galileo Gen 2
Testing the Serial Cables
Exploring the Linux Console
Testing the Data Cables
Summary
Chapter 2: Native Development
Introduction to the Yocto Build System
Yocto and this Book
Creating Your Own Intel Galileo Images
Preparing Your Computer
The SPI vs. SD Card Images
Building Intel Galileo Images
Building and Using the Cross-Compiler Toolchain
Creating a Hello World!
Debugging Native Applications
Booting Intel Galileo with Your Own Images
Booting from SD Card Images
Booting from SPI Card Images
What to Do If Intel Galileo Bricks
Summary
Chapter 3: Arduino IDE and Wiring Language
A Little Bit of History
The Intel Makers Community
Installing the Arduino IDE for Intel Galileo
Connecting Intel Galileo
Installing the Drivers and the Arduino IDE
Installing the Arduino IDE
Installing the IDE on Linux
Installing the Drivers
Understanding the Arduino IDE
Checking the Port and Board Selected
What Is a Sketch?
Compiling and Running the Sketch
Persisted and Not Persisted Sketches
Persisted Sketches and Long Time to Start
Debugging with Serial Console and Serial Communication
Serial.begin(int speed)
Serial.print(data)
Serial.println(data)
Serial.available( )
Serial.read( )
Printing Debug Messages and Using the Serial Console
The Arduino Language Reference and APIs
Structure
Digital I/O
Analog I/O
Time
Running Some Examples
Fade Example
Button Example
ReadAnalogVoltage Example
The Debounce Example
Updating the Firmware Using the IDE
Updating the Firmware with Different Firmware
Troubleshooting the Drivers
Serial Communication Issues with IDE on Windows
IDE Problems with Virtual Machines and 64-Bit Linux
Communicating Sketches with Linux Native Programs
is.Additionalfuture Project Example: Unread Email Alarm with Python and POSIX Functions
Summary
Chapter 4: New APIs and Hacks
Servo API
The Theory versus Practice
The Mistake with Intel Galileo and Servos
What Is New in Servo API?
Serial, Serial1, and Serial2 Objects
Testing the Serial, Serial1, and Serial2 Objects
Improving the I/O Speed
The New APIs for I/O
The Tone API
What’s New in the Tone API?
The pulseIn API
unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000)
What’s New with pulseIn()
A Sample Running pulseIn()
Hacks
Hacking the Servo Library
Hacking the GPIO Expander for New PWM Frequencies
Single Code for Intel Galileo and Intel Galileo Gen 2
Project: DHT Sensor Library with Fast I/O APIs
Materials List
The DHT Sensor
A Workaround Using Tri-State Buffers
Creating a New Library for DHT11 Sensor
Summary
Chapter 5: Networking and Hacks
WiFi Cards
Setting Up the WiFi Mini-PCIe Card
Checking if the WiFi Card Was Recognized
Adding Support to a New WiFi Card
The WiFi API
Scanning the Wireless Networks
Connecting to the WPA or WEB
Hacking the WiFi Library
Step 1: Setting Up the WiFi Connection
Step 2: Restart the Wireless Connection
Step 3: Hacking the WiFi Class
Ethernet API
What’s New with Ethernet API and Intel Galileo
Ethernet Example: Network Time Protocol (NTP)
Dynamic and Static IP Using Ethernet
Simplifying the Sketches by Removing the Ethernet Objects
Transferring Files Between Intel Galileo and Computers
Using ftp
Using scp or pscp
Using an SD Card
Using a USB Pen Drive
Hacking the IDE to Improve the Sketch Transfer
How the Hacked IDE Works
Hacking the Transfers
Summary
Chapter 6: Tweeting with REST API 1.1
Project Details
Material List
System and Hardware Clock
Assembling the Coin Battery
Workaround with 1.5V Batteries
Creating a Twitter Application Account
Step 1: Creating Your Twitter Account
Step 2: Creating the Twitter Application
Creating a Script to Post Messages on Twitter
Step 1: Identifying the API
Step 2: Generating the OAuth Signature with the OAuth Tool
Step 3: Creating a Script to Post on Twitter with Intel Galileo
Step 4: Creating a Sketch that Tweets
Ideas for Improving the Project
Flowers and Plants Communicating with You on a Social Network
Summary
Chapter 7: Using OpenCV
OpenCV Primer
Project Details
Materials List
USB Video Class
Preparing the BSP Software Image and Toolchain
Using eGlibc for Video4Linux Image
Increasing the rootfs Size
Disabling GPU Support on OpenCV
Building the SD Image and Toolchain
Development Library Packages
Connecting the Webcam
Introduction to Video4Linux
Exploring the Webcam Capabilities with V4L2-CTL
Changing and Reading Camera Properties
Pixel Formats and Resolution
Capturing Videos and Images with libv4l2
A Program for Capturing Video
A Program to Capture Images
Working with OpenCV
Building Programs with OpenCV
Capturing an Image with OpenCV
The Same Software Written in Python
Processing Images
Detecting Edges
Face and Eyes Detection
Emotions Classification
Ideas for Improving the Project
Integrating Your Emotions with a Robotic Head
Expanding the Classifications
Improving the Emotion Classification Using Large Databases
Improving the Emotion Classification for Several Faces
Summary
Chapter 8: Creating a Soil Moisture Sensor
Project Details
Material List
Assembling the Moisture Sensors
Mechanical Assembly
Electrical Assembly
Assembling the Flower Face
Testing the Flower Face with the Software
Reviewing the Code
Running the Project
Calibration Procedure
Ideas for Improving the Project
Increasing the Number of Sensors
Automatic Irrigation
Using Appropriate Wires
Using a Commercial Sensor
Tweeting
Summary
Chapter 9: Home Automation and Dynamic Web
Project Details
The Software Architecture
Materials List
Integrating the Components Individually
Testing the Keypad
Testing the PIR Sensor
The PIR Sensor Connection
Testing the YwRobot Relay Module
Testing the TMP36 Temperature Sensor
Creating the Sketch
Sending UDP Messages
Receiving UDP Messages
Joining All Code in a Single Sketch
Creating Your Own Web Server with node.js
Updating node.js
About the npm
Installing Cheerio
Installing socket.io
The Web Page
Writing the Web Server Code
Running the Home Automation System
Ideas for Improving the Project
Power of Ethernet (PoE)
Using express and node.js
Changing the Web Page and Web Server Without Experience with the Web
Creating an Analogic Keypad and Having More I/Os Available
Adding a Username and Password
Using the DHT11 Sensor
Summary
Chapter 10: Power over Ethernet (PoE)
Project Details
Materials List
Assembling the PoE Module
Powering On with the PoE Injector
How It Works
Ideas for Improving the Project
Summary
Chapter 11: Assembling and Controlling a Robotic Arm
An introduction to Robotic Arm Theory
Using an Online Tool to Calculate Your Servos
Considerations About This Project
The Robotic Arm
Assembling the Robotic Arm
Step 1: Preparing the Servos
Step 2: Assembling the Base
Step 3: Assembling the Shoulder
Step 4: Assembling the Elbow
Step 5: Assembling the Wrist
Step 6: Assembling the Mechanical Gripper
Step 7: Assembling a Base
Controlling the Robotic Arm
Building a Servo Control Board
The Hardware
Assembling the Board
The Software
A Gripper Based on Coffee and a Balloon
Preparing the Coffee Gripper
A Sketch for the Coffee Gripper
Ideas for Improving this Project
Summary
Chapter 12: Using an LTE Modem
An Introduction to XMM7160 and XMM7260
Project Details
Materials List
Considerations Related to Antennas
Preparing the Hardware
Step 1: Preparing the SIM Card
Step 2: The NGFF/mPCIe Adaptor
Step 3: Adapting the Modem Card
Step 4: Connecting the Antennas
Step 5: Connecting the Modem to Intel Galileo
Preparing the Software
Step 1: Checking the Modem
Step 2: Loading the CDC-ACM Driver
Step 3: Checking if the Modem Responds to AT Commands
Step 4: Checking the SIM Card Connection
Step 5: Configuring the APN and Attaching it to the Network
Step 6: Creating an IP Interface with pppd
Step 7: Testing the Internet Connection
Testing the Internet Bandwidth
Why Aren’t the Download/Upload Bandwidths Optimal?
Ideas for Improving the Project
Improving the Chat Script
Loading the cdc-acm Driver Automatically
Summary
Appendix A: Intel Galileo I/O and Muxing
Appendix B: Intel Galileo Gen 2 I/O and Muxing
Appendix C: Video Capturing
Appendix D: Picture Grabber
Index
← Prev
Back
Next →
← Prev
Back
Next →