Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ubiquitous Computing Practice - Part 2(LED 제어) -

Similar presentations


Presentation on theme: "Ubiquitous Computing Practice - Part 2(LED 제어) -"— Presentation transcript:

1 Ubiquitous Computing Practice - Part 2(LED 제어) -
Spring Semester, 2011 Ubiquitous Computing Practice - Part 2(LED 제어) - Laboratory of Intelligent KUT ( Yong-hwan Kim

2 목차 1. Task를 이용한 LED 제어 2. Timer를 이용한 LED 제어 3. 조도 센서 제어 4. 온/습도 센서 제어
LED component를 사용하여 LED 제어 2. Timer를 이용한 LED 제어 Timer component를 이용하여 일정 시간마다 LED On/Off 3. 조도 센서 제어 빛의 광량을 측정하는 조도 센서의 동작 및 센싱 데이터 처리 및 확인 4. 온/습도 센서 제어 SHT11을 이용하여 온/습도를 얻고 시리얼 통신으로 확인 5. Photo 센서 제어(RF 통신) BS520 Photo 센서를 이용하여 빛과 적외선을 측정하고 그 결과를 RF 무선통신을 통해 다른 노드에 전송 Ubiquitous Computing

3 목차 6. 기본 무선통신 프로토콜 7. RF Power Control, Multichannel and RSSI
MAC 프로토콜의 특징과 사용법을 실제 무선 송수신 예제를 통해 연습 7. RF Power Control, Multichannel and RSSI RF Power Control과 Multichannel 에 대해 이해 및 RSSI 값 활용 방법 예제 수행 8. 무선 Ad-hoc Flooding 네트워크 Multi-hop 통신 기법 9. Tree 라우팅을 이용한 멀티 홉 통신 조도, 온도, 습도, 적외선 값을 센싱한 후, Tree 라우팅으로 구성된 멀티 홉 네트워크를 통해 생성한 데이터를 Sink로 전달 10. RFID 실습 13.56MHz 태그와 리더기의 사용법과 제어 방법 Ubiquitous Computing

4 2. Timer를 이용한 LED 제어 Timer component를 이용하여 일정 시간마다 LED On/Off
Ubiquitous Computing

5 Blink 예제 실습 $ cd /opt/tinyos-2.x/contrib/zigbex/BlinkTimer
$ make zigbex Ubiquitous Computing

6 Blink 예제 실습 USB-ISP와 ZigbeX노드를 결합 USB-ISP mode는 ISP로 설정
AVR Studio에서 Tools → Program AVR → Auto Connect 메뉴를 선택 … 버튼을 눌러 BlinkTimer\build\zigbex\main.hex 선택 후 Program 버튼을 눌러 프로그램함 프로그램 직후 red LED가 1초마다 toggle 되는 것을 볼 수 있음 Ubiquitous Computing

7 (generic configuration)
configuration BlinkTimer { } implementation { components MainC, BlinkTimerM, LedsC, new TimerMilliC (); BlinkTimerM.Boot -> MainC; BlinkTimerM.Leds -> LedsC; BlinkTimerM.Timer -> TimerMilliC; BlinkTimer.nc BlinkTimer.nc MainC (configuration) TimerMilliC (generic configuration) Boot Timer implementation startPeriodic(); startOneShot(); BlinkTimerM (module) LedsC (configuration) Boot implementation Boot.booted(); Timer.fired(); Leds Leds implementation Leds.init(); Leds.redOn(); Timer

8 기본 지식(TimerMilliC component)
경로: \opt\tinyos-2.x\tos\system\TimerMilliC.nc Timer interface 사용 Timer interface에서 제공하는 함수들 command uint32_t getdt () 설정된 타이머의 주기를 리턴 command uint32_t getNow () 현재 시간을 리턴 command uint32_t gett0 () 타이머가 호출된 시간인 t0를 리턴 command bool isOneShot () 한 번 호출로 종료되는 타이머인지 확인 command bool isRunning () 현재 타이머가 설정되어 실행중인지 확인 *command bool startOneShot (uint32_t dt) dt 시간 후에 한번 이벤트를 발생 command bool startOneShot (uint32_t t0, uint32_t dt) t0 + dt 시간 후에 이벤트를 발생 *command bool startPeriodic (uint32_t dt) dt 시간을 주기로 계속 반복하여 이벤트 발생 command bool startPeriodic (uint32_t t0, uint32_t dt) t0 시간부터 dt 주기로 반복하여 이벤트 발생 command void stop () 현재 진행중인 timer를 정지 event void fired () 정해진 타이머가 끝났음을 알림 Ubiquitous Computing

9 BlinkTimer.nc Timer component를 이용하여 일정 시간마다 LED On/Off 하는 예제
configuration BlinkTimer { } implementation { components MainC, BlinkTimerM, LedsC, new TimerMilliC (); BlinkTimerM.Boot -> MainC; BlinkTimerM.Leds -> LedsC; BlinkTimerM.Timer -> TimerMilliC; 중복적으로 사용될수 있는 컴포넌트를 지원하기 위한 기법 Ubiquitous Computing

10 BlinkTimerM.nc module BlinkTimerM { uses { interface Boot;
interface Leds; interface Timer<Tmilli>; } implementation { event void Boot.booted() { call Timer.startPeriodic(1000); event void timer.fired () { call Leds.led0Toggle (); //시간단위를 ms로 함 //1초마다 Timer.fired event 함수 호출 Ubiquitous Computing

11 Blink 예제 실습 응용 Timer를 3개 사용하여 BlinkTimer2 작성 1000ms 마다 빨간색 led Toggle
Ubiquitous Computing


Download ppt "Ubiquitous Computing Practice - Part 2(LED 제어) -"

Similar presentations


Ads by Google