Internet of Things: Setting Up Your DragonBoard™ Development Platform

Product type

Internet of Things: Setting Up Your DragonBoard™ Development Platform

Coursera (CC)
Logo Coursera (CC)
Provider rating: starstarstarstar_halfstar_border 7.2 Coursera (CC) has an average rating of 7.2 (out of 6 reviews)

Need more information? Get more details on the site of the provider.

Description

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

About this course: Do you want to develop skills to prototype mobile-enabled products using state-of-the-art technologies? In this course you will build a hardware and software development environment to guide your journey through the Internet of Things specialization courses. We will use the DragonBoard™ 410c single board computer (SBC). This is the first in a series of courses where you will learn both the theory and get the hands-on development practice needed to prototype Internet of Things products. This course is suitable for a broad range of learners. This course is for you if: • You want to develop hands-on experience with mobile technologies and the Internet • You want to pivot…

Read the complete description

Frequently asked questions

There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

About this course: Do you want to develop skills to prototype mobile-enabled products using state-of-the-art technologies? In this course you will build a hardware and software development environment to guide your journey through the Internet of Things specialization courses. We will use the DragonBoard™ 410c single board computer (SBC). This is the first in a series of courses where you will learn both the theory and get the hands-on development practice needed to prototype Internet of Things products. This course is suitable for a broad range of learners. This course is for you if: • You want to develop hands-on experience with mobile technologies and the Internet • You want to pivot your career towards the design and development of Internet of Things enabled products • You are an entrepreneur, innovator or member of a DIY community Learning Goals: After completing this course, you will be able to: 1. Configure at least one integrated development environment (IDE) for developing software. 2. Make use of git, adb and fastboot to flash multiple OS and repair bricked boards. 3. Install Android 5.1 (Lollipop) and Linux based on Ubuntu. 4. Create, compile and run a Hello World program. 5. Describe the DragonBoard™ 410c peripherals, I/O expansion capabilities, Compute (CPU and Graphics) capabilities, and Connectivity capabilities.

Created by:  University of California, San Diego
  • Taught by:  Ganz Chockalingam, Principal Engineer

    Qualcomm Institute of Calit2, UC, San Diego
  • Taught by:  Harinath Garudadri, Associate Research Scientist

    Qualcomm Institute of Calit2, UC, San Diego
Basic Info Course 2 of 6 in the Internet of Things Specialization Language English How To Pass Pass all graded assignments to complete the course. User Ratings 4.1 stars Average User Rating 4.1See what learners said Travail en cours

Chaque cours fonctionne comme un manuel interactif en proposant des vidéos préenregistrées, des quiz et des projets.

Aide de la part de vos pairs

Connectez-vous à des milliers d'autres étudiants et débattez sur des idées, discutez le contenu du cours et obtenez de l'aide pour en maîtriser les concepts.

Certificats

Obtenez une reconnaissance officielle pour votre travail et partagez votre réussite avec vos amis, vos collègues et vos employeurs.

University of California, San Diego UC San Diego is an academic powerhouse and economic engine, recognized as one of the top 10 public universities by U.S. News and World Report. Innovation is central to who we are and what we do. Here, students learn that knowledge isn't just acquired in the classroom—life is their laboratory.

Syllabus


WEEK 1


Introduction
Welcome to the Internet of Things! Before diving into this course give us a chance to let you know what it is all about! We will walk you through a module by module outline that will give you highlights on the interesting aspects of the course.


2 videos, 2 readings expand


  1. Video: Specialization Trailer
  2. Video: Let's take a look at all our Modules!
  3. Lecture: Get your resources in order!
  4. Lecture: Course 2 Slides


WEEK 2


Terminology/Cheat Sheet (Beginner)



In this course, you will see a lot of new words and acronyms you might not be familiar with. If you feel comfortable with your knowledge of tech terminology, feel free to skip these lessons since they will not affect the overall integrity of the course. If you see something that you want to know a little more about, feel free to watch the video to gain insight on some basic concepts. We do expect you to know the majority of this material before going into the next module, we would recommend going through the lessons as a quick brush up.


