Upload
ursula-anderson
View
221
Download
2
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
설치 전 확인사항
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
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
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
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
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
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
환경 설정 (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
환경 설정 (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
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
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
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
Our plan
AnalysisAnalysisTinyOS ModuleTinyOS Module
Make AODVjrMake AODVjrSourceSource
Apply AODVjrApply AODVjrto Tiny OSto Tiny OS
TinyOS InstallTinyOS Install
Make AODVMake AODVSourceSource