HANBACK ELECTRONICS CO., LTD. 저자권 보호됨 Lab1: LED Control ZigbeX mote has Red, Yellow,...

Preview:

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.

Recommended