책소개
「모바일단말상용화센터 교재시리즈」제3편『소형 모바일 디바이스용 응용개발』. 이 책은 센서 네트워크를 운영하기 위한 초소형 운영체제인 NanoQplus와 Tiny OS에서의 프로그래밍 방법에 대해 이야기한다. NanoQplus는 한국전자통신연구원에서 개발한 국산 운영체제로, 앞으로 많은 활용이 기대되고 있다. 그리고 TinyOS는 현재 가장 널리 쓰이는 운영체제이다.
본문은 NanoQplus, TinyOS란 무엇인지, 구조는 어떻게 되어 있으며, 어떤 특징이 있는지, 이들을 이용하여 개발환경을 구축하는 방법을 무엇인지 등을 설명한다. C 혹은 자바를 어느 정도 다룰 줄 알며 센서 네트워크에 대해 추상적으로 알고 있는 사람들을 대상으로 하였다. 특히 TinyOS에 비해 관련 기술 문서나 개발 노하우 축적이 부족한 NanoQplus에 대해 많은 심혈을 기울였다.
목차
1.NanoQplus 소개
1.1. NanoQplus 전체 구조 11
1.2. NanoQplus 폴더 구조 16
2.NanoQplus 개발환경 구축
2.1. 개요 21
2.2. Cygwin 설치 21
2.3. WinAVR 설치 27
2.4. Fusing 프로그램 설치 31
2.5. NanoQplus 설치 35
2.6. Cygwin 환경 설정 37
2.7. ETRI-ZNIC 모듈 패치 41
2.8. 컴파일 및 퓨징 46
2.9. menuconfig 사용법 57
3.NanoQplus 프로그래밍 시작하기
3.1. 개요 67
3.2. LED Blink 67
3.3. UART & LED Blink 72
3.4. Multi?Thread LED Blink 83
3.5. Rx와 Tx 88
3.6. Multi?hop Routing 100
4.NanoQplus 고급 응용
어플리케이션 개발
4.1. Simple Sensor Networks의 구조 및
동작 과정 113
4.2. 파일 구조 115
4.3. 프로토콜 정의 116
4.4. 싱크 노드용 응용프로그램의 구현 121
4.5. 센서 노드용 응용프로그램의 구현 126
4.6. MAC Filter 1314.7. 컴파일 및 퓨징 134
4.8. 실행 화면 139
5.NanoQplus용 라우팅
프로토콜 스택 개발
5.1. 새로운 프로토콜 개발을 위한 환경 설정 145
5.2. 새로운 라우팅 프로토콜 개발 153
5.3. 정리 166
5.4. 가변길이 헤더를 가진 라우팅 프로토콜 168
5.5. 라우팅 프로토콜 작성하기 ? 실전 173
6.Tiny OS 소개 및 설치
6.1. TinyOS 소개 203
6.2. 개발 환경 소개 205
6.3. Tiny OS 설치 207
6.4. 설치 후 점검(toscheck, H/W verification) 214
7.TinyOS 프로그래밍 시작하기
7.1. Task scheduling에 관한 설명 227
7.2. Compile 방법 및 programming 방법 229
7.3. Led 관련 예제 분석 및 실습 234
7.4. 모트를 이용한 센싱 관련
예제 분석 및 실습 252
7.5. 라디오 통신을 위한 예제 분석 및 실습 267
7.6. Java 툴 사용을 위한 예제 분석 및 실습 292
7.7. TOSSIM을 이용하여 TinyOS 어플리케이션
시뮬레이션 하기 327
8.센서 네트워크 설계
8.1. 개요 347
8.2. 노드용 어플리케이션 설계 349
8.3. 싱크용 어플리케이션 설계 358
8.4. 실제 동작 과정 372