19 videos, 3 readings expand


  1. Video: Getting Ready for Module 1
  2. Lecture: Module 1 Procedure document (supplemental doc)
  3. Video: Introduction to Lesson 1
  4. Video: Acronyms (DragonBoard™ 410c)
  5. Video: Acronyms (General)
  6. Video: Frequently used Terminology
  7. Video: A look back at Lesson 1
  8. Video: Introduction to Lesson 2
  9. Video: High and Low level programming
  10. Video: Object oriented programming
  11. Video: C-programming (Systems/applications)
  12. Video: Root/Superuser
  13. Video: Levels of Abstraction
  14. Video: A look back at Lesson 2
  15. Lecture: The C-Programming language (Optional book)
  16. Video: Introduction to Lesson 3
  17. Video: UNIX
  18. Video: MS-DOS
  19. Video: DragonBoard™ 410c
  20. Video: A look back at Lesson 3
  21. Lecture: commands!
  22. Video: Video Challenge!

Graded: Module 1
Graded: Cheat Sheet Peer Review

WEEK 3


Board Bring up



The new and exciting DragonBoard™ 410c is now available! In this module you will get introduced to the new all-in-one board, get an overview of all its amazing features and find out how you can get one yourself. We will then walk you through the registration process, and how to get your board started up for the first time! By the end of this module you will know enough about the DragonBoard™ 410c to begin using it for the fun projects that are to come later in this course and in the rest of the courses in the Internet of Things specialization.


20 videos, 5 readings expand


  1. Video: Getting Ready for Module 2!
  2. Lecture: Module 2 Procedure document (supplemental doc)
  3. Video: Introduction to Lesson 1
  4. Video: About the Dragonboard™ 410c
  5. Video: Important Board Components
  6. Video: Technical Specifications
  7. Video: A look back at Lesson 1
  8. Lecture: Qualcomm® introduces the DragonBoard™ 410c! (YouTube video)
  9. Lecture: DragonBoard™ 410c Feature Highlights
  10. Video: Introduction to Lesson 2
  11. Video: Choosing an operating system
  12. Video: Purchasing your Dragonboard™ 410c
  13. Video: Registering with 96boards
  14. Video: Registering with Qualcomm® Developer Network
  15. Video: A look back at Lesson 2
  16. Lecture: While you're waiting!
  17. Video: Introduction to Lesson 3
  18. Video: Boot Configuration
  19. Video: Booting up your Dragonboard™ 410c
  20. Video: Android Developer Mode (Android Only)
  21. Video: Testing your Dragonboard™ 410c
  22. Video: Shutting down your Dragonboard™ 410c
  23. Video: Caring for your Dragonboard™ 410c
  24. Video: A look back at Lesson 3
  25. Lecture: Optional Reading about the SoC

Graded: Module 2

WEEK 4


Setting up your Developing Environment



In order to easily communicate with your DragonBoard™ 410c it is essential to set up a developing environment. In this lesson we will talk about Android Studio as our preferred IDE (Integrated Development Environment), we will show you how and where to download it as well as walk you through the installation process on both Mac/Linux and Windows. As an Android developer you will need a variety of tools, these tools come bundled with the Android Studio download and are referred to as the SDK (Software Developer Kit). This lesson will cover accessing the SDK and utilizing the various tools it has to offer. ADB (Android Debug Bridge) and Fastboot are among the tools we will be using most throughout this course. It is with these tools that you will be able to access your board at all levels and make crucial changes needed for development.


