Contents

About the Author

About the Technical Reviewers

Acknowledgments

Introduction

image Chapter 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

image 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

image 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

image 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

image 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

image 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

image 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

image 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

image 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

image 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

image 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

image 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

image Appendix A: Intel Galileo I/O and Muxing

image Appendix B: Intel Galileo Gen 2 I/O and Muxing

image Appendix C: Video Capturing

image Appendix D: Picture Grabber

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.217.200.108