homecloud computingcloud data Processingclound of networks
cloud of things

Building Combined Arduino Android Applications

Duration: 5 Days

Course Background

This course covers both practical Arduino and Android side programming of hybrid Android-Arduino applications where an Android device is used to extend both the reach and the capabilities of Arduino based smart sensors by interfacing them to Android devices. The course covers the various methods for connecting to Android devices such as Bluetooth, USB, P2P WiFi, and NFC and considers how Arduino devices with suitable peripherals (shields) can make use of these connection mechanisms. The course is a mixture of presentations, case studies and labs. The labs are partly cookbook and partly open ended.

This is a practical hands on course with the split between theory and practice being about 50% theory and 50% practice

Course Prerequisites and Target Audience

This course is aimed at reasonably experienced Arduino developers with a basic understanding of Android (Java) programming who wish to get up to speed with implementing Arduino applications that interface to the internet / cloud via an Android smart phone, tablet or embedded system.

Course Outline

  • Overview of Arduino architecture and Arduino programming
  • Overview of Android architecture and Android programming
  • Overview of communication interfaces available for the Arduino
  • Overview of communication interfaces available for Android
  • Networking with the Arduino - ethernet, wireless (GSM, Zigbee, WiFi), USB, RS232
  • Connecting an Arduino device to an Android phone
  • Installing Android on embedded Linux platforms
    • Building an Android distribution from source
    • Installing Android on the Beaglebone Black
  • Android Open Accessory Protocol and Android Accessory Development Kit (ADK)
    • Android Open Accessory Protocol - background and overview
    • Overview of the USB family of protocols
    • Android USB programming - foundations
    • Introduction to the Android Accessory Development Kit (ADK)
    • Overview of the Arduino Mega ADK - architecture and programming
    • Overview of the Arduino Due and its support for the ADK - architecture and programming
  • Android Bluetooth programming
    • Android and Arduino Bluetooth communication
    • Controlling and Arduino device from Android via Bluetooth
  • Android Arduino (Near Field Communications) NFC
    • Overview of NFC
    • Android support for NFC
    • Controlling Arduino based actuators from an Android device via NFC