35 videos, 8 readings expand


  1. Video: Getting Ready for Module 3!
  2. Lecture: Module 3 Procedure document (supplemental doc)
  3. Video: Introduction to Lesson 1
  4. Video: Android Development
  5. Video: Introduction to Android Studio
  6. Video: Android Studio vs. Eclipse
  7. Video: A look back at Lesson 1
  8. Video: Introduction to Lesson 2a
  9. Video: Installing Java
  10. Video: Downloading Android Studio/Android SDK Bundle
  11. Video: Installing Android Studio
  12. Video: A look back at Lesson 2a
  13. Lecture: A little more (if needed)
  14. Video: Introduction to Lesson 2b
  15. Video: Installing Java
  16. Video: Downloading Android Studio/Android SDK
  17. Video: Installing Android Studio
  18. Video: A look back at Lesson 2b
  19. Lecture: A little more (if needed)
  20. Video: Introduction to Lesson 3
  21. Video: Introduction to Git
  22. Video: Git Setup
  23. Video: Git Commands
  24. Video: Using Git with Android Studio
  25. Video: A look back at Lesson 3
  26. Lecture: Git Cheat sheet
  27. Video: Introduction to Lesson 4
  28. Video: Introduction to ADB
  29. Video: Update USB Drivers (Windows) -Please see reading
  30. Lecture: Update USB Drivers (Windows)
  31. Video: ADB Protocol
  32. Video: Using the ADB Protocol
  33. Video: ADB over WIFI
  34. Video: A look back at Lesson 4
  35. Lecture: ADB Shell Commands
  36. Video: Introduction to Lesson 5
  37. Video: Fastboot
  38. Video: Booting into Fastboot
  39. Video: Fastboot Protocol
  40. Video: Using the Fastboot Protocol
  41. Video: A look back at Lesson 5
  42. Lecture: Fastboot Commands
  43. Lecture: Time for a video break (another video!)

Graded: Module 3

WEEK 5


Changing your Operating System



The DragonBoard™ 410c is capable of running a variety of different operating systems, that being said you are free to chose the operating system that you find is best fit for you. Now, we understand that there is a diverse user base for this board and would like to cover as much as possible in this lesson so everyone can enjoy it! Whether you are a Windows user or a Mac user, or prefer Android over Ubuntu, there is a video or two here for you! In this lesson we will help you choose an operating system to best fit for your needs, we will then cover the download, flashing and installation process for all currently available operating systems. Because of the diverse nature of this board we will teach you multiple ways to flash your new operating system and provide a pro's and con's list for the different methods. By the end of this lesson switching between operating system will be easy and exciting for users of all skill levels.


50 videos, 2 readings expand


  1. Video: Getting Ready for Module 4!
  2. Lecture: Module 4 Procedure document (supplemental doc)
  3. Video: Introduction to Lesson 1
  4. Video: Android for DragonBoard™ 410c
  5. Video: Ubuntu for DragonBoard™ 410c
  6. Video: Methods of Installation
  7. Video: A look back at Lesson 1
  8. Lecture: Module approach
  9. Video: Introduction to Lesson 2a
  10. Video: Download Android Image
  11. Video: Create Path Variable to Android Image
  12. Video: Flash microSD Card with Image
  13. Video: Install Android on your DragonBoard™ 410c
  14. Video: A look back at Lesson 2a
  15. Video: Introduction to Lesson 2b
  16. Video: Download Ubuntu Image
  17. Video: Create Path Variable to Ubuntu Image
  18. Video: Flash microSD Card with Image
  19. Video: Install Ubuntu on DragonBoard™ 410c
  20. Video: A look back at Lesson 2b
  21. Video: Introduction to Lesson 2c
  22. Video: Download Android binaries/bootloader
  23. Video: Altering the bootloader script
  24. Video: Fastboot Flash onto eMMC
  25. Video: A look back at Lesson 2c
  26. Video: Introduction to Lesson 2d
  27. Video: Download Ubuntu binaries/bootloader
  28. Video: Alter bootloader Script
  29. Video: Fastboot Flash onto eMMC
  30. Video: A look back at Lesson 2d
  31. Video: Introduction to Lesson 3a
  32. Video: Download Android Image
  33. Video: Download win32diskmager
  34. Video: Flash microSD Card with Image
  35. Video: Install Android on DragonBoard™ 410c
  36. Video: A look back at Lesson 3a
  37. Video: Introduction to Lesson 3b
  38. Video: Download Ubuntu Image
  39. Video: Download win32diskimager
  40. Video: Flash microSD Card with Image
  41. Video: Install Ubuntu on DragonBoard™ 410c
  42. Video: A look back at Lesson 3b
  43. Video: Introduction to Lesson 3c
  44. Video: Download Android binaries and boot loader
  45. Video: Create Path Variable to binaries and bootloader
  46. Video: Fastboot Flash onto eMMC
  47. Video: A look back at Lesson 3c
  48. Video: Introduction to Lesson 3d
  49. Video: Download Ubuntu binaries and bootloader
  50. Video: Create Path Variable to binaries and bootloader
  51. Video: Fastboot Flash onto eMMC
  52. Video: A look back at Lesson 3d

