47
AODVjr TinyOS Implementa tion 002147 강 강 강 022318 강 강 강 041477 강 강 강

AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Embed Size (px)

Citation preview

Page 1: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

AODVjr TinyOS Implementation

002147 강 은 창022318 양 지 언041477 김 상 태

What we did

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

A O D V

What is AODV

Routing Protocol running into Ad-hoc Network

Dynamic

Limited Resource

Not Stationary

Have a active field

Make route when it needs

Reduce unnecessary forwarding

Maintain Timer

Routing Table

DstIP DstSeq State Hop NextLifetim

ePrecurso

r

2 3 Valid 1 2 10

5 5 Valid 3 2 7

4 3 Unvalid 2 2 0

1 63

4

52

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

Route Request

Route Reply

Route Reply-Ack

Inform Broken Link

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREPRREP

RREPRREP

RREPRREP

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RERRRERR

RERRRERR

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 0

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 1

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

Ori Dst Hop

1 4 2

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 2: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

What we did

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

A O D V

What is AODV

Routing Protocol running into Ad-hoc Network

Dynamic

Limited Resource

Not Stationary

Have a active field

Make route when it needs

Reduce unnecessary forwarding

Maintain Timer

Routing Table

DstIP DstSeq State Hop NextLifetim

ePrecurso

r

2 3 Valid 1 2 10

5 5 Valid 3 2 7

4 3 Unvalid 2 2 0

1 63

4

52

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

Route Request

Route Reply

Route Reply-Ack

Inform Broken Link

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREPRREP

RREPRREP

RREPRREP

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RERRRERR

RERRRERR

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 0

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 1

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

Ori Dst Hop

1 4 2

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 3: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

A O D V

What is AODV

Routing Protocol running into Ad-hoc Network

Dynamic

Limited Resource

Not Stationary

Have a active field

Make route when it needs

Reduce unnecessary forwarding

Maintain Timer

Routing Table

DstIP DstSeq State Hop NextLifetim

ePrecurso

r

2 3 Valid 1 2 10

5 5 Valid 3 2 7

4 3 Unvalid 2 2 0

1 63

4

52

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

Route Request

Route Reply

Route Reply-Ack

Inform Broken Link

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREPRREP

RREPRREP

RREPRREP

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RERRRERR

RERRRERR

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 0

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 1

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

Ori Dst Hop

1 4 2

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 4: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

What is AODV

Routing Protocol running into Ad-hoc Network

Dynamic

Limited Resource

Not Stationary

Have a active field

Make route when it needs

Reduce unnecessary forwarding

Maintain Timer

Routing Table

DstIP DstSeq State Hop NextLifetim

ePrecurso

r

2 3 Valid 1 2 10

5 5 Valid 3 2 7

4 3 Unvalid 2 2 0

1 63

4

52

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

Route Request

Route Reply

Route Reply-Ack

Inform Broken Link

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREPRREP

RREPRREP

RREPRREP

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RERRRERR

RERRRERR

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 0

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 1

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

Ori Dst Hop

1 4 2

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 5: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Routing Table

DstIP DstSeq State Hop NextLifetim

ePrecurso

r

2 3 Valid 1 2 10

5 5 Valid 3 2 7

4 3 Unvalid 2 2 0

1 63

4

52

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

Route Request

Route Reply

Route Reply-Ack

Inform Broken Link

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREPRREP

RREPRREP

RREPRREP

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RERRRERR

RERRRERR

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 0

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 1

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

Ori Dst Hop

1 4 2

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 6: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

Route Request

Route Reply

Route Reply-Ack

Inform Broken Link

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREPRREP

RREPRREP

RREPRREP

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RERRRERR

RERRRERR

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 0

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 1

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

Ori Dst Hop

1 4 2

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 7: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREPRREP

RREPRREP

RREPRREP

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RERRRERR

RERRRERR

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 0

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 1

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

Ori Dst Hop

1 4 2

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 8: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREPRREP

RREPRREP

RREPRREP

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RERRRERR

