Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.

+

When the web browser connects to the quadServer it sends a socket.emit that says it is ready for some data. On the bone the quadServer gets that and queries the imu over i2c. It then sends the results back to the browser with a socket.emit. The browser sees this, parses the data and formats it to display. It then waits 100ms before sending another socket.emit to the server for some new data. Repeat.

Executive Summary

This project is designed to support the ongoing work of the ROBO 4XX quadcopter teams by creating and documenting a web service hosted on the BBB that allows for telemetry from the quadcopter over WiFi (USB Dongle). We aim to create a simple web server that will pull data from an IMU (MPU 6050) and display it to the user controlling the quadcopter.

Packaging

The hardware for this project consists of a wifi USB dongle and an i2c imu. Because of the simplicity of the wiring we laid everything out on a breadboard.

Necessary Hardware

Installation Instructions

In order to use the UWNx00 wifi dongle (one of the latter two), you can follow the instructions here. Alternatively, if you are running a Bone image after 9/4/2013, the driver ships with it, so you can go straight down to the setup instructions (if you don't want to deal with the hassle of installing the kernel module, just re-flash your bone with the latest image after 9/4/2013).

In order to use the MPU6050, the following packages must be installed:

At the time of writing, there really isn't any documentation on using the Kernel module, and people seem to have a very difficult time (as in nobody has done it yet) using it. We are also not using the kernel module.

User Instructions

The user starts the quadServer.js file (node quadServer.js). They then navigate to the address of the beagle in a web browser. They can observe the accelerometer and gyroscope data in real time over wifi.

Highlights

Theory of Operation

When the web browser connects to the quadServer it sends a socket.emit that says it is ready for some data. On the bone the quadServer gets that and queries the imu over i2c. It then sends the results back to the browser with a socket.emit. The browser sees this, parses the data and formats it to display. It then waits 100ms before sending another socket.emit to the server for some new data. Repeat.

Work Breakdown

List the major tasks in your project and who did what.

Also list here what doesn't work yet and when you think it will be finished and who is finishing it.

Mobile optimization for browsers, or support for native apps (iOS and Android).

Conclusions

Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.