Tuesday20 Group2
From School2007
Dairy: Tuesday 20 February 2007, Bambang Hermanto, Indonesia
[edit] Case Studies in Embedded Sensors Applications (by Prof. Bhaskaran Raman)
Today, Prof. Bhaskaran Raman was gave lecture about embedded sensors applications. His lecture also explain about sensors correlate with wireless networking which its sensors is used to many applications, such as for monitoring systems (bridge health, equipment maintainence, medical diagoistic, animal tracking and etc). Sensors are used to sense a phenomena. At a system embedded sensors applications matter, we need sensor, processing, memory, radio, called, sensor mote etc like a native CPU. A sensor systems usually also used to remote application such as data acquisition, management and monitoring over the internet.
[edit] Introduction to 802.15.4 and TinyOS (by Prof. Bhaskaran Raman)
In this next topic, Prof. Bhaskaran Raman was talk about 802.15.4 standard and TinyOS. 802.15.4 IEEE is standard for embedded wireless sensors applications. He was explain about wireless sensors concept. There are two 802.15.4 device class ie Full Function Device (FFD) and Reduced Function Device (RFD), And other concept with clearly explanation. The goals of this topic is an operating systems for embedded sensors nodes, low power devices and operations.
This following point different requirements for such platforms such as :
- Should be designed for current and future hardware,
- Cater to a wide variety of applications,
- Limited resources (memory, power, etc),
- Intensive operation,
- Etc.
The picture shown a sensor board TMote Sky, the family of Berkeley Motes. Its also completely with component diagram.
[edit] Lab: TinyOS Exercise-1: Data Transfer (by Prof. Bhaskaran Raman)
At this exercise we uses code/material from the reference:
- TinyOS 2.0 Tutorials http://www.tinyos.net/tinyos-2.x/doc/html/tutorial/
- Moteiv Boomerang http://www.moteiv.com/
We started this exercise using the Tmote Sky mote from Moteiv, and the Boomerang software (based on TinyOS 2.0).
- Step.1
We use cygwin application like command line in linux OS, and compiling an application called Blink and etc like the guide of this exercise.
- Step.2
We used the source code MyBlinkC.nc and MyBlinkApp.nc then try and observe the exercise.
The picture shown, the Tmote board was mounted to Mac PC.
- Step.3
With the source code MyBlinkC.nc and MyBlinkApp.nc, we can make and change the green or yellow LEDs glow. At the folowing data MyBlinkC.nc we changed the red LEDs glow to green LEDs glow.
MyBlinkC.nc module MyBlinkC { uses interface Timer2<TMilli> as Timer; uses interface Leds; uses interface Boot; } // End module MyBlinkC implementation { event void Timer.fired() { //call Leds.redToggle(); call Leds.greenToggle(); } event void Boot.booted() { call Leds.init(); call Leds.redOff(); call Leds.greenOff(); call Leds.yellowOff(); call Timer.startPeriodic(1000); // 1 sec repeat timer } } // End implementation
- Step.4
At the step.4, we were also try and observe like the guide.
- Step.5
Now, we will try a variable in the component, called count of type uint8_t We use the last three bits of the count variable by changing file MyBlinkC.nc like the following data:
module MyBlinkC { uses interface Timer2<TMilli> as Timer; uses interface Leds; uses interface Boot; } // End module MyBlinkC implementation { uint8_t count; event void Timer.fired() { uint8_t temp; count++; if(count%2==1) call Leds.yellowOn(); else call Leds.yellowOff(); temp=count/2; if(temp%2==1) call Leds.greenOn(); else call Leds.greenOff(); temp/=2; if(temp%2==1) call Leds.redOn(); else call Leds.redOff(); } event void Boot.booted() { count=0; call Leds.init(); call Leds.redOff(); call Leds.greenOff(); call Leds.yellowOff(); call Timer.startPeriodic(1000); // 1 sec repeat timer } } // End implementation
Today, we were only finished the exercise until exercise step.5, and it will be continued at the next day....