RERRRERR

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 0

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 1

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

Ori Dst Hop

1 4 2

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 9: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREQRREQ

RREQRREQ

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREPRREP

RREPRREP

RREPRREP

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RERRRERR

RERRRERR

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 0

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 1

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

Ori Dst Hop

1 4 2

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 10: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RREPRREP

RREPRREP

RREPRREP

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RERRRERR

RERRRERR

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 0

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 1

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

Ori Dst Hop

1 4 2

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 11: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

AODV Control Packet

RREQ

RREP

RREP-ACK

RERR

1

6

3

45

2

RERRRERR

RERRRERR

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 0

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 1

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

Ori Dst Hop

1 4 2

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 12: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 0

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 1

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

Ori Dst Hop

1 4 2

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 13: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop Dst Next

Hop

Ori Dst Hop

1 4 1

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

Ori Dst Hop

1 4 2

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 14: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

Ori Dst Hop

1 4 2

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 15: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RREQ

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREQ

Update infoAbout previous hop

Update infoAbout Originator

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 16: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 0

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 17: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 1

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 18: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RREP

1 3 42

Dst Next

Hop Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 2

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 19: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RREP

1 3 42

Dst Next

Hop

2 2 1

4 2 3

Dst Next

Hop

1 1 1

3 3 1

4 3 2

Dst Next

Hop

2 2 1

1 2 2

4 4 1

Dst Next

Hop

3 3 1

1 3 3

Ori Dst Hop

1 4 3

RREP

Update infoAbout previous hop

Update infoAbout Destination

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 20: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 Valid

2 2 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 21: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 Valid

Ori Dst Hop

1 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 22: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

2 4 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 23: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 Valid

2 2 4 Valid

Ori Dst Hop

6 7 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 24: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Ori Dst Hop

2 1 1

RREP

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 25: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 Valid

1 1 7 2 Valid

2 2 4 Valid

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 26: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RERR

1

3

4

2 5

67

Dst Next Precursor

State

6 1 5 UnValid

1 1 7 2 UnValid

2 2 4 Valid

RERRRERR

RERRRERRRERRRERR

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 27: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Example ndash Send RERR

1 3 7

Dst Precursor State

4 3 UnValid

Dst Precursor State

4 7 UnValid

Dst Precursor State

4 UnValid

RERRRERR - 4 RERRRERR - 4 RERRRERR - 4

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 28: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

MYSEQ=1

MYSEQ=5

MYSEQ=2

MYSEQ=1

MYSEQ=7

MYSEQ=2

MYSEQ=3

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 29: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Maintain Sequence Number

Update when node have new information

1

3

4

2

5

6

7

89

Dst Seq

5 4

MYSEQ=2 MYSEQ=4

Dst Seq

1 2

Dst Seq

5 3

RREP

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 30: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Maintain Lifetime

Use TTL field in IP Header to reduce unnecessary Broadcasting

1

3

4

25

6

7

8

9

1) TTL field

TTL=3

TTL=2

TTL=2

TTL=1TTL=2

TTL=2

TTL=1

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 31: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREQRREQ

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 32: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

RREPRREP

Lifetime=10

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 33: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Maintain Lifetime

2) Lifetime field in RREP

1

3

4

2

5

6

7

89

Dst Lifetime

5 10

RREPRREP

Lifetime=10

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 34: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

TinyOS Installition

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 35: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Introduction

bullTinyOS ndash wireless embedded sensor network 를 위해

디자인된 open-source operating system

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 36: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

설치 전 확인사항

bull C 드라이브에 1GB 의 용량이 있는지 ndash Windows 설정에서 temp 폴더의 위치를 1GB

이상인 드라이브로 옮겨준다

bull Cygwin 을 설치 한 적이 있는지 ndash Uninstall amp 레지스트리 삭제

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 37: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Install

bullLinux 에 설치하기

bullWindows 에 설치하기

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 38: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Windows 에 설치하기bull 관련된 프로그램을 직접 설치

