TOS Message 의 구성

Download Report

Transcript TOS Message 의 구성

TinyOS의 메시지 형식 및 자바 응용
프로그램들
조선대학교 정보통신공학과
변재영
[email protected]
본 자료는 한백전자 교육자료를 이용하여 제작되었음을 밝힙니다.
Wireless & Mobile Communication system LAB
Group ID, address
 Group ID
 Makefile에 다음과 같이 정의하여 사용한다.
(default 0x7D)
 DEFAULT_LOCAL GROUP = 0xgid
(gid = 0~ff)
 Address
 0x007E 주소는 UART를 의미
 0xFFFF 주소는 broadcast를 의미
 TOS_LOCAL_ADDRESS
make ZigbeX reinstall.x
X는 TOS_LOCAL_ADDRESS, 즉 mote ID 이다.
Wireless & Mobile Communication system LAB
TOS Message 의 구성
 Sync byte
 TOS Message의 시작과 끝을 알림
 0x7E
 예
 0: 항상 0x7E
 1:packet type
0x42
0x41
0x40
0xFF
:
:
:
:
ack가 필요 없는 사용자 패킷
ack가 필요한 사용자 패킷
0x41에 대한 응답 패킷
형식이 없는 패킷
 2…n-1 : payload data
 N:항상 0x7E
Wireless & Mobile Communication system LAB
Sync byte의 문제
 Payload data에 sync byte가 포함된 경우
 탈출 문자를 지정하여 sync byte가 아님을 표시
 예 0x7D 0x7E (0x7D가 탈출문자)
 탈출문자가 payload data에 포함된 경우
 0x7D 다음데이터를 0x20과 exclusive or해서 표시
 예
0x7E -> 0x7D 0x5E
0x7D -> 0x7D 0x5D
 RFC1662참조
Wireless & Mobile Communication system LAB
RAW Data Packet 1
 cygwin에서 확인





먼저 모트 두 개를 준비한다.
1번 모트에 TOSBase를 컴파일한 후 프로그램 한다.
2번 모트에 OscilloscopeRF를 컴파일한 후 프로그램 한다.
1번 모트에 시리얼 젠더와 케이블을 연결한다.
cygwin을 시작해서 다음과 같이 입력하여 확인한다.
cd /opt/tinyos-1.x/tools/java
java net.tonyos.tools.ListenRaw COM1
Wireless & Mobile Communication system LAB
RAW Data Packet 2
 실행결과
 7E 42 FF………48 7E
Wireless & Mobile Communication system LAB
TOS Message의 구조
 TOS Message







RAW패킷의 payload 데이터
0,1 : address
2 : type-----
3 : group ID
4 : length
5~n-2 : payload data
n-1~n : CRC16
 각 type에 대한 응용 프로그램확인
Wireless & Mobile Communication system LAB
TOS Message 확인
 cygwin에서 다음명령으로 확인
 Java net.tinyos.tools.Listen


FFFF : address 0A:Oscope Message
7D : group ID 1A: Length
Wireless & Mobile Communication system LAB
TOS Message의 응용프로그램
 Oscope 메시지를 받아서 표시
 Java net.tinyos.oscope.oscilloscope
 파형이 안보이면
scrolling 클릭
Wireless & Mobile Communication system LAB
Tossim
Wireless & Mobile Communication system LAB
Debug
 필요한 라이브러리 컴파일(python, apache)




cd /opt/tinyos-1.x/tools/java/org/python
make
cd ../apache
make
 TOSSIM
 TinyOS simulator
 사용법
make pc
 PC 타겟에서 실행되는 파일을 만들어줌
Build/pc/main.exe [option] 모트의 개수
Wireless & Mobile Communication system LAB
TOSSIM
 Oscilloscope를 PC용으로 컴파일




cd /opt/tinyos-1.x/contrib/zigbex/Oscilloscope
make clean
make pc
make pc reinstall.20
Wireless & Mobile Communication system LAB
TOSSIM
 TOSSIM 도움말: build/pc/main.exe -h
Wireless & Mobile Communication system LAB
TOSSIM
 OscilloscopeM.nc 분석
경로 /opt/tinyos-1.x/apps/Oacilloscope
 dbg(DBG_USR1, "data_event\n");
 메시지 출력
 cygwin에서 실행
export DBG=usr1
./build/pc/main.exe 1
Wireless & Mobile Communication system LAB
TOSSIM
 dbg(DBG_USR1, "data_event\n");
 export DBG=usr1
 다른 옵션들 ./build/pc/main.exe –h
 여러 개의 옵션을 선언
 export DBG=usr1,led,am,paket….
Wireless & Mobile Communication system LAB
Tinyviz
 예제





cd /opt/tinyos-1.x/apps/Oscilloscope
make clean
make pc
export DBG=led
$tinyviz -run $main 5
Wireless & Mobile Communication system LAB
Tinyviz
Wireless & Mobile Communication system LAB