Graded: Module 4

WEEK 6


Rescuing your Bricked Board



No one expects to damage their new DragonBoard™ 410c, but sometimes accidents happen. This module is dedicated to helping you not only prevent these accidents from happening, but also to fixing any problems should your board become damaged in any way. Here we will go over the difference between a soft brick and a hard brick and why they are two things you want to avoid.


17 videos, 1 reading expand


  1. Video: Getting Ready for Module 5!
  2. Lecture: Module 5 Procedure document (supplemental doc)
  3. Video: Introduction to Lesson 1
  4. Video: Defining a Bricked board
  5. Video: What to do if your board does not turn on
  6. Video: Possible quick fixes
  7. Video: A look back at Lesson 1
  8. Video: Introduction to Lesson 2
  9. Video: Download Recovery Image
  10. Video: Flash SD Card
  11. Video: Re-flash Operating System
  12. Video: A look back at Lesson 2
  13. Video: Introduction to Lesson 3
  14. Video: Shorting your DragonBoard™ 410c
  15. Video: Disconnecting DC without Proper Shutdown
  16. Video: Precautionary Steps for GPIO Pins
  17. Video: Deleting Partition Tables and Flashing
  18. Video: A look back at Lesson 3

Graded: Module 5

WEEK 7


Creating your First Application



Welcome to Module 6! In this module we will be creating your first Android App to port to the DragonBoard™ 410c. This “Network Test” App will give you a teaser for the programmatic feats you will be able to accomplish with the DragonBoard™! You will learn about the different GPS and Location Services available on Android and how to access Bluetooth and Wi-fi Data. This module will briefly go over the importance of the Android Manifest and asking the Users for the proper permissions. Lastly, we’ll spice up our application by playing around with Intents and enabling the application to facilitate the above connectivity and network tests. This may sound like a lot, but don’t worry! We will help you get on your feet and by the end of this module, you’ll have coded a neat little application.


16 videos, 1 reading expand


  1. Video: Getting Ready for Module 6!
  2. Lecture: Module 6 Procedure document (supplemental doc)
  3. Video: Introduction to Lesson 1
  4. Video: Quick Notes about Android Development
  5. Video: GPS/Location, Bluetooth, WIFI (Overview)
  6. Video: GPS / Location (Code)
  7. Video: WiFi (Code)
  8. Video: Bluetooth (Code)
  9. Video: Manifest
  10. Video: Intents (Overview)
  11. Video: Intents (Code)
  12. Video: Finished Code
  13. Video: A look back at Lesson 1
  14. Video: Introduction to Lesson 2
  15. Video: The Android Virtual Device (AVD) and the Android Device Monitor (ADM)
  16. Video: Deploying to your Board
  17. Video: A look back at Lesson 2

Graded: Module 6

WEEK 8


Native Development Kit (NDK)



In Module 7, will give you a general introduction and brief overview of Android Studio’s Native Development Kit (NDK). The NDK allows us users to program Android applications using C/C++. The NDK utilizes the Java Native Interface (JNI) to facilitate code and interaction between Java and C/C++. This tool was created for users who either have existing C/C++ libraries or plan to use libraries only available in C/C++. Android Studio has a specific build and compilation process catered specifically for NDK Applications that we will explain and cover in this Module. Once we have a better understanding of the NDK, we will create a straightforward “Hello World!” application.


