Difference between revisions of "ECE434 Project - Bictochat"

From eLinux.org
Jump to: navigation, search
(Work Breakdown)
(Theory of Operation)
Line 60: Line 60:
 
== Theory of Operation ==
 
== Theory of Operation ==
  
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.
+
The system takes x, y data from a mouse connected to the BeagleBone as well as pixel color data and sends it to the server that all of the devices connect to. The server then broadcasts the data back to all of the connected client devices so that the client can draw the pixel in the correct x, y location on the screen. With this implementation, all connected devices can draw at the same time and the server will handle which pixels on the shared screens are drawn to. Additionally, the server handles different colored pixels overlapping by drawing on the last received pixel's color.
 +
 
 +
The figure to the right shows the general flow of data through the system where the client collects the information to be drawn to the screen, sends it to the server, the server receives that data and shares it with all connected clients and those clients draw on their screens based on what is sent to them by the server.
  
 
[[File:SystemDiagram.png|300px|thumb]]
 
[[File:SystemDiagram.png|300px|thumb]]

Revision as of 11:09, 18 November 2019

thumb‎ Embedded Linux Class by Mark A. Yoder


Team members: Brendan Mulholland, Isaac Lau and Zachary Forster

Grading Template

I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

00 Executive Summary
00 Installation Instructions 
00 User Instructions
00 Highlights
00 Theory of Operation
00 Work Breakdown
00 Future Work
00 Conclusions
00 Demo
00 Late
Comments: I'm looking forward to seeing this.

Score:  10/100

(Inline Comment)

Executive Summary

Picture that summarizes the project.

The goal of this project is to allow multiple Beaglebones equipped with LCD touch screens to draw together. In other words, when one user draws in the drawing app on their screen, the result appears on all connected clients. This is achieved by using a simple TCP server that transfers X, Y, and color data to allow real-time drawing on multiple Beaglebones.

Packaging

If you have hardware, consider Small Build, Big Execuition for ideas on the final packaging.

Installation Instructions

Give step by step instructions on how to install your project.

  • Include your github path as a link like this to the read-only git site: https://github.com/MarkAYoder/gitLearn.
  • Be sure your README.md is includes an up-to-date and clear description of your project so that someone who comes across you git repository can quickly learn what you did and how they can reproduce it.
  • Include a Makefile for your code if using C.
  • Include any additional packages installed via apt. Include install.sh and setup.sh files.
  • Include kernel mods.
  • If there is extra hardware needed, include links to where it can be obtained.

User Instructions

Once everything is installed, how do you use the program? Give details here, so if you have a long user manual, link to it here.

Highlights

Here is where you brag about what your project can do.

Include a YouTube demo the audio description.

Theory of Operation

The system takes x, y data from a mouse connected to the BeagleBone as well as pixel color data and sends it to the server that all of the devices connect to. The server then broadcasts the data back to all of the connected client devices so that the client can draw the pixel in the correct x, y location on the screen. With this implementation, all connected devices can draw at the same time and the server will handle which pixels on the shared screens are drawn to. Additionally, the server handles different colored pixels overlapping by drawing on the last received pixel's color.

The figure to the right shows the general flow of data through the system where the client collects the information to be drawn to the screen, sends it to the server, the server receives that data and shares it with all connected clients and those clients draw on their screens based on what is sent to them by the server.

SystemDiagram.png

Work Breakdown

Brendan Mulholland: Setting up drivers to enable the Beaglebone to communicate and draw on the TFT display.

Isaac Lau: Setting up communication via TCP socket server to send data between clients and server.

Zach Forster: Assisted in implementing communication and designed physical housing.

Future Work

Suggest addition things that could be done with this project.

Conclusions

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




thumb‎ Embedded Linux Class by Mark A. Yoder