ndash TinyOS amp Tools 무선 센서 네트워크를 위한 주요 OS 디버깅을 위한 Toolndash nesC TinyOS 를 위해 제작된 C 언어의 확장버전ndash Cygwin Windows 에서 Linux 와 같이 사용하기 위한 환경ndash AVR Tools Atmel 의 AVR 프로세서를 위해 적합한 SW 개발툴ndash java 14 JDK amp java COMM 20 Host PC application 과 포트 통신을 위한 것ndash Graphviz Make docs 로부터 만들어진 파일들을 보여주기 위한 것

bull Installer 사용하기 -httpwebscsberkeleyeduusersusersphpdownload=1

bull 완료 오류 체크ndash cd opttinyos-1xtoolsscripts toscheck

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 39: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

TinyOS directory 구조 (1)

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 40: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

TinyOS directory 구조 (2)

기본 tinyOS application 과 테스트 프로그램

사용자 contribution 과 Xbow firmware

Document 와 온라인 가이드

개발자 유틸리티와 프로그램

middotTinyOSOperation System 모듈 인터페이스

TinyOS 구성 인터페이스의 정의

Deluge MinRoute 등 주요 라이브러리

Mote 플랫폼과 특정한 하드웨어 드라이버들

센서와 데이터 수집보드 드라이버

Timer 와 scheduler 같은 TinyOS 서비스

Active Message 같은 TinyOS 데이터 구조

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 41: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Update

bull Version 확인ndash ldquorpm ndashqardquo 실행 후 tinyOS 홈페이지에 올라와

있는 최신버전과 비교한 후 다운로드

bull Cvs 다운받기ndash ldquocc2420dbkrdquo 용 컴파일 플랫폼 받기위해ndash ldquocvs -z3 -dpserveranonymouscvssourceforgenetcvsroottinyos co tinyos-1xldquo

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 42: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

환경 설정 (1)

bull Symbolic link 걸어주기ndash tinyostinyos-1xbetaplatformcc2420dbk

-gtopttinyos1xtosplatformcc2420dbk

bull 경로 변경해 주기ndash etcprofiledtinyossh 내용을 수정

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 43: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

환경 설정 (2)ldquotinyosshrdquo

script for profiled for bash shells adjusted for each users installation by substituting opt for the actual tinyos tree installation point TOSROOT=opttinyos-1x ltltltltltlt========== export TOSROOT TOSDIR=$TOSROOTtos export TOSDIR CLASSPATH=`$TOSROOTtoolsjavajavapath` export CLASSPATH We cannot set makerulesuntil we require make 38 makerules=$TOSROOTtoolsmakemakerules ltltltltltlt========== export makerules ltltltltltlt========== Extend path for java type java gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --java`$PATH type javac gtdevnull 2gtdevnull || PATH=`usrlocalbinlocate-jre --javac`$PATH echo $PATH | grep -q usrlocalbin || PATH=usrlocalbin$PATH

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 44: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Compile amp 실행 (1)

bull Pcndash ldquomake pcrdquo 실행 ====compilendash buildpcmainexe 1( 노드수 )= 실행ndash ldquomainexe ndashhrdquo ==== 실행 옵션 보기

bull motendash ldquomake cc2420dbkrdquo 실행ndash 실행은 mote 에 다운로드 후

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 45: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Compile amp 실행 (2)

bull 그래픽 환경에서 시뮬레이션 보기ndash tinyos-1xtoolsjavanettinyossim

tinyviz

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 46: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Compile amp 실행 (3)

bull Mote(cc2420dbk) 에 다운로드 하기ndash buildcc2420dbkmainihexndash Avr studio 를 사용하여 다운로드

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
Page 47: AODVjr TinyOS Implementation 002147 강 은 창 022318 양 지 언 041477 김 상 태

Our plan

AnalysisAnalysisTinyOS ModuleTinyOS Module

Make AODVjrMake AODVjrSourceSource

Apply AODVjrApply AODVjrto Tiny OSto Tiny OS

TinyOS InstallTinyOS Install

Make AODVMake AODVSourceSource

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47