Projects:2015s1-12 An Open-Source Local Area Network (LAN)

From Projects
Revision as of 19:01, 17 August 2015 by A1629165 (talk | contribs) (Motivation)
Jump to: navigation, search


Introduction

Team

Members:
Robert Long
Oscar Evans
Luke Hub-Mayner Warner
Leigh-Anthony Noye

Supervisors:
Andrew Allison
Braden Phillips

Project Information

We will develop an Open-Source Local Area Network (LAN), based on the Arduino platform, and using the C programming language. The purpose of this network is to serve as a simple low-cost platform for teaching principles of real-time and embedded systems. There are three stages of development:
1/ Get the Arduino up and working with an LCD display and a number pad, and program it as a glass type-writer, with modes for the alphabetic characters, after the fashion of many mobile telephones. Students will need to use multiple processes (threads) to control the display and the keypad, and to buffer characters.
2/ Get Two, or more, Arduino microcontrollers exchanging text on an I2C bus. At this stage there is no collision detection or addressing.
3/ Provide an application layer which allocates addresses to clients. If I send a text as: #57 Mr. Watson - Come here - I want to see you# then the message: "Mr. Watson - Come here - I want to see you" appears only on the display of client #57, and no other client. (There is still no encryption or security, just the convenience of an address.)

Background

-> some background here

Tech Background

Aim

This project aims to produce an open source local area network (LAN). It is to be based on the Arduino platform and use the C programming language. This must operate over an I2C bus on the Arduino units with each unit to have its own bus connecting to a centralised server. Each client unit must also have its own display and keypad for input/output interaction with users. The purpose of this is to create a simple, low-cost platform for teaching principles of real-time and embedded systems. This system is to include an application layer which allocates addresses to clients however there will not be any security or encryption included.

Motivation

The University of Adelaide course, Real Time and Embedded Systems, utilises the C pro- gramming language to teach real-time and concurrency methodologies. To ensure this is effective as possible it is best to use teaching tools which are grounded in familiar tools. This is why the example of a LAN implemented in Arduino units using C is a compelling choice. Likewise I2C is a well-developed and extensively used bus protocol. Exposing stu- dents to these tools and protocols which are actively being used in industry is an invaluable experience. In previous years, the course has utilised desktop computers to teach the C in practicals and the Pic microprocessors as a teaching tool for the embedded systems theory. The outcome of this project will enable the two sets of theory taught by the course to be concatenated thus removing current disjointed approach of practicals.

Significance

Approach/Architecture Design

Potential Issues

4. References

Protothreads yo