Upload
rose-rice
View
218
Download
0
Embed Size (px)
DESCRIPTION
HANBACK ELECTRONICS CO., LTD. 저자권 보호됨 LED in ZigbeX Use of LED –In order to check whether certain device’s operation is performed successfully or not. LedsC Component –LedsC is component to control the LED device.
Citation preview
HANBACKELECTRONICS CO., LTD.
저자권 보호됨
Lab1: LED Control
ZigbeX mote has Red, Yellow, Green LED. This lab using LED control component provided by TinyOS exercises LED device control.
HANBACKELECTRONICS CO., LTD.
저자권 보호됨23年 5月 5日 2
ZigbeX LED
HANBACKELECTRONICS CO., LTD.
저자권 보호됨23年 5月 5日 3
LED in ZigbeX • Use of LED
– In order to check whether certain device’s operation is performed successfully or not.
• LedsC Component– LedsC is component to control the LED device.
HANBACKELECTRONICS CO., LTD.
저자권 보호됨23年 5月 5日 4
Leds functions functions
Initialization result_t Leds.init() – 3 LED lamp is initialized.
Red LED result_t Leds.redOn() - Red LED On. result_t Leds.redOff() - Red LED OFF. result_t Leds.redToggle() - Red LED toggling
Green LED result_t Leds.greenOn() - Green LED On. result_t Leds.greenOff() - Green LED OFF. result_t Leds.greenToggle() - Green LED toggling.
Yellow LED result_t Leds.yellowOn() - Yellow LED On. result_t Leds.yellowOff() - Yellow LED OFF. result_t Leds.yellowToggle() - Yellow LED toggling.
HANBACKELECTRONICS CO., LTD.
저자권 보호됨23年 5月 5日 5
LED sample progam
HANBACKELECTRONICS CO., LTD.
저자권 보호됨23年 5月 5日 6
Blink program • Blink program
– An instant component named “Blink”. For configuration and module, two files Blink.nc & BlinkM.nc are required.
– Blink.nc is for configuration which uses many other components used in Blink program
– BlinkM.nc is a implemented module for Blink program.
• Directory of Blink program– c:\Programfiles\UCB\cygwin\opt\tinyos‐1.x\contrib\zigbex\
Blink\ – Bink.nc & BlinkM.nc
HANBACKELECTRONICS CO., LTD.
저자권 보호됨23年 5月 5日 7
Blink.nc • Blink.nc .
– Main, LedSc, BlinkM are used and shows how they are wired.
configuration Blink { } implementation { components Main, BlinkM, LedsC; Main.StdControl ‐> BlinkM.StdControl; BlinkM.Leds ‐> LedsC; }
HANBACKELECTRONICS CO., LTD.
저자권 보호됨23年 5月 5日 8
BlinkM.nc • BlinkM.nc (1)module BlinkM { provides { interface StdControl; } uses { interface Leds; } } implementation { task void led_task();
command result_t StdControl.init() { call Leds.init(); return SUCCESS; }
- declared by “provide” interface and “uses” interface
- In implementation block is for user programming- task (function w/o parameter) : declaration- StdControl init(), start(), stop() sequence.
- StdControl.init() calls Leds.init() to initialize LedsC.
HANBACKELECTRONICS CO., LTD.
저자권 보호됨23年 5月 5日 9
BlinkM.nc • BlinkM.nc (2)command result_t StdControl.start() { post led_task(); return SUCCESS; }
command result_t StdControl.stop() { return SUCCESS; }
task void led_task() { int i; for(i=0; i<10; i++) { call Leds.yellowOn(); TOSH_uwait(30000); call Leds.greenToggle(); } } }
-After StdControl.init(), StdControl.start() is executed automatically - In StdControl.start(), defined by “task” led_task() is called by “post” header.
- No specific implemetation in StdControl.stop().
- Here your algorithm to control LED
HANBACKELECTRONICS CO., LTD.
저자권 보호됨23年 5月 5日 10
LED Lab
Item:host PC(labtop), 1 mote , ISP(AVR), cable
HANBACKELECTRONICS CO., LTD.
저자권 보호됨23年 5月 5日 11
LED lab -1• Start cygwin• Goto target directory
• Compile - make zigbex
cd /opt/tinyos‐1.x/contrib/zigbex cd Blink
HANBACKELECTRONICS CO., LTD.
저자권 보호됨23年 5月 5日 12
LED lab -2• Download binary code to ZigbeX using
ISP tool– After compile, folder, build/zigbex is created and main.hex
is the binary. – Run AVR studio
HANBACKELECTRONICS CO., LTD.
저자권 보호됨
Lab -3• Run AVR Studio4
• Select ‘cancel’
HANBACKELECTRONICS CO., LTD.
저자권 보호됨
Lab -4 • Select
– Tool Program AVRAuto Connect
HANBACKELECTRONICS CO., LTD.
저자권 보호됨
Lab -5• Find ‘main.hex’ file
HANBACKELECTRONICS CO., LTD.
저자권 보호됨
Lab - 6• Select ‘Program’
HANBACKELECTRONICS CO., LTD.
저자권 보호됨
Lab - 5• Check the message and graph
HANBACKELECTRONICS CO., LTD.
저자권 보호됨23年 5月 5日 18
LED lab result• Output
– Yellow LED is con, every 30ms Green LED is toggling
– Please change source code to test RED.