Sun SPOTs are small sensor systems based on Sun Microsystems' Small Programmable Object Technology programmable Object Technology. They come in two forms: a base station, a Sun SPOT without a battery or a sensor board and a free-range unit, a Sun SPOT with a rechargable battery, as well as a sensor board. Both forms have IEEE 802.15.4 radios for communication.
In this assignment, you are required to program your free-range Sun SPOT unit(s) to establish a connection and communicate with a basestation unit.
Given a basestation unit, the tasks for the free-range Sun SPOTs are to:
The basestation, will then acknowledge the request from the free-range Sun SPOT with a sequence number based on the index of the location of the free SPOT's ID in a (registration) list. It will send a value of zero, if the free-range unit is already registered.
The base station executes an indefinite loop, broadcasting it's ID and listening for any connection request(s), i.e. a packet containing a node ID. Once it receives an ID, it will increment a counter (initially set to zero) and send its value back to the free-range unit. Resetting the base station will cause the program to re-start, causing the registration data to be lost.
Similarly, the free-range unit(s) will listen the radio (on a given channel) and look for a specific base station. Once the base station is found, the free-range unit(s) will send its node ID over the radio to the base station and wait for an acknowledgement in the form of a small integer (naturally limited to 255; can you see why?)-- the sequence number and display this number on its LEDs in BCD (Binary Coded Decimal) format, in BLUE color. For example, if the sequence number is 15 then the LEDs will be:
OFF OFF OFF
ON
OFF
ON
OFF
ON
If the free-range unit receives a zero as its sequence number, it should change the LED color to RED and start blinking the previously set value. This could occur, for example, if the free-range unit is reset (unintentionally). If there was no previous sequence number, all the LEDs will be blinking in RED.
Development environment...
The required software is provided in this zip file (WARNING!!! it is big; about 400MB!...) You are better off to download it from a University computer and save it on a flash drive. Alternatively, you can burn the file on a CD or a DVD after downloading it.
Please follow these instructions to install the software, i.e., NetBeans 5.5 IDE, Java JDK 1.5.0_07, apache-ant-1.5.6, and SunSPOT SDK v3.0 (aka Purple) on your computer. Note that you will need administrative priviledges for the installation. The software will soon be available on the departmental labs (I will announce the locations when ready).
Also, please look at the emulator in the SPOTWorld and get acquinted with the SunSPOTs.
Deliverables...
You are required to submit your assignment (a zip file, containing a NetBeans project) through the Department's courses web server.
This assignment is about a toy, but a functional, operating system, called PintOS from University of Berkeley (note that it is a 4-part term (group) project for their undergraduate course on Operating Systems and System Programming. You'll implement the first project (submission details will be given later). You'll work with your partner to do this assignment.
This assignment is about Windows Research Kernel (WRK). Using the sample fair share scheduling as an example, design and implement a Lottery Scheduling scheme for WRk. This assignment is now optional. You need to bring a blank CD to get the required resources. You also need to get a copy of Windows Server 2003 from Mr. Jeff Durston (E2-594).
|
|
Copyright ©
Dr. Rasit Eskicioglu
Last update: |