Projects:2015s1-12 An Open-Source Local Area Network (LAN)
Contents
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 e�ective 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