Assignment title: Information
1 Intended Learning Outcomes
On completion of this module participants should be able to:
1. Search for, cite, and critique research literature for wireless intelligent systems;
2. Appraise central problems associated with concurrency and distributed network communication related to wireless
intelligent systems;
3. Design and program a wireless intelligent system;
4. Critically evaluate an intelligent wireless networked system application.
2 Introduction
The aim of this coursework is for you to use the Telos Mote hardware and TinyOS software development environment
to:
1. Perform some sensing. Specifically, if your student number is:
(a) a multiple of 2 (even), you should sense light level (PAR or TSR).
1
(b) not a multiple of 2 (odd), you should sense battery voltage.
2. Perform a calculation after sensing on the mote that performed the sensing. If the second digit of your student
number is:
(a) < 4: find the average of the last 7 readings as a floating point number;
(b) ≥ 4 and < 7: find the average of the last 5 readings as a floating point number;
(c) ≥ 7: find the difference between the last 2 consecutive readings.
3. Transmit the calculated value using the radio.
4. On receipt of any message:
(a) print out the data received. Note, to print floating point numbers, use printfloat1.
(b) if the originating sender is the same as the third digit of your student id and is not the current node, retransmit
The deliverable outputs of this coursework come in three parts:
1. The software—that is, the source code including Makefile— both in a zip file and as a PDF document.
2. An A4 poster describing and critically evaluating the software / hardware system (with an emphasis on diagrams
and pictorial representation).
3. An in-class demonstration of the motes showing that they are responsive to environment changes and able to
communicate.
3 What you will do
3.1 Developing the software
It is recommended that you take a feature-driven development approach. That is, create the system in a series of stages
and at each stage, the system should be functional and readily tested. The following is a sketch of a possible series of
features:
1. Create a sensing system that can detect the light level on one of the light sensors and print it out to the screen.
2. Expand on this by performing some calculation (such as, filtering or calculating whether it is above or below a
threshold). The resulting code should print both the original and computed values.
3. Further expand by transmitting data over the radio. This stage requires two motes to test. The second mote
should be set up to print out any packets it receives.
4. Further expand by developing a forwarding algorithm based on 'flooding' to allow for multi-hop networking.
3.2 A4 Poster
The A4 poster should provide:
• A simple summary of the main features of your system.
• A critical evaluation of the system as developed and any problems there might be in 'scaling up' (e.g., having larger
number of motes or deploying for longer time).
• A description of how the system might be incorporated into a real-world application (e.g., home monitoring, theft
detection, parking lot space detector). Please look at the notes for the first lecture for more guidance on possible
real-world applications.
• A reflection on the design process and any strengths or weaknesses of the development approach.
1https://github.com/jbrusey/cogent-house/blob/master/tos/Util/printfloat.h
2
3.3 The demonstration
Shortly after the hand-in date, a slot (during lecture or lab time) will be scheduled where you can present your work. For
this, you should bring:
1. all Telos motes loaned to you, pre-programmed with your code (as submitted);
2. a laptop on which you can demonstrate the system;
3. be ready to program additional motes that will be provided for the demo.
3.4 Checklist
• Have you tested your code with several motes? (Additional motes will be loaned for lab sessions only).
• Have you submitted your source code including Makefile in a form that can be compiled?
• Have you submitted an A4 poster describing your work?
• Are you ready for your demonstration?
4 How to submit your source and poster
The source code should be submitted electronically using Turnitin on the link on the Moodle page. It is recommended
that you 'zip' or compress the source code files prior to submission.
The poster should be submitted separately (separate Turnitin link) as a PDF document.
Your source code should also be 'pretty printed' to a PDF documented and submitted to the Turnitin link on moodle.
One way to convert to PDF is to use enscript. For example,
enscript --highlight=c --color --output - myfile.nc | ps2pdf - myfile.pdf
It is possible to merge several PDF documents using the convert command:
convert myfile.pdf myotherfile.pdf merged.pdf