You are previewing Getting Started with UDOO.
O'Reilly logo
Getting Started with UDOO

Book Description

Become an efficient maker by designing and building amazing prototypes with the UDOO platform and Android

In Detail

UDOO is a new development platform that acts as a single board computer capable of running both Linux and Android operating systems. With the compatibility of Arduino devices together with the Android operating system, this board favors the rapid development of physical applications with a solid user interface, which contributes significantly to the success of your projects.

This book is a great tutorial if you are planning to integrate all the amazing capabilities offered by Android into your small or big prototypes and be productive as soon as possible.

This is a step-by-step tutorial that will help you to create amazing real-world applications using UDOO. In each chapter, a new capability provided by the UDOO board is explained and then used in a real-world context to create a new physical application.

What You Will Learn

  • Build working prototype circuits using breadboards

  • Create real-world applications and prototypes using all the features provided by the UDOO board

  • Control external circuits from Android applications with the Accessory Development Kit

  • Listen to the environment and change the application behavior using external sensors

  • Enhance user interaction with native Android APIs for voice recognition and synthesis

  • Use the Android networking API to provide Internet data to UDOO-connected circuits

  • Collect and publish sensor data from Android applications using MQTT libraries

  • Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

    Table of Contents

    1. Getting Started with UDOO
      1. Table of Contents
      2. Getting Started with UDOO
      3. Credits
      4. Foreword
      5. About the Author
      6. About the Reviewers
      7. www.PacktPub.com
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
      8. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      9. 1. Turn On the Engines
        1. Introducing the UDOO platform
        2. Downloading and installing Android
          1. Installing from Windows
          2. Installing from Mac OS X
          3. Installing from Linux
          4. Our first run
        3. Setting up the development environment
          1. Installing and using Arduino IDE
            1. Installing in Windows
            2. Installing in Mac OS X
            3. Installing in Linux
            4. First launch
          2. Installing and using Android Studio
        4. Running your first Android application
        5. Summary
      10. 2. Know Your Tools
        1. Introducing Arduino Due capabilities
          1. Uploading the first program
        2. Interacting with the real world
          1. Communicating with Arduino
          2. Writing an Android application controller
          3. Android Accessory Development Kit
        3. Fast prototyping a circuit
          1. Using a breadboard
          2. Interacting with external circuits
          3. Sending commands from Android
        4. Summary
      11. 3. Testing Your Physical Application
        1. Building a testable circuit
        2. Developing a diagnostic mode
          1. Writing the first test
        3. Summary
      12. 4. Using Sensors to Listen to the Environment
        1. Working with environment sensors
        2. Building a heartbeat monitor
          1. Creating a circuit with a light sensor
        3. Collecting data from the sketch
        4. Android for data visualization
          1. Setting up the ADKToolkit
          2. Continuous data readings from Android
        5. Enhancing the prototype
        6. Summary
      13. 5. Managing Interactions with Physical Components
        1. Managing user interactions
        2. Building a web radio with physical interaction
          1. Normalizing collected data before sending
          2. Sending multiple data with Arduino
        3. Streaming audio from Android applications
          1. Designing the Android user interface
          2. Setting up the ADK Toolkit
          3. Changing web radio stations
          4. Reading input from physical devices
          5. Managing audio volume
        4. Improving the prototype
        5. Summary
      14. 6. Building a Chronotherm for Home Automation
        1. Home automation
        2. Building a chronotherm circuit
          1. Sending data and receiving commands
        3. Managing the chronotherm through Android
          1. Setting up the ADK Toolkit
          2. Designing the Android user interface
            1. Writing the Overview activity
            2. Creating a custom UI component
            3. Finishing the Overview activity
            4. Writing the Settings activity
          3. Managing user's setpoints
            1. Reading setpoints from the Overview activity
            2. Writing setpoints from the Settings activity
          4. Interacting with Arduino
        4. Improving the prototype
        5. Summary
      15. 7. Using Android APIs for Human Interaction
        1. Extending prototypes with Android APIs
        2. Improving user settings
          1. Storing preset configurations
          2. Using presets among activities
        3. Implementing voice recognition
          1. Using voice recognition to add or edit presets
          2. Using voice recognition to change active presets
        4. Improving user interaction with voice synthesis
          1. Providing feedback to users
        5. Summary
      16. 8. Adding Network Capabilities
        1. Extending Chronotherm with network capabilities
          1. Connecting to REST APIs
          2. Extending the Android user interface
        2. Collecting weather forecast data
        3. Improving the boiler with an antifreeze check
        4. Summary
      17. Index