20 videos, 1 reading expand


  1. Video: Getting Ready for Module 7!
  2. Lecture: Module 7 Procedure document (Optional doc)
  3. Video: Introduction to Lesson 1
  4. Video: What is the NDK?
  5. Video: When to Use the NDK
  6. Video: NDK Compilation Process
  7. Video: Downloading NDK into Android Studio
  8. Video: Configuring your Gradle files
  9. Video: A look back at Lesson 1
  10. Video: Introduction to Lesson 2
  11. Video: Create a New Android Project
  12. Video: Create Classes and Native Method
  13. Video: Create Header Files with javah
  14. Video: Write C code
  15. Video: A look back at Lesson 2
  16. Video: Introduction to Lesson 3
  17. Video: Load C Library
  18. Video: Test Application with AVD
  19. Video: Deploy to the DragonBoard™ 410c
  20. Video: A look back at Lesson 3
  21. Video: Video Challenge!

Graded: Module 7

WEEK 9


CALIT2 Bird Application



Who doesn’t love a good game to pass time? In this Module, we will create a more advanced and interactive Android Application / Game! We will be creating our version of FlappyBird--CalliBird or Calit2Bird, as we like to call it. We will cover the basics of the game by defining certain parameters. First, we have what we call our “Actors”. You can think of “Actors” as any part of the game that appears on the screen (the obstacles and the bird). In the game, we also define our own Location system and a Map class that will handle the different movements in the game. Next we define our game processor which is the backbone of the game. Game Processor ensures your score is constantly updated, delegates the movements to the Map class, and detects collisions, to name a few. Lastly, we will cover the importance of interfaces and its application to this Android App. Interfaces will enable us to 1. play CalliBird / Calit2Bird using any form of input we want (using touch, a sensor, a controller, etc.) and 2. render the game in any display we have (a screen, an led block, etc.). There is a lot of freedom with this game so you will be able to spice it up and make it your own!


14 videos, 2 readings expand


  1. Video: Getting Ready for Module 8!
  2. Lecture: Module 8 Procedure document (supplemental doc)
  3. Video: Introduction to Lesson 1
  4. Video: MainActivity (Code - Explain the game)
  5. Video: Location and Actors (Code)
  6. Video: Map and Collisions (Code)
  7. Video: Game Processor (Code)
  8. Video: A look back at Lesson 1
  9. Video: Introduction to Lesson 2
  10. Video: Programming to Interfaces
  11. Video: Inputtable Interface (Code)
  12. Video: Renderable Interface (Code)
  13. Video: CALIT2 Bird Demo
  14. Video: A look back at Lesson 2
  15. Video: Video Challenge!
  16. Lecture: Getting ready for Course 3!

Graded: Module 8

WEEK 10


Monitoring your DragonBoard™ 410c



Congratulations! You’ve made it to the last module of Course 2! In this Module we will cover a more advanced NDK Application. This application is a bit more challenging than prior applications because it is coded in both Java and C. Regardless of the rigour, we know you’ll be able to accomplish this feat! As for the application, we will be turning our DragonBoard™ 410c into a web server! This web server will detail information regarding the DragonBoard™ 410c’s connectivity, GPIOs, and any other statuses you may want to add. We will pull the information from the DragonBoard™ and encode it in a JSON format using Java, then use C to establish a server connection and send the data out. We will walk you through our code and thought processes so that you can gain a better understanding of how to use the NDK to run Android Applications as well as a taste of what the Internet of Things is all about.


14 videos, 2 readings expand


  1. Video: Getting Ready for Module 9!
  2. Lecture: Module 9 Procedure document (supplemental doc)
  3. Video: Introduction to Lesson 1
  4. Video: TCP / IP
  5. Video: HTTP
  6. Video: Ports
  7. Video: Redirect Traffic
  8. Video: A look back at Lesson 1
  9. Video: Introduction to Lesson 2
  10. Video: Create your Server
  11. Video: Retrieving Information About Your DragonBoard™ 410c
  12. Video: Send Information on JSON
  13. Video: Demo
  14. Video: A look back at Lesson 2
  15. Video: Course 2 End
  16. Lecture: Getting ready for Course 3!

Graded: Module 9
There are no reviews yet.

    Share your review

    Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate $1.- to Stichting Edukans.

    There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.