SlideShare ist ein Scribd-Unternehmen logo
1 von 496
UBee430TM Programming Guide



Document Version : 1.8
                                                           Last Update : 2011.1.18




                    TinyOS2.x 기반
                 유비쿼터스 센서 네트워크
                                 설계 및 응용



                               Copyright   2011, Huins Co.Ltd



● 본 교재에서는 UBee430, UBee-Dust, UBee430-BN Platform 및
  UBee430-AP-KIT에 대하여 TinyOS 2.0.2 설치 및 예제 코드를 제공
  합니다.
● 본 교재는 휴인스의 동의나 허락 없이 어떠한 형태의 출판이나 무단
  배포를 할 수 없습니다.


Document History

    Revision                Date                         Description
  Rev   1.0         2008-1-4               First Edition
  Rev   1.6         2009-4-23              패킷 데이터 수정
  Rev   1.7         2010-4-22              환경설치 매뉴얼 수정
  Rev   1.8         2011-1-18              RFID 모듈 수정




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                    1
UBee430TM Programming Guide




                                                         - 목차 -

I. UBee430에 대해서 ··························································································· 11
1. UBee430 하드웨어 설명 ························································································ 11
  1.1. UBee430 ······················································································································ 11
  1.2. 블록도 ··························································································································· 11
  1.3. 특징 ······························································································································· 12
  1.4. 구성도 ··························································································································· 13
  1.5. 설정 및 전원 ··············································································································· 14
  1.5.1. 전원 스위치 설정 ··································································································· 14
  1.5.2. USB 모듈 결합 ······································································································· 14
  1.6. Memory Map ( DS28DG02 ) ················································································ 15
  1.7. 기구도 ··························································································································· 16
2. UBee-Dust 하드웨어 설명 ··················································································· 17
  2.1. UBee-Dust ·················································································································· 17
  2.2. 블록도 ··························································································································· 17
  2.3. 특징 ······························································································································· 18
  2.4. 구성도 ··························································································································· 18
  2.5. 설정 및 전원 ··············································································································· 19
  2.5.1. 전원 스위치 설정 ··································································································· 19
  2.5.2. USB 모듈 결합 ······································································································· 19
  2.6. Pin Map ······················································································································· 20
  2.7. 기구도 ··························································································································· 20
3. UBee430-BN 하드웨어 설명 ·············································································· 21
  3.1. UBee430-BN ·············································································································· 21
  3.2. 블록도 ··························································································································· 21
  3.3. 특징 ······························································································································· 22
  3.4. 구성도 ··························································································································· 22
  3.5. 설정 및 전원 ··············································································································· 23
  3.6. 기구도 ··························································································································· 23




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                                                                          2
UBee430TM Programming Guide




II. UBee430 개발환경 구축 ··········································································· 24
1. TinyOS 2.x 개발환경 구축 ··················································································· 24
   1.1. Install Java 1.5 JDK (JDK 5.0 Update 12) ····················································· 26
   1.2. Install Cygwin ············································································································ 28
   1.3. Installing Graphviz ···································································································· 32
   1.4. Huins UBee430 mote 설치 ···················································································· 34
   1.4.1. Huins_UBee430 - USB to serial Converter 드라이버 설치 ····················· 34
   1.4.2. Huins_UBee430 - USB Serial Port ································································· 36
   1.5. Install native compilers ··························································································· 38
   1.5.1. Atmel AVR toolchain 설치 ·················································································· 38
   1.5.2. MSP430 toolchain 설치 ······················································································· 38
   1.6. Install TinyOS 2.x toolchain ·················································································· 39
   1.6.1. nesC toolchain 설치 ···························································································· 39
   1.6.2. TinyOS tools 설치 ································································································· 39
   1.7. Install the TinyOS 2.x Source tree ····································································· 40
   1.7.1. TinyOS 2.x 소스트리 설치 ·················································································· 40
   1.7.2. 환경변수 등록 ········································································································· 40
   1.8. 자동 설치 ··················································································································· 42
   1.9. 테스트 ························································································································· 43
   1.9.1. mote 연결 테스트 ································································································ 43
   1.9.2. TinyOS 개발 환경 테스트 ···················································································· 43
   1.9.3. 컴파일 및                  설치 테스트 ····················································································· 44
   1.9.4. 자바 프로그램 실행 테스트 ················································································· 44
   1.9.5. C언어 SDK 컴파일 및 테스트 ·········································································· 44


III. 컴파일 ·························································································································· 46
1. 컴파일 및 인스톨 방법 ··························································································· 46


IV. Tutorial ····················································································································· 48
1. Lesson1[Getting Started with TinyOS and nesC] ······························ 48
2. Lesson2[Modules and the TinyOS Execution Model] ······················ 65
3. Lesson3[Mote-mote radio communication] ··········································· 81
4. Lesson4[Mote-PC serial communication and SerialForwarder]101
5. Lesson5[Sensing] ·································································································· 125


SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                                                                      3
UBee430TM Programming Guide




6. Lesson6[TinyOS Boot and System Initialization] ······························ 135
7. Lesson7[Permanent Data Storage] ···························································· 141
8. Lesson8[Resource Arbitration and Power Management] ·········· 153


V. TinyOS Programming Guide ······························································ 167
1. TinyOS 2.0 OverView ··························································································· 167
2. TinyOS 2.x Boot Sequence ············································································· 174
3. TinyOS_Programming ··························································································· 184


VI. 기본 예제를 통한 UBee430 마스터 ········································· 257
1. Null ·································································································································· 257
   1.1. 목적 ···························································································································· 257
   1.2. 소스 파일들의 역할 ································································································ 257
   1.2.1. Makefile ··············································································································· 257
   1.2.2. NullAppC.nc ········································································································ 257
   1.2.3. NullC.nc ················································································································· 258
   1.3. TinyOS 시뮬레이터 - TOSSIM ············································································ 259
   1.3.1. TOSSIM 설정 ········································································································ 259
   1.3.2. 시뮬레이션 수행 ··································································································· 260
2. Blink ································································································································ 263
   2.1. 목적 ···························································································································· 263
   2.2. 실행방법 ···················································································································· 263
   2.3. 결과 ···························································································································· 263
   2.4. 코드설명 ···················································································································· 263
   2.4.1. BlinkAppC.nc ········································································································ 263
   2.4.2. BlinkC ····················································································································· 265
   2.5. Blink 시뮬레이션 ··································································································· 266
3. BlinkToRadio ·············································································································· 270
   3.1. 목적 ···························································································································· 270
   3.2. 실행방법 ···················································································································· 270
   3.3. 실행결과 ·················································································································· 270
   3.4. 코드설명 ···················································································································· 270
   3.4.1. BlinkToRadio.h ····································································································· 270
   3.4.2. BlinkToRadioAppC.nc ························································································ 272
   3.4.3. BlinkToRadioC.nc ······························································································· 273

SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                                                                            4
UBee430TM Programming Guide



   3.5. BlinkToRadio 시뮬레이션 ······················································································ 276
4. BlinkToSerial ·············································································································· 278
   4.1. 목적 ···························································································································· 278
   4.2. 실행방법 ···················································································································· 278
   4.3. 수행결과 ···················································································································· 279
5. BaseStation ················································································································ 281
   5.1. 목적 ···························································································································· 281
   5.2. 실행방법 및 결과 ···································································································· 281
   5.3. 코드설명 ···················································································································· 283
   5.3.1. Makefile ················································································································· 283
   5.3.2. BaseStationC.nc ·································································································· 283
   5.3.3. BaseStationP.nc ·································································································· 284
6. Sense ····························································································································· 291
   6.1. 목적 ···························································································································· 291
   6.2. 실행방법 ···················································································································· 291
   6.3. 수행결과 ···················································································································· 291
   6.4. 코드설명 ···················································································································· 291
   6.4.1. SenseAppC ··········································································································· 291
   6.4.2. SenseC ·················································································································· 292
   6.4.3. DemoSensorC ······································································································ 293
   6.5. Sense 시뮬레이션 ··································································································· 294
7. Oscilloscope ·············································································································· 296
   7.1. 목적 ···························································································································· 296
   7.2. 실행방법 및 결과 ···································································································· 296
   7.3. 코드설명 ···················································································································· 298
   7.3.1. Oscilloscope.h ····································································································· 298
   7.3.2. OscilloscopeAppC.nc ························································································ 299
   7.3.3. OscilloscopeC.nc ································································································ 299
8. BlinkConfig ················································································································· 304
   8.1. 목적 ···························································································································· 304
   8.2. 실행방법 ···················································································································· 304
   8.3. 코드설명 ···················································································································· 305
   8.3.1. 주요 실행 흐름 ····································································································· 305
   8.3.2. BlinkConfigAppC.nc ··························································································· 306
   8.3.3. BlinkConfigC.nc ··································································································· 306
   8.4. BlinkConfig 시뮬레이션 ························································································· 311


SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                                                                         5
UBee430TM Programming Guide




9. BLOCK ··························································································································· 312
   9.1. 목적 ···························································································································· 312
   9.2. 실행방법 ···················································································································· 312
   9.3. 결과 ···························································································································· 313
   9.4. 코드설명 ···················································································································· 313
   9.4.1. RandRWAppC.nc ······························································································· 313
   9.4.2. RandRWC.nc ········································································································ 315
10. CircularLog ··············································································································· 322
   10.1. 목적 ·························································································································· 322
   10.2. 실행방법 ·················································································································· 322
   10.3. 결과 ·························································································································· 322
   10.4. 코드설명 ·················································································································· 322
   10.4.1. RandRWAppC.nc ···························································································· 322
   10.4.2. RandRWC.nc ······································································································ 325
11. SyncLog ····················································································································· 332
   11.1. 목적 ·························································································································· 332
   11.2. 실행방법 ·················································································································· 332
   11.3. 결과 ·························································································································· 333
   11.4. 코드설명 ·················································································································· 333
   11.4.1. SyncLogAppC.nc ···························································································· 333
   11.4.2. SyncLogC.nc ····································································································· 335
12. arbiters ······················································································································· 341
   12.1. TestFcfsArbiter 예제 ···························································································· 341
   12.1.1. TestFcfsArbiterC 설명 ····················································································· 341
   12.1.2. TestFcfsArbiterC에서 사용하는 주요 컴포넌트 ········································· 342
   12.1.3. 어플리케이션의 동작 ························································································ 343
   12.1.4. 실행방법 ·············································································································· 344
   12.1.5. 결과 ······················································································································ 345
13. RoundRobinArbiter ······························································································ 346
   13.1. RoundRobinArbiter 목적 ····················································································· 346
   13.1.1. 예제 설명 ············································································································ 346
   13.1.2. 주요 컴포넌트 설명 ·························································································· 347
   13.1.3. 어플리케이션의 동작 ························································································ 348
   13.1.4. 결과 ······················································································································ 349




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                                                                         6
UBee430TM Programming Guide




VII. 실전 예제 ············································································································ 351
1. InternalSense ············································································································· 351
   1.1. 목적 ···························································································································· 351
   1.2. 실행방법 및 결과 ···································································································· 351
   1.3. 코드 설명 ·················································································································· 352
   1.3.1. InternalSense.h ···································································································· 353
   1.3.2. InternalSenseAppC.nc ······················································································· 355
   1.3.3. InternalSenseC.nc ······························································································· 356
   1.3.4. Makefile ················································································································· 359
2. Sht11Sensing ············································································································ 361
   2.1. 목적 ···························································································································· 361
   2.2. 실행방법 및 결과 ···································································································· 361
   2.3. 코드 설명 ·················································································································· 363
   2.3.1. Sht11SensingAppC ····························································································· 364
   2.3.2. Sht11SensingC.nc ······························································································ 364
3. DS28DG02 ················································································································ 368
   3.1. 목적 ···························································································································· 368
   3.2. 실행방법 ···················································································································· 369
   3.2.1. ID ····························································································································· 369
   3.2.2. RTC / Calendar ··································································································· 372
   3.2.3. GPIO ······················································································································· 375
   3.2.4. EEPROM ················································································································ 378
4. UserSwitch ·················································································································· 383
   4.1. 목적 ···························································································································· 383
   4.2. 실행방법 ···················································································································· 383
   4.3. 결과 ···························································································································· 383
   4.4. 코드설명 ···················································································································· 383
   4.4.1. TestUserSwitchAppC.nc ·················································································· 383
   4.4.2. TestUserSwitchC.nc ··························································································· 385
5. LightToVoltageSensor ·························································································· 387
   5.1. 목적 ···························································································································· 387
   5.2. 실행방법 ···················································································································· 388
   5.3. 코드설명 ···················································································································· 388
6. ADCZeroSensor ······································································································· 390
   6.1. 목적 ···························································································································· 390
   6.2. 센서특징 ···················································································································· 390

SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                                                                            7
UBee430TM Programming Guide



  6.2.1 지자기센서 ·············································································································· 390
  6.2.2 소리센서 ·················································································································· 391
  6.2.3 진동센서 ·················································································································· 392
  6.2.4 가속도센서 ·············································································································· 392
  6.2.5 인체감지센서 ·········································································································· 392
  6.3 실행방법 ······················································································································ 393
  6.4 코드설명 ······················································································································ 393


VIII. UBee430-AP-KIT 응용 ········································································· 396
1. UBee430-AP-KIT 개요 ························································································ 396
  1.1. 개요 ···························································································································· 396
  1.2. 블록도 ························································································································ 396
  1.3. POWER FLOW ········································································································· 397
  1.4. 시스템 구성 ·············································································································· 398
  1.5. 전원 ···························································································································· 400
  1.5.1. 전원 케이블 연결 방법 ······················································································· 400
  1.5.2. 전원 스위치 ON ··································································································· 401
  1.6. xStation <-> 베이스 노드 연결 ·········································································· 402
2. UBee430-AP-KIT 주변 장치 ············································································ 403
  2.1. RFID ··························································································································· 403
  2.1. 가스밸브 ···················································································································· 406
  2.1. 난방밸브 ···················································································································· 407
  2.1. AC램프 ······················································································································· 409
  2.1. 디지털도어락 ············································································································ 410
  2.1. 혈압계 ························································································································ 411
3. TinyOS 응용 프로그램 설치 ·············································································· 414
  3.1. 응용 프로그램 목록 ································································································ 414
  3.2. Protocol ····················································································································· 414
  3.2.1. 전체 패킷 구조 ····································································································· 414
  3.2.2. UBee430 -> 호스트[ Payload ] ···································································· 415
  3.2.3. UBee430 -> 호스트[ Payload ] ···································································· 415
  3.2.4. 호스트 -> UBee430[Payload] ········································································ 415
  3.3. RFID ··························································································································· 416
  3.3.1. 목적 ························································································································· 416
  3.3.2. 컴파일 및 다운로드 방법 ··················································································· 416
  3.3.3. 결과 ························································································································· 417

SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                                                                         8
UBee430TM Programming Guide



  3.4.1. 가스밸브 ················································································································· 418
  3.4.2. 목적 ························································································································· 418
  3.4.3. 컴파일 및 다운로드 방법 ··················································································· 418
  3.4.4. 결과 ························································································································· 419
  3.5. AC램프 ······················································································································· 420
  3.5.1. 목적 ························································································································· 420
  3.5.2. 컴파일 및 다운로드 방법 ··················································································· 420
  3.5.3. 결과 ························································································································· 420
  3.6. 난방밸브 ···················································································································· 420
  3.6.1. 목적 ························································································································· 420
  3.6.2. 컴파일 및 다운로드 방법 ··················································································· 420
  3.6.3. 결과 ························································································································· 421
  3.7. 디지탈도어락 ············································································································ 421
  3.7.1. 목적 ························································································································· 421
  3.7.2. 컴파일 및 다운로드 방법 ··················································································· 421
  3.7.3. 결과 ························································································································· 421
  3.8. 혈압계 ························································································································ 421
  3.8.1. 목적 ························································································································· 422
  3.8.2. 컴파일 및 다운로드 방법 ··················································································· 422
  3.8.3. 결과 ························································································································· 423
  3.9. 센서노드 ···················································································································· 424
  3.9.1. Magnetic Sensor Module ················································································· 424
  3.9.2. Sound Sensor Module ······················································································ 424
  3.9.3. Ultra-sonic Sensor Module ············································································· 424
  3.9.4. Vibration Sensor Module ·················································································· 424
  3.9.5. Acceleration Sensor Module ··········································································· 425
  3.9.6. Motion-Detector Sensor Module ··································································· 425
  3.10. BaseStation ············································································································ 425
  3.10.1. 목적 ······················································································································ 425
  3.10.2. 컴파일 및 다운로드 방법 ················································································ 425
  3.10.3. 결과 ······················································································································ 425



IX. 자바 응용                        ··········································································································· 426

1. USN PC 응용프로그램 개발 준비 ·································································· 426
2. PC 환경 구축 ············································································································· 428
   2.1. 자바 설치 ·················································································································· 428

SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                                                                              9
UBee430TM Programming Guide



   2.2. PC에 웹캠 설치하기 ······························································································· 433
   2.3. Java Media FrameWork 2.1버젼 설치 ····························································· 436
   2.4. USB to Serial 드라이버 설치 ·············································································· 440
3. 제공 어플리케이션 실행 ······················································································· 433
4. PC 어플리케이션 개발 환경_Eclipse 환경구축 ······································ 448
5. Eclipse에 실행소스와 리소스 Import 작업 ··············································· 452
   5.1. SerialForwarder 실행소스 Import ······································································· 452
   5.2. UBee430_PC 어플리케이션 Import ···································································· 460
6. Eclipse에서 실행 및 유의 사항 ······································································· 466
7. TinyOS 2.x 가 지원하는 Java SDK를 이용한 어플리케이션 ········· 467
   7.1. SerialForwarder ······································································································· 467
   7.2. UBee430_PC ············································································································ 477


X. Appendix ················································································································· 489
1. 운용환경 설정 팁 ····································································································· 489
   1.1. gvim 설치 ·················································································································· 489
   1.1.1. 다운로드 ················································································································· 489
   1.1.2. 설치 ························································································································· 489
   1.2. 시그윈 쉘 환경 꾸미기 ·························································································· 493
   1.2.1. Bash에 대해서 ····································································································· 493
   1.2.2. 한글 입출력 문제 해결 및 alias 설정 ···························································· 494
   1.2.3. 프롬프트 변경 ······································································································· 496
2. 초저전력 임베디드 설계에서 위험 요소를 피하는 방법 ···················· 498
3. UBee430 RF 설정 방법 ······················································································· 502
   3.1 CC2420_DEF_CHANNEL 설정 ·············································································· 502
   3.2 CC2420_DEF_RFPOWER 설정 ·············································································· 503
4. UBee430 UART 설정 방법 ················································································ 504
   4.1 UBee430 UART0 설정 ···························································································· 504
   4.2 UBee430 UART1 설정 ···························································································· 505
5. UBee430 SHT11(온/습도)센서 Calibration ·············································· 506




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                                                                        10
UBee430TM Programming Guide




I. UBee430에 대해서
1. UBee430 하드웨어 설명
1.1. UBee430
  UBee430은 MSP430와 CC2420을 기반으로 설계
  된 USN RF 모듈입니다. IEEE 802.15.4를 지원하
  며, TinyOS2.0.2가 탑재되어 있습니다. UBee430
  은 보드 내에 온도/습도 및 조도센서가 기본적으
  로 내장되어 있습니다. 또한 사용자가 실제 어플
  리케이션 구현 시 유용할 수 있는 주변장치를 제
  공하고 있습니다.

  주변 장치로는 External Flash(1MBytes), EEPROM(2KBytes) , RTC, Unique ID,
  User Switch 등이 있으며, 강력한 배터리 모니터링 기능을 지원 합니다. 또한 GPIO
  (General Purpose Input Output) 확장을 위하여 MSP430 GPIO 외에 포트 확장 IC
  를 이용하여 추가적인 12개의 GPIO를 제공 합니다. 확장된 GPIO는 입력 또는 출
  력 , 오프 드레인 또는 푸시풀로 동작이 가능 합니다.



1.2. 블록도




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                       11
UBee430TM Programming Guide




1.3. 특징
  ● 250Kbps 2.4Ghz IEEE 802.15.4 Chipcon Wireless Transceiver
     - CC2420

  ● Texas Instruments MSP430 Micro controller
     - 16bit RISC
     - Memory : Internal Flash - 48Kbyte , internal RAM - 10Kbyte
     - Ultra low current consumption

  ● USB Interface
     - USB를 이용한 노드 프로그래밍
     - USB To Serial Interface 제공

  ● ANTENNA
     - PCB ANTENNA / EXTERNAL ANTENNA ( 최대 150M , Open Area )

  ● Peripheral Device
     - External FLASH1 ( 1Mbyte )
     - External EEPROM ( 2Kbyte ) : SPI Interface
     - RTC ( Real Time Clock ) : SPI Inerface , RTC/Calender/Alarm
     - Battery Monitor : 다양한 전압 모니터링 기능을 제공 한다.
        ① MSP430 Internal voltage sensor
        ② ADC를 이용한 Voltage Sensing
        ③ 외부 Batter Monitor 장치를 이용한 전압 감시 기능 :
           2.5V / 2.25V / 2.0V / 1.75V 설정된 전압 이하로 Drop시 알람 기능
     - Unique ID : UBee430은 각각의 노드가 64-BIT의 개별적인 ID를 제공
     - GPIO 확장 : SPI Interface , MSP430 GPIO 외에 추가적인 12개의 GPIO를 확장
                     INPUT / OUTPUT , Open-Drain / Push-Pull
     - LED : 3EA
     - USER SWITCH : 2 개 ,
     - RESET Switch
     - Power Switch

  ● Sensor
    - Temperature Sensor
    - Humidity Sensor
    - Light Sensor ( Light to Voltage )

  ● USER I/O
    - ADC 6채널
    - I2C / SPI
    - UART RX/TX 2채널

SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                       12
UBee430TM Programming Guide



      - GPIO 19EA ( MSPGPIO 7EA , 확장 GPIO 12EA )
      - JTAG

  ● 확장 모듈
    - AC Control B/D , DC Control B/D
    - Gas Gear Control B/D
    - RFID Interface B/D
    - 혈압계 Interface B/D

  ● 확장 센서
    - 초음파 , 지자기 , 진동 , 가속도 , 인체감지 , 사운드 센서 모듈
    - RS232모듈 , USB 모듈 , GPIO 테스트 모듈
    - User Interface 모듈 ( 만능 기판형 )

  ● TinyOS Support
    - TinyOS 2.0.2



1.4. 구성도




                                < Top View >




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                       13
UBee430TM Programming Guide




                                 <Bottom View >




1.5. 설정 및 전원
1.5.1. 전원 스위치 설정
  UBee430의 전원 스위치는 USB 전원 및 배터리 전원을 선택 하도록 설계 되었다.
  그러므로 USB 연결 시에는 반드시 전원 스위치를 USB 방향으로 전환 시키고, 독
  립적인 배터리 사용 시에는 BAT 방향으로 전환 시켜야 한다.



                                                    배터리 전원 사용




                                                    USB 전원 사용
                                                    프로그램 다운로드



1.5.2. USB 모듈 결합
  USB를 이용하여 프로그램 다운로드 시에는 UBee430 USB 모듈을 결합하여야 하
  며, USB 모듈을 연결하기 전에 반드시 전원을 OFF/USB 상태로 먼저 설정 한 뒤
  USB 모듈을 결합해야 한다.




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                          14
UBee430TM Programming Guide




          <UBee430 USB 모듈 >                            <UBee430 + USB 모듈 >


1.6. Memory Map ( DS28DG02 )
  UBee430은 EEPROM , RTC, Unique ID,                 확장 GPIO ,배터리 모니터링 등의 추가
  적인      기능을       지원하기         위하여      DS28DG02라는          One-Chip을        사용하고            있다.
  DS28DG02는          MSP430의          GPIO와   연결되어          있다.      UBee430에서          제공하는
  DS28DG02 컴포넌트는 다음 메모리맵을 기준으로 만들어 졌다.

      ADDRESS        TYPE ACCESS                            DESCRIPTION
     000h to 03Fh EEPROM         R/W     User memory block 0.
     040h to 07Fh EEPROM         R/W     User memory block 1.
     080h to 0BFh EEPROM         R/W     User memory block 2.
     0C0h to 0FFh EEPROM         R/W     User memory block 3.
     100h to 109h      —          —      Reserved, contents undefined.
         10Ah       EEPROM       R/W     Power-on default for PIO output state (PIO0 to PIO7).
         10Bh       EEPROM       R/W     Power-on default for PIO output state (PIO8 to PIO11).
         10Ch       EEPROM       R/W     Power-on default for PIO direction (PIO0 to PIO7).
         10Dh       EEPROM       R/W     Power-on default for PIO direction (PIO8 to PIO11).
         10Eh       EEPROM       R/W     Power-on default for PIO read-inversion (PIO0 to PIO7).
                                         Power-on default for PIO read-inversion (PIO8 to PIO11),
          10Fh      EEPROM       R/W     PIO output type (PIO0 to PIO11 in groups of 4 PIOs),
                                         PIO output mode (same mode for all PIOs).
     110h to 117h      —          —      Reserved, contents is undefined.
     118h to 11Fh     ROM         R      64-bit unique registration number.
          120h        SRAM       R/W     PIO output state (PIO0 to PIO7).
          121h        SRAM       R/W     PIO output state (PIO8 to PIO11).
          122h        SRAM       R/W     PIO direction (PIO0 to PIO7).
          123h        SRAM       R/W     PIO direction (PIO8 to PIO11).
          124h        SRAM       R/W     PIO read-inversion (PIO0 to PIO7).
                                         PIO read-inversion (PIO8 to PIO11), PIO output type
          125h        SRAM       R/W      (PIO0 to PIO11 in groups of 4 PIOs), PIO output mode
                                         (same mode for all PIOs).



SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                            15
UBee430TM Programming Guide




                                  R
          126h         —                  PIO read access (PIO0 to PIO7).
                                  R
          127h         —                  PIO read access (PIO8 to PIO11).
          128h         —          —       Reserved, contents undefined.
     129h to 12Fh NV SRAM        R/W      RTC and calendar.
     130h to 133h NV SRAM        R/W      RTC alarm.
          134h      NV SRAM      R/W      Multifunction control/setup register.
          135h      NV SRAM     R/Clear   Alarm and status register.
       136h and
                       —          —       Reserved, contents undefined.
        above



      추가적인 내용을 확인하려면 DS28DG02 데이터시트를 참고 하시길 바랍니다.
      제품 출고시 동봉된 CD에 Datasheet 첨부됨.


1.7. 기구도




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                          16
UBee430TM Programming Guide




2. UBee-Dust 하드웨어 설명
2.1. UBee-Dust

UBee-Dust는 MSP430와 CC2420을 기반으로 설
계된 USN RF 모듈입니다. IEEE 802.15.4를 지원
하며, TinyOS2.0.2가 탑재되어 있습니다.
UBee-Dust는 초소형, 저전력, Low-Cost를 목적
으로 설계된 모듈입니다.



UBee-Dust는 UBee430과 같은 플랫폼 구조를 가지고 있습니다. 컴파일 및 다운로드
시 UBee430과 똑같이 사용 됩니다. 하지만 UBee-Dust는 초소형 및 저전력을 구현하
기 위하여 UBee430에 구현된 일부 Peripheral Device는 제외 되었습니다.



2.2. 블록도




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                       17
UBee430TM Programming Guide




2.3. 특징
● 250Kbps 2.4Ghz IEEE 802.15.4 Chipcon Wireless Transceiver
   - CC2420

● Texas Instruments MSP430 Micro controller
   - 16bit RISC
   - Memory : Internal Flash - 48Kbyte , internal RAM - 10Kbyte
   - Ultra low current consumption

● USB Interface
   - USB를 이용한 노드 프로그래밍
   - USB To Serial Interface 제공

● ANTENNA
  - 칩 안테나

● Peripheral Device
  - LED : 3EA
  - USER SWITCH , Power-Path Switch

● Sensor
  - Internal Voltage , Internal Temperature , Light

● User IO
  - JTAG , REST , 3V , GPIO 3EA , ADC CH-3

● Power
 - 3V Coin Battery ( CR2032 )

2.4. 구성도




                                                          칩 안테나

                                                          유저 스위치
            전원 스위치
                                                          조도센서
            CC2420

           User I/O                                        User I/O
           (RESET, UART , JTAG)                            (GPIO 3EA, ADC 3EA ,
                                                           POWER )


                                        < TOP VIEW >




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                          18
UBee430TM Programming Guide




                                                             배터리
               MSP430
               (배터리 홀더 하단 )


                                        < BOTTOM VIEW >


2.5. 설정 및 전원
2.5.1. 전원 스위치 설정
  UBee-Dust의 전원 스위치는 USB 전원 및 배터리 전원을 선택 하도록 설계 되었
  다. 그러므로 USB 연결 시에는 반드시 전원 스위치를 USB 방향으로 전환 시키고,
  독립적인 배터리 사용 시에는 ON 방향으로 전환 시켜야 한다.



               배터리 전원 사용 시




               USB 전원 사용 시




2.5.2. USB 모듈 결합
  USB를 이용하여 프로그램 다운로드 시에는 UBee430 USB 모듈을 결합하여야 하
  며, USB 모듈을 연결하기 전에 반드시 전원을 OFF/USB 상태로 먼저 설정 한 뒤
  USB 모듈을 결합해야 한다.




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                             19
UBee430TM Programming Guide




                                  <UBee-Dust + USB 모듈 >



2.6. Pin Map

                         J4                                     J5
         PIN             SIGNAL NAME                PIN         SIGNAL NAME
          1         VCC3.3V ( USB )                  1    VCC3V ( BATTERY )
          2         MSP430_TCK                       2    ADC0
          3         RESET                            3    GPIO 1.2
          4         MSP430_TMS                       4    ADC1
          5         UART1RX                          5    GPIO 2.5
          6         MSP430_TDI                       6    ADC2
          7         UART1TX                          7    GPIO 4.0
          8         MSP430_TDO                       8    GND

2.7. 기구도




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                              20
UBee430TM Programming Guide




3. UBee430-BN 하드웨어 설명
3.1. UBee430-BN

UBee430-BN은 호스트 시스템과 각각의 RF모듈
을 인터페이스 시키는 USB 동글 형태의 보드입니
다. UBee430-BN는 USB 관련 부품과 MSP430,
CC2420등의 핵심적인 부품만을 적용하여 구성된
모듈이며, TinyOS2.0.2가 탑재되어 있습니다.


UBee430-BN은 각각의 센서 노드와 무선으로 인터페이스 되며 각 노드에서 전달한
센서 및 기타 무선 데이터를 Host PC 또는 xStation과 같은 임베디드 시스템에 전달
합니다.


3.2. 블록도




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                       21
UBee430TM Programming Guide




3.3. 특징
● 250Kbps 2.4Ghz IEEE 802.15.4 Chipcon Wireless Transceiver
   - CC2420

● Texas Instruments MSP430 Micro controller
   - 16bit RISC
   - Memory : Internal Flash - 48Kbyte , internal RAM - 10Kbyte
   - Ultra low current consumption

● USB Interface
   - USB를 이용한 노드 프로그래밍
   - USB To Serial Interface 제공

● ANTENNA
   - EXTERNAL ANTENNA ( 최대 150M , Open Area )

● Peripheral Device
   - LED : 3EA
   - RESET Switch

3.4. 구성도




                                                    RX LED
                                                      TX LED
                                                         MSP430 LED


             RESET SWITCH                                         CC2420
                    EXTERNAL
                    ANTENNA




                                        < TOP VIEW >




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                  22
UBee430TM Programming Guide




                                                  MSP430




                                        FT232BM



                                        < BOTTOM VIEW >
3.5. 설정 및 전원
 UBee430-BN은 독립적인 배터리를 사용하지 않고 USB 포트로부터 전원을 공급 받
아 동작을 한다.


3.6. 기구도




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                              23
UBee430TM Programming Guide




II. UBee430 개발환경 구축
   휴인스에서는 쉬운 개발환경 설치를 위하여 Vmware 기반의 Virtual Image를 제공
   한다.
   이 이미지는 TinyOS 사용을 위한 rpm 및 기타 유틸리트가 모두 설치 되었으며,
   UBee430 사용을 위한 모든 포팅 과정 및 설정이 완료된 이미지 이다.


1. 설치에 필요한 프로그램
  UBee430 배포용 CD는 다음 프로그램을 제공 한다.
  ( UBee430[Rev 1.3 이상]_CD2 )
  1. VMware-player-2.0.2-59824.exe : VMware Player
  2. Xubuntos 2.0-UBee430-080117.exe : 압축된 Virtual Image


2. VMware Player 설치
1.1. VMware-player-2.0.2-59824.exe 를 더블 클릭하여 설치를 시작




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                       24
UBee430TM Programming Guide




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                       25
UBee430TM Programming Guide




1.2. VMware Player에서 loading할 폴더를 만든다.
    윈도우 탐색기를 이용하여 내 문서에 My Virtual Machines 폴더를 만든다.
    My Virtual Machines 폴더에 Xubuntos 2.0-UBee430-080117 이미지를 복사한
    다.




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                       26
UBee430TM Programming Guide




3. Virtual Image 복사 및 압축해제
1.3. 휴인스에서 제공하는 Xubuntos 2.0-UBee430-080117 이미지를 My
      Virtual     Machines        폴더에      복사하여     붙여넣기    한다.      Xubuntos
      2.0-UBee430-080117 이미지는 배포용 CD에 압축된 상태로 제공된
      다.
1.4. Xubuntos 2.0-UBee430-080117.exe 파일을 내 문서 My Virtual
      Machines 폴더에 복사 한다.
1.5. Xubuntos 2.0-UBee430-080117.exe 파일을 더블클릭하여 압축을
      해제 한다.
    Xubuntos 2.0-UBee430-080117.exe 파일을 더블 클릭 ( 자동 압축 풀림 )




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                         27
UBee430TM Programming Guide




1.6. VMware Player 실행
    바탕화면의 바로가기 아이콘을 더블 클릭 한다




    VMware Player가 실행되면 Image를 loading 한다.
    Open 클릭




    C: ₩Documents and Settings ₩<유저계정> ₩My Documents ₩My Virtual
    Machines ₩Xubuntos2.0-UBee430- 080117 폴더의 Xubuntos 2.0.vmx 파일
    을 선택한 후 열기를 누른다.




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                       28
UBee430TM Programming Guide



    xubuntu 가 실행이 된다.




    Username를 입력 한다
    마우스 커서를 입력란에 클릭한 후 Username은 "xubuntos"를 입력 한다.
    그리고 엔터를 입력 한다




    Password를 입력 한다.
    "tinyos"를 입력 한다. 그리고 엔터를 입력 한다.




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                       29
UBee430TM Programming Guide




    loading이 완료되었다면 다음 화면을 볼수 있을 것이다.




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                       30
UBee430TM Programming Guide




4. 테스트
1.7. UBee430 연결 테스트
    UBee430을 현재 개발환경이 설치된 PC의 USB 포트에 장착 한다.
    터미널을 실행 시킨다.




    motelist를 입력하여 UBee430이 연결되었는지 확인 한다.




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                       31
UBee430TM Programming Guide



    만약 UBee430이 검색이 안되면 xubuntos에 Future Devies USB Device 아이콘
    을 클릭하여 재인식 시킨다.




    이때 VMware Player에서 윈도우로 탈출하려면 키보드의 ctrl + Alt를 동시에 눌러
    야 한다.
5. 컴파일 및 설치 테스트
    터미널을 실행 시킨다. ( 현재 터미널이 실행되어 있으면, 현재의 터미널에서 수행
    한다.)
    TinyOS 어플리케이션을 컴파일하고 UBee430에 다운로드 한다.

    $ cd /opt/opt/tinyos-2.x/apps/tests/TestSerial
    $ make UBee430 install




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                        32
UBee430TM Programming Guide




    자바 프로그램 실행 테스트

      $ java net.tinyos.tools.Listen -comm serial@/dev/ttyUSB0:UBee430




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                          33
UBee430TM Programming Guide




III. 컴파일
  어플리케이션을 작성하여, 사용하기 위해서 컴파일을 해주어야 한다. 이번 챕터에서
  는 작성한 어플리케이션을 컴파일하고, 모트에 설치하는 방법을 다루고자 한다.


1. 컴파일 및 인스톨 방법
  TinyOS에서는 make를 명령을 사용하여 컴파일과 mote에 설치하는 작업을 수행한
  다. 아래에 자주 사용되는 make 명령을 예로 들었다.


      make [ 플랫폼 이름 ] [ 옵션 ]

      make UBee430                                              컴파일

      make UBee430 install                                      컴파일 후 설치

      make UBee430 reinstall                                    컴파일 없이 재설치

      make clean                                                컴파일 결과들을 삭제

      make UBee430 reinstall,1                                  mote의 ID를 1로 하여 재설치

      make UBee430 bsl,6 reinstall                              COM7에 연결된 mote에 재설치

       make UBee430 docs                                         NesC 문서를 생성 ( html 파일 )


  Null 어플리케이션을 컴파일하고 설치해보자. 우선 Null 어플리케이션 디렉터리로 이
  동한다. 그리고 어플리케이션을 컴파일 하기 위해 필요한 3가지 파일이 있는지 확
  인한다. make 명령을 사용하여 컴파일을 후, 모트로 프로그램을 다운로드한다.
       $ cd    /opt/tinyos-2.x/apps/Null
       $ ls      ..................................................... ① 파일확 인
       Makefile NullAppC.nc NullC.nc
       $ make UBee430 install                     .................... ② 컴파 일 후 인 스톨
       mkdir -p build/UBee430
          compiling NullAppC to a UBee430 binary
       ncc -o build/UBee430/main.exe -Os -O -mdisable-hwmul -Wall -Wshadow
           -DDEF_TOS_AM_GROUP=0x7d -Wnesc-all -target=UBee430
           -fnesc-cfile=build/UBee430/app.c -board= -DIDENT_PROGRAM_NAME=₩"NullAppC₩"
           -DIDENT_USER_ID=₩"이정주₩" -DIDENT_HOSTNAME=₩"nautes₩"
           -DIDENT_USER_HASH=0xbcec09c4L -DIDENT_UNIX_TIME=0x46d4c282L -DIDENT_UID
           _HASH=0xf759d9b3L NullAppC.nc -lm
           compiled NullAppC to build/UBee430/main.exe
                  1418 bytes in ROM

SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                           34
UBee430TM Programming Guide




                      4 bytes in RAM
       msp430-objcopy --output-target=ihex build/UBee430/main.exe build/UBee430/main.ih
       ex
          writing TOS image
       cp build/UBee430/main.ihex build/UBee430/main.ihex.out
          found mote on COM7 (using bsl,auto)
          installing UBee430 binary using bsl
       tos-bsl --telosb -c 6 -r -e -I -p build/UBee430/main.ihex.out
       MSP430 Bootstrap Loader Version: 1.39-telos-8
       Mass Erase...
       Transmit default password ...
       Invoking BSL...
       Transmit default password ...
       Current bootstrap loader version: 1.61 (Device ID: f16c)
       Changing baudrate to 38400 ...
       Program ...
       1450 bytes programmed.
       Reset device ...
       rm -f build/UBee430/main.exe.out build/UBee430/main.ihex.out



  정상적으로 컴파일이 되고, 장치 설정이 정상적으로 되어있다면, 위와 같은 메시지
  를 볼 수 있을 것이다.




SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                                          35
UBee430TM Programming Guide




IV. Tutorial
     번역 과정에서 오역이 있을 수 있으니 원문 Tutorial을 참고 하시길 바랍니다.
     본 tutorial은 원문 tutorial을 UBee430에 맞추어 재구성 한 번역본입니다. 번역 과정에서 삭제
     및 추가한 부분이 있습니다. 이점 참고 바랍니다.




1. Lesson 1: Getting Started with TinyOS and nesC

소개


이번 lesson에서는 TinyOS 프로그램을 컴파일하고 mote에 설치하는 방법에 대해 설
명 한다. 그리고 TinyOS 컴포넌트 모델의 기본적인 개념과 구문(syntax)에 대해 소개
한다. 또한 TinyOS의 소스 코드 문서를 생성하고 찾는(navigate) 방법에 대해 설명 한
다.


컴파일과 설치


첫 번째 연습으로써 매우 간단한 TinyOS 어플리케이션인 Blink를 컴파일하고 설치해
볼 것이다. mote 하드웨어가 없다면, TinyOS 시뮬레이터인 TOSSIM을 위해 컴파일을
하면 된다.


TinyOS 어플리케이션은 make 프로그램을 사용하여 컴파일 한다. TinyOS는 강력하고
확장성 있는 make system을 사용함으로써 새로운 플랫폼이나 컴파일 옵션을 쉽게 추
가 할 수 있다. make system 정의는 /opt/tinyos-2.x/support/make에 위치해 있다.


첫     번째      단계로       TinyOS    환경이         올바르게   셋업이   되었는지      체크해야       한다.
tos-check-env 명령을 실행 시킨다.

     $ tos-check-env

이 스크립트는 TinyOS 환경에서 필요로 하는 모든 것을 체크한다. 정상적으로 설치되
었다면, tos-check-env 실행 후, 아래 문구를 볼 수 있다.

     tos-check-env completed without error.

UNIX 환경에 익숙하다면 대부분의 경고들은 여기서 따로 설명할 필요가 없을 것이다.
경고들로 문제를 겪는다면 이메일 리스트에 가입해서 질문하기를 권장한다. 문제를 겪

SOC・Embedded System・Ubiquitous Sensor Network・ARM

CopyrightⒸ Huins All rights reserved.                                              36
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]
Ubee430 menual[r1.8]

Weitere ähnliche Inhalte

Ähnlich wie Ubee430 menual[r1.8]

AVR 기초와 응용 강의노트(최한호)
AVR 기초와 응용 강의노트(최한호)AVR 기초와 응용 강의노트(최한호)
AVR 기초와 응용 강의노트(최한호)활 김
 
[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer
[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer
[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy InstallerOpenStack Korea Community
 
2014년 창원대학교 정보통신공학과 졸업논문집 Gateway
2014년 창원대학교 정보통신공학과 졸업논문집 Gateway2014년 창원대학교 정보통신공학과 졸업논문집 Gateway
2014년 창원대학교 정보통신공학과 졸업논문집 GatewayChangwon National University
 
HTTP/2도 잘 모르는데 벌써 HTTP/3? (2020/4/23) (Korean and English)
HTTP/2도 잘 모르는데 벌써 HTTP/3? (2020/4/23) (Korean and English)HTTP/2도 잘 모르는데 벌써 HTTP/3? (2020/4/23) (Korean and English)
HTTP/2도 잘 모르는데 벌써 HTTP/3? (2020/4/23) (Korean and English)Junho Choi
 
TTA H/W 규모산정 지침 Ttak.ko 10.0292
TTA H/W 규모산정 지침 Ttak.ko 10.0292TTA H/W 규모산정 지침 Ttak.ko 10.0292
TTA H/W 규모산정 지침 Ttak.ko 10.0292sam Cyberspace
 
201011 클라우드 서비스 적용가능 분야별 환경 분석 및 정책방향 연구(최종)
201011 클라우드 서비스 적용가능 분야별 환경 분석 및 정책방향 연구(최종)201011 클라우드 서비스 적용가능 분야별 환경 분석 및 정책방향 연구(최종)
201011 클라우드 서비스 적용가능 분야별 환경 분석 및 정책방향 연구(최종)YOO SE KYUN
 
HTTP2도 잘 모르는데 벌써 HTTP3 (v2)
HTTP2도 잘 모르는데 벌써 HTTP3 (v2)HTTP2도 잘 모르는데 벌써 HTTP3 (v2)
HTTP2도 잘 모르는데 벌써 HTTP3 (v2)InfraEngineer
 
Wiki academy sysadmin 7_day
Wiki academy sysadmin 7_dayWiki academy sysadmin 7_day
Wiki academy sysadmin 7_dayJo Hoon
 
Wiki academy sysadmin 5_day
Wiki academy sysadmin 5_dayWiki academy sysadmin 5_day
Wiki academy sysadmin 5_dayJo Hoon
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS충섭 김
 

Ähnlich wie Ubee430 menual[r1.8] (11)

AVR 기초와 응용 강의노트(최한호)
AVR 기초와 응용 강의노트(최한호)AVR 기초와 응용 강의노트(최한호)
AVR 기초와 응용 강의노트(최한호)
 
[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer
[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer
[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer
 
2014년 창원대학교 정보통신공학과 졸업논문집 Gateway
2014년 창원대학교 정보통신공학과 졸업논문집 Gateway2014년 창원대학교 정보통신공학과 졸업논문집 Gateway
2014년 창원대학교 정보통신공학과 졸업논문집 Gateway
 
HTTP/2도 잘 모르는데 벌써 HTTP/3? (2020/4/23) (Korean and English)
HTTP/2도 잘 모르는데 벌써 HTTP/3? (2020/4/23) (Korean and English)HTTP/2도 잘 모르는데 벌써 HTTP/3? (2020/4/23) (Korean and English)
HTTP/2도 잘 모르는데 벌써 HTTP/3? (2020/4/23) (Korean and English)
 
TTA H/W 규모산정 지침 Ttak.ko 10.0292
TTA H/W 규모산정 지침 Ttak.ko 10.0292TTA H/W 규모산정 지침 Ttak.ko 10.0292
TTA H/W 규모산정 지침 Ttak.ko 10.0292
 
201011 클라우드 서비스 적용가능 분야별 환경 분석 및 정책방향 연구(최종)
201011 클라우드 서비스 적용가능 분야별 환경 분석 및 정책방향 연구(최종)201011 클라우드 서비스 적용가능 분야별 환경 분석 및 정책방향 연구(최종)
201011 클라우드 서비스 적용가능 분야별 환경 분석 및 정책방향 연구(최종)
 
HTTP2도 잘 모르는데 벌써 HTTP3 (v2)
HTTP2도 잘 모르는데 벌써 HTTP3 (v2)HTTP2도 잘 모르는데 벌써 HTTP3 (v2)
HTTP2도 잘 모르는데 벌써 HTTP3 (v2)
 
Wiki academy sysadmin 7_day
Wiki academy sysadmin 7_dayWiki academy sysadmin 7_day
Wiki academy sysadmin 7_day
 
Wiki academy sysadmin 5_day
Wiki academy sysadmin 5_dayWiki academy sysadmin 5_day
Wiki academy sysadmin 5_day
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
 
Oracle History #8
Oracle History #8Oracle History #8
Oracle History #8
 

Ubee430 menual[r1.8]

  • 1. UBee430TM Programming Guide Document Version : 1.8 Last Update : 2011.1.18 TinyOS2.x 기반 유비쿼터스 센서 네트워크 설계 및 응용 Copyright 2011, Huins Co.Ltd ● 본 교재에서는 UBee430, UBee-Dust, UBee430-BN Platform 및 UBee430-AP-KIT에 대하여 TinyOS 2.0.2 설치 및 예제 코드를 제공 합니다. ● 본 교재는 휴인스의 동의나 허락 없이 어떠한 형태의 출판이나 무단 배포를 할 수 없습니다. Document History Revision Date Description Rev 1.0 2008-1-4 First Edition Rev 1.6 2009-4-23 패킷 데이터 수정 Rev 1.7 2010-4-22 환경설치 매뉴얼 수정 Rev 1.8 2011-1-18 RFID 모듈 수정 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 1
  • 2. UBee430TM Programming Guide - 목차 - I. UBee430에 대해서 ··························································································· 11 1. UBee430 하드웨어 설명 ························································································ 11 1.1. UBee430 ······················································································································ 11 1.2. 블록도 ··························································································································· 11 1.3. 특징 ······························································································································· 12 1.4. 구성도 ··························································································································· 13 1.5. 설정 및 전원 ··············································································································· 14 1.5.1. 전원 스위치 설정 ··································································································· 14 1.5.2. USB 모듈 결합 ······································································································· 14 1.6. Memory Map ( DS28DG02 ) ················································································ 15 1.7. 기구도 ··························································································································· 16 2. UBee-Dust 하드웨어 설명 ··················································································· 17 2.1. UBee-Dust ·················································································································· 17 2.2. 블록도 ··························································································································· 17 2.3. 특징 ······························································································································· 18 2.4. 구성도 ··························································································································· 18 2.5. 설정 및 전원 ··············································································································· 19 2.5.1. 전원 스위치 설정 ··································································································· 19 2.5.2. USB 모듈 결합 ······································································································· 19 2.6. Pin Map ······················································································································· 20 2.7. 기구도 ··························································································································· 20 3. UBee430-BN 하드웨어 설명 ·············································································· 21 3.1. UBee430-BN ·············································································································· 21 3.2. 블록도 ··························································································································· 21 3.3. 특징 ······························································································································· 22 3.4. 구성도 ··························································································································· 22 3.5. 설정 및 전원 ··············································································································· 23 3.6. 기구도 ··························································································································· 23 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 2
  • 3. UBee430TM Programming Guide II. UBee430 개발환경 구축 ··········································································· 24 1. TinyOS 2.x 개발환경 구축 ··················································································· 24 1.1. Install Java 1.5 JDK (JDK 5.0 Update 12) ····················································· 26 1.2. Install Cygwin ············································································································ 28 1.3. Installing Graphviz ···································································································· 32 1.4. Huins UBee430 mote 설치 ···················································································· 34 1.4.1. Huins_UBee430 - USB to serial Converter 드라이버 설치 ····················· 34 1.4.2. Huins_UBee430 - USB Serial Port ································································· 36 1.5. Install native compilers ··························································································· 38 1.5.1. Atmel AVR toolchain 설치 ·················································································· 38 1.5.2. MSP430 toolchain 설치 ······················································································· 38 1.6. Install TinyOS 2.x toolchain ·················································································· 39 1.6.1. nesC toolchain 설치 ···························································································· 39 1.6.2. TinyOS tools 설치 ································································································· 39 1.7. Install the TinyOS 2.x Source tree ····································································· 40 1.7.1. TinyOS 2.x 소스트리 설치 ·················································································· 40 1.7.2. 환경변수 등록 ········································································································· 40 1.8. 자동 설치 ··················································································································· 42 1.9. 테스트 ························································································································· 43 1.9.1. mote 연결 테스트 ································································································ 43 1.9.2. TinyOS 개발 환경 테스트 ···················································································· 43 1.9.3. 컴파일 및 설치 테스트 ····················································································· 44 1.9.4. 자바 프로그램 실행 테스트 ················································································· 44 1.9.5. C언어 SDK 컴파일 및 테스트 ·········································································· 44 III. 컴파일 ·························································································································· 46 1. 컴파일 및 인스톨 방법 ··························································································· 46 IV. Tutorial ····················································································································· 48 1. Lesson1[Getting Started with TinyOS and nesC] ······························ 48 2. Lesson2[Modules and the TinyOS Execution Model] ······················ 65 3. Lesson3[Mote-mote radio communication] ··········································· 81 4. Lesson4[Mote-PC serial communication and SerialForwarder]101 5. Lesson5[Sensing] ·································································································· 125 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 3
  • 4. UBee430TM Programming Guide 6. Lesson6[TinyOS Boot and System Initialization] ······························ 135 7. Lesson7[Permanent Data Storage] ···························································· 141 8. Lesson8[Resource Arbitration and Power Management] ·········· 153 V. TinyOS Programming Guide ······························································ 167 1. TinyOS 2.0 OverView ··························································································· 167 2. TinyOS 2.x Boot Sequence ············································································· 174 3. TinyOS_Programming ··························································································· 184 VI. 기본 예제를 통한 UBee430 마스터 ········································· 257 1. Null ·································································································································· 257 1.1. 목적 ···························································································································· 257 1.2. 소스 파일들의 역할 ································································································ 257 1.2.1. Makefile ··············································································································· 257 1.2.2. NullAppC.nc ········································································································ 257 1.2.3. NullC.nc ················································································································· 258 1.3. TinyOS 시뮬레이터 - TOSSIM ············································································ 259 1.3.1. TOSSIM 설정 ········································································································ 259 1.3.2. 시뮬레이션 수행 ··································································································· 260 2. Blink ································································································································ 263 2.1. 목적 ···························································································································· 263 2.2. 실행방법 ···················································································································· 263 2.3. 결과 ···························································································································· 263 2.4. 코드설명 ···················································································································· 263 2.4.1. BlinkAppC.nc ········································································································ 263 2.4.2. BlinkC ····················································································································· 265 2.5. Blink 시뮬레이션 ··································································································· 266 3. BlinkToRadio ·············································································································· 270 3.1. 목적 ···························································································································· 270 3.2. 실행방법 ···················································································································· 270 3.3. 실행결과 ·················································································································· 270 3.4. 코드설명 ···················································································································· 270 3.4.1. BlinkToRadio.h ····································································································· 270 3.4.2. BlinkToRadioAppC.nc ························································································ 272 3.4.3. BlinkToRadioC.nc ······························································································· 273 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 4
  • 5. UBee430TM Programming Guide 3.5. BlinkToRadio 시뮬레이션 ······················································································ 276 4. BlinkToSerial ·············································································································· 278 4.1. 목적 ···························································································································· 278 4.2. 실행방법 ···················································································································· 278 4.3. 수행결과 ···················································································································· 279 5. BaseStation ················································································································ 281 5.1. 목적 ···························································································································· 281 5.2. 실행방법 및 결과 ···································································································· 281 5.3. 코드설명 ···················································································································· 283 5.3.1. Makefile ················································································································· 283 5.3.2. BaseStationC.nc ·································································································· 283 5.3.3. BaseStationP.nc ·································································································· 284 6. Sense ····························································································································· 291 6.1. 목적 ···························································································································· 291 6.2. 실행방법 ···················································································································· 291 6.3. 수행결과 ···················································································································· 291 6.4. 코드설명 ···················································································································· 291 6.4.1. SenseAppC ··········································································································· 291 6.4.2. SenseC ·················································································································· 292 6.4.3. DemoSensorC ······································································································ 293 6.5. Sense 시뮬레이션 ··································································································· 294 7. Oscilloscope ·············································································································· 296 7.1. 목적 ···························································································································· 296 7.2. 실행방법 및 결과 ···································································································· 296 7.3. 코드설명 ···················································································································· 298 7.3.1. Oscilloscope.h ····································································································· 298 7.3.2. OscilloscopeAppC.nc ························································································ 299 7.3.3. OscilloscopeC.nc ································································································ 299 8. BlinkConfig ················································································································· 304 8.1. 목적 ···························································································································· 304 8.2. 실행방법 ···················································································································· 304 8.3. 코드설명 ···················································································································· 305 8.3.1. 주요 실행 흐름 ····································································································· 305 8.3.2. BlinkConfigAppC.nc ··························································································· 306 8.3.3. BlinkConfigC.nc ··································································································· 306 8.4. BlinkConfig 시뮬레이션 ························································································· 311 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 5
  • 6. UBee430TM Programming Guide 9. BLOCK ··························································································································· 312 9.1. 목적 ···························································································································· 312 9.2. 실행방법 ···················································································································· 312 9.3. 결과 ···························································································································· 313 9.4. 코드설명 ···················································································································· 313 9.4.1. RandRWAppC.nc ······························································································· 313 9.4.2. RandRWC.nc ········································································································ 315 10. CircularLog ··············································································································· 322 10.1. 목적 ·························································································································· 322 10.2. 실행방법 ·················································································································· 322 10.3. 결과 ·························································································································· 322 10.4. 코드설명 ·················································································································· 322 10.4.1. RandRWAppC.nc ···························································································· 322 10.4.2. RandRWC.nc ······································································································ 325 11. SyncLog ····················································································································· 332 11.1. 목적 ·························································································································· 332 11.2. 실행방법 ·················································································································· 332 11.3. 결과 ·························································································································· 333 11.4. 코드설명 ·················································································································· 333 11.4.1. SyncLogAppC.nc ···························································································· 333 11.4.2. SyncLogC.nc ····································································································· 335 12. arbiters ······················································································································· 341 12.1. TestFcfsArbiter 예제 ···························································································· 341 12.1.1. TestFcfsArbiterC 설명 ····················································································· 341 12.1.2. TestFcfsArbiterC에서 사용하는 주요 컴포넌트 ········································· 342 12.1.3. 어플리케이션의 동작 ························································································ 343 12.1.4. 실행방법 ·············································································································· 344 12.1.5. 결과 ······················································································································ 345 13. RoundRobinArbiter ······························································································ 346 13.1. RoundRobinArbiter 목적 ····················································································· 346 13.1.1. 예제 설명 ············································································································ 346 13.1.2. 주요 컴포넌트 설명 ·························································································· 347 13.1.3. 어플리케이션의 동작 ························································································ 348 13.1.4. 결과 ······················································································································ 349 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 6
  • 7. UBee430TM Programming Guide VII. 실전 예제 ············································································································ 351 1. InternalSense ············································································································· 351 1.1. 목적 ···························································································································· 351 1.2. 실행방법 및 결과 ···································································································· 351 1.3. 코드 설명 ·················································································································· 352 1.3.1. InternalSense.h ···································································································· 353 1.3.2. InternalSenseAppC.nc ······················································································· 355 1.3.3. InternalSenseC.nc ······························································································· 356 1.3.4. Makefile ················································································································· 359 2. Sht11Sensing ············································································································ 361 2.1. 목적 ···························································································································· 361 2.2. 실행방법 및 결과 ···································································································· 361 2.3. 코드 설명 ·················································································································· 363 2.3.1. Sht11SensingAppC ····························································································· 364 2.3.2. Sht11SensingC.nc ······························································································ 364 3. DS28DG02 ················································································································ 368 3.1. 목적 ···························································································································· 368 3.2. 실행방법 ···················································································································· 369 3.2.1. ID ····························································································································· 369 3.2.2. RTC / Calendar ··································································································· 372 3.2.3. GPIO ······················································································································· 375 3.2.4. EEPROM ················································································································ 378 4. UserSwitch ·················································································································· 383 4.1. 목적 ···························································································································· 383 4.2. 실행방법 ···················································································································· 383 4.3. 결과 ···························································································································· 383 4.4. 코드설명 ···················································································································· 383 4.4.1. TestUserSwitchAppC.nc ·················································································· 383 4.4.2. TestUserSwitchC.nc ··························································································· 385 5. LightToVoltageSensor ·························································································· 387 5.1. 목적 ···························································································································· 387 5.2. 실행방법 ···················································································································· 388 5.3. 코드설명 ···················································································································· 388 6. ADCZeroSensor ······································································································· 390 6.1. 목적 ···························································································································· 390 6.2. 센서특징 ···················································································································· 390 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 7
  • 8. UBee430TM Programming Guide 6.2.1 지자기센서 ·············································································································· 390 6.2.2 소리센서 ·················································································································· 391 6.2.3 진동센서 ·················································································································· 392 6.2.4 가속도센서 ·············································································································· 392 6.2.5 인체감지센서 ·········································································································· 392 6.3 실행방법 ······················································································································ 393 6.4 코드설명 ······················································································································ 393 VIII. UBee430-AP-KIT 응용 ········································································· 396 1. UBee430-AP-KIT 개요 ························································································ 396 1.1. 개요 ···························································································································· 396 1.2. 블록도 ························································································································ 396 1.3. POWER FLOW ········································································································· 397 1.4. 시스템 구성 ·············································································································· 398 1.5. 전원 ···························································································································· 400 1.5.1. 전원 케이블 연결 방법 ······················································································· 400 1.5.2. 전원 스위치 ON ··································································································· 401 1.6. xStation <-> 베이스 노드 연결 ·········································································· 402 2. UBee430-AP-KIT 주변 장치 ············································································ 403 2.1. RFID ··························································································································· 403 2.1. 가스밸브 ···················································································································· 406 2.1. 난방밸브 ···················································································································· 407 2.1. AC램프 ······················································································································· 409 2.1. 디지털도어락 ············································································································ 410 2.1. 혈압계 ························································································································ 411 3. TinyOS 응용 프로그램 설치 ·············································································· 414 3.1. 응용 프로그램 목록 ································································································ 414 3.2. Protocol ····················································································································· 414 3.2.1. 전체 패킷 구조 ····································································································· 414 3.2.2. UBee430 -> 호스트[ Payload ] ···································································· 415 3.2.3. UBee430 -> 호스트[ Payload ] ···································································· 415 3.2.4. 호스트 -> UBee430[Payload] ········································································ 415 3.3. RFID ··························································································································· 416 3.3.1. 목적 ························································································································· 416 3.3.2. 컴파일 및 다운로드 방법 ··················································································· 416 3.3.3. 결과 ························································································································· 417 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 8
  • 9. UBee430TM Programming Guide 3.4.1. 가스밸브 ················································································································· 418 3.4.2. 목적 ························································································································· 418 3.4.3. 컴파일 및 다운로드 방법 ··················································································· 418 3.4.4. 결과 ························································································································· 419 3.5. AC램프 ······················································································································· 420 3.5.1. 목적 ························································································································· 420 3.5.2. 컴파일 및 다운로드 방법 ··················································································· 420 3.5.3. 결과 ························································································································· 420 3.6. 난방밸브 ···················································································································· 420 3.6.1. 목적 ························································································································· 420 3.6.2. 컴파일 및 다운로드 방법 ··················································································· 420 3.6.3. 결과 ························································································································· 421 3.7. 디지탈도어락 ············································································································ 421 3.7.1. 목적 ························································································································· 421 3.7.2. 컴파일 및 다운로드 방법 ··················································································· 421 3.7.3. 결과 ························································································································· 421 3.8. 혈압계 ························································································································ 421 3.8.1. 목적 ························································································································· 422 3.8.2. 컴파일 및 다운로드 방법 ··················································································· 422 3.8.3. 결과 ························································································································· 423 3.9. 센서노드 ···················································································································· 424 3.9.1. Magnetic Sensor Module ················································································· 424 3.9.2. Sound Sensor Module ······················································································ 424 3.9.3. Ultra-sonic Sensor Module ············································································· 424 3.9.4. Vibration Sensor Module ·················································································· 424 3.9.5. Acceleration Sensor Module ··········································································· 425 3.9.6. Motion-Detector Sensor Module ··································································· 425 3.10. BaseStation ············································································································ 425 3.10.1. 목적 ······················································································································ 425 3.10.2. 컴파일 및 다운로드 방법 ················································································ 425 3.10.3. 결과 ······················································································································ 425 IX. 자바 응용 ··········································································································· 426 1. USN PC 응용프로그램 개발 준비 ·································································· 426 2. PC 환경 구축 ············································································································· 428 2.1. 자바 설치 ·················································································································· 428 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 9
  • 10. UBee430TM Programming Guide 2.2. PC에 웹캠 설치하기 ······························································································· 433 2.3. Java Media FrameWork 2.1버젼 설치 ····························································· 436 2.4. USB to Serial 드라이버 설치 ·············································································· 440 3. 제공 어플리케이션 실행 ······················································································· 433 4. PC 어플리케이션 개발 환경_Eclipse 환경구축 ······································ 448 5. Eclipse에 실행소스와 리소스 Import 작업 ··············································· 452 5.1. SerialForwarder 실행소스 Import ······································································· 452 5.2. UBee430_PC 어플리케이션 Import ···································································· 460 6. Eclipse에서 실행 및 유의 사항 ······································································· 466 7. TinyOS 2.x 가 지원하는 Java SDK를 이용한 어플리케이션 ········· 467 7.1. SerialForwarder ······································································································· 467 7.2. UBee430_PC ············································································································ 477 X. Appendix ················································································································· 489 1. 운용환경 설정 팁 ····································································································· 489 1.1. gvim 설치 ·················································································································· 489 1.1.1. 다운로드 ················································································································· 489 1.1.2. 설치 ························································································································· 489 1.2. 시그윈 쉘 환경 꾸미기 ·························································································· 493 1.2.1. Bash에 대해서 ····································································································· 493 1.2.2. 한글 입출력 문제 해결 및 alias 설정 ···························································· 494 1.2.3. 프롬프트 변경 ······································································································· 496 2. 초저전력 임베디드 설계에서 위험 요소를 피하는 방법 ···················· 498 3. UBee430 RF 설정 방법 ······················································································· 502 3.1 CC2420_DEF_CHANNEL 설정 ·············································································· 502 3.2 CC2420_DEF_RFPOWER 설정 ·············································································· 503 4. UBee430 UART 설정 방법 ················································································ 504 4.1 UBee430 UART0 설정 ···························································································· 504 4.2 UBee430 UART1 설정 ···························································································· 505 5. UBee430 SHT11(온/습도)센서 Calibration ·············································· 506 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 10
  • 11. UBee430TM Programming Guide I. UBee430에 대해서 1. UBee430 하드웨어 설명 1.1. UBee430 UBee430은 MSP430와 CC2420을 기반으로 설계 된 USN RF 모듈입니다. IEEE 802.15.4를 지원하 며, TinyOS2.0.2가 탑재되어 있습니다. UBee430 은 보드 내에 온도/습도 및 조도센서가 기본적으 로 내장되어 있습니다. 또한 사용자가 실제 어플 리케이션 구현 시 유용할 수 있는 주변장치를 제 공하고 있습니다. 주변 장치로는 External Flash(1MBytes), EEPROM(2KBytes) , RTC, Unique ID, User Switch 등이 있으며, 강력한 배터리 모니터링 기능을 지원 합니다. 또한 GPIO (General Purpose Input Output) 확장을 위하여 MSP430 GPIO 외에 포트 확장 IC 를 이용하여 추가적인 12개의 GPIO를 제공 합니다. 확장된 GPIO는 입력 또는 출 력 , 오프 드레인 또는 푸시풀로 동작이 가능 합니다. 1.2. 블록도 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 11
  • 12. UBee430TM Programming Guide 1.3. 특징 ● 250Kbps 2.4Ghz IEEE 802.15.4 Chipcon Wireless Transceiver - CC2420 ● Texas Instruments MSP430 Micro controller - 16bit RISC - Memory : Internal Flash - 48Kbyte , internal RAM - 10Kbyte - Ultra low current consumption ● USB Interface - USB를 이용한 노드 프로그래밍 - USB To Serial Interface 제공 ● ANTENNA - PCB ANTENNA / EXTERNAL ANTENNA ( 최대 150M , Open Area ) ● Peripheral Device - External FLASH1 ( 1Mbyte ) - External EEPROM ( 2Kbyte ) : SPI Interface - RTC ( Real Time Clock ) : SPI Inerface , RTC/Calender/Alarm - Battery Monitor : 다양한 전압 모니터링 기능을 제공 한다. ① MSP430 Internal voltage sensor ② ADC를 이용한 Voltage Sensing ③ 외부 Batter Monitor 장치를 이용한 전압 감시 기능 : 2.5V / 2.25V / 2.0V / 1.75V 설정된 전압 이하로 Drop시 알람 기능 - Unique ID : UBee430은 각각의 노드가 64-BIT의 개별적인 ID를 제공 - GPIO 확장 : SPI Interface , MSP430 GPIO 외에 추가적인 12개의 GPIO를 확장 INPUT / OUTPUT , Open-Drain / Push-Pull - LED : 3EA - USER SWITCH : 2 개 , - RESET Switch - Power Switch ● Sensor - Temperature Sensor - Humidity Sensor - Light Sensor ( Light to Voltage ) ● USER I/O - ADC 6채널 - I2C / SPI - UART RX/TX 2채널 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 12
  • 13. UBee430TM Programming Guide - GPIO 19EA ( MSPGPIO 7EA , 확장 GPIO 12EA ) - JTAG ● 확장 모듈 - AC Control B/D , DC Control B/D - Gas Gear Control B/D - RFID Interface B/D - 혈압계 Interface B/D ● 확장 센서 - 초음파 , 지자기 , 진동 , 가속도 , 인체감지 , 사운드 센서 모듈 - RS232모듈 , USB 모듈 , GPIO 테스트 모듈 - User Interface 모듈 ( 만능 기판형 ) ● TinyOS Support - TinyOS 2.0.2 1.4. 구성도 < Top View > SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 13
  • 14. UBee430TM Programming Guide <Bottom View > 1.5. 설정 및 전원 1.5.1. 전원 스위치 설정 UBee430의 전원 스위치는 USB 전원 및 배터리 전원을 선택 하도록 설계 되었다. 그러므로 USB 연결 시에는 반드시 전원 스위치를 USB 방향으로 전환 시키고, 독 립적인 배터리 사용 시에는 BAT 방향으로 전환 시켜야 한다. 배터리 전원 사용 USB 전원 사용 프로그램 다운로드 1.5.2. USB 모듈 결합 USB를 이용하여 프로그램 다운로드 시에는 UBee430 USB 모듈을 결합하여야 하 며, USB 모듈을 연결하기 전에 반드시 전원을 OFF/USB 상태로 먼저 설정 한 뒤 USB 모듈을 결합해야 한다. SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 14
  • 15. UBee430TM Programming Guide <UBee430 USB 모듈 > <UBee430 + USB 모듈 > 1.6. Memory Map ( DS28DG02 ) UBee430은 EEPROM , RTC, Unique ID, 확장 GPIO ,배터리 모니터링 등의 추가 적인 기능을 지원하기 위하여 DS28DG02라는 One-Chip을 사용하고 있다. DS28DG02는 MSP430의 GPIO와 연결되어 있다. UBee430에서 제공하는 DS28DG02 컴포넌트는 다음 메모리맵을 기준으로 만들어 졌다. ADDRESS TYPE ACCESS DESCRIPTION 000h to 03Fh EEPROM R/W User memory block 0. 040h to 07Fh EEPROM R/W User memory block 1. 080h to 0BFh EEPROM R/W User memory block 2. 0C0h to 0FFh EEPROM R/W User memory block 3. 100h to 109h — — Reserved, contents undefined. 10Ah EEPROM R/W Power-on default for PIO output state (PIO0 to PIO7). 10Bh EEPROM R/W Power-on default for PIO output state (PIO8 to PIO11). 10Ch EEPROM R/W Power-on default for PIO direction (PIO0 to PIO7). 10Dh EEPROM R/W Power-on default for PIO direction (PIO8 to PIO11). 10Eh EEPROM R/W Power-on default for PIO read-inversion (PIO0 to PIO7). Power-on default for PIO read-inversion (PIO8 to PIO11), 10Fh EEPROM R/W PIO output type (PIO0 to PIO11 in groups of 4 PIOs), PIO output mode (same mode for all PIOs). 110h to 117h — — Reserved, contents is undefined. 118h to 11Fh ROM R 64-bit unique registration number. 120h SRAM R/W PIO output state (PIO0 to PIO7). 121h SRAM R/W PIO output state (PIO8 to PIO11). 122h SRAM R/W PIO direction (PIO0 to PIO7). 123h SRAM R/W PIO direction (PIO8 to PIO11). 124h SRAM R/W PIO read-inversion (PIO0 to PIO7). PIO read-inversion (PIO8 to PIO11), PIO output type 125h SRAM R/W (PIO0 to PIO11 in groups of 4 PIOs), PIO output mode (same mode for all PIOs). SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 15
  • 16. UBee430TM Programming Guide R 126h — PIO read access (PIO0 to PIO7). R 127h — PIO read access (PIO8 to PIO11). 128h — — Reserved, contents undefined. 129h to 12Fh NV SRAM R/W RTC and calendar. 130h to 133h NV SRAM R/W RTC alarm. 134h NV SRAM R/W Multifunction control/setup register. 135h NV SRAM R/Clear Alarm and status register. 136h and — — Reserved, contents undefined. above 추가적인 내용을 확인하려면 DS28DG02 데이터시트를 참고 하시길 바랍니다. 제품 출고시 동봉된 CD에 Datasheet 첨부됨. 1.7. 기구도 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 16
  • 17. UBee430TM Programming Guide 2. UBee-Dust 하드웨어 설명 2.1. UBee-Dust UBee-Dust는 MSP430와 CC2420을 기반으로 설 계된 USN RF 모듈입니다. IEEE 802.15.4를 지원 하며, TinyOS2.0.2가 탑재되어 있습니다. UBee-Dust는 초소형, 저전력, Low-Cost를 목적 으로 설계된 모듈입니다. UBee-Dust는 UBee430과 같은 플랫폼 구조를 가지고 있습니다. 컴파일 및 다운로드 시 UBee430과 똑같이 사용 됩니다. 하지만 UBee-Dust는 초소형 및 저전력을 구현하 기 위하여 UBee430에 구현된 일부 Peripheral Device는 제외 되었습니다. 2.2. 블록도 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 17
  • 18. UBee430TM Programming Guide 2.3. 특징 ● 250Kbps 2.4Ghz IEEE 802.15.4 Chipcon Wireless Transceiver - CC2420 ● Texas Instruments MSP430 Micro controller - 16bit RISC - Memory : Internal Flash - 48Kbyte , internal RAM - 10Kbyte - Ultra low current consumption ● USB Interface - USB를 이용한 노드 프로그래밍 - USB To Serial Interface 제공 ● ANTENNA - 칩 안테나 ● Peripheral Device - LED : 3EA - USER SWITCH , Power-Path Switch ● Sensor - Internal Voltage , Internal Temperature , Light ● User IO - JTAG , REST , 3V , GPIO 3EA , ADC CH-3 ● Power - 3V Coin Battery ( CR2032 ) 2.4. 구성도 칩 안테나 유저 스위치 전원 스위치 조도센서 CC2420 User I/O User I/O (RESET, UART , JTAG) (GPIO 3EA, ADC 3EA , POWER ) < TOP VIEW > SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 18
  • 19. UBee430TM Programming Guide 배터리 MSP430 (배터리 홀더 하단 ) < BOTTOM VIEW > 2.5. 설정 및 전원 2.5.1. 전원 스위치 설정 UBee-Dust의 전원 스위치는 USB 전원 및 배터리 전원을 선택 하도록 설계 되었 다. 그러므로 USB 연결 시에는 반드시 전원 스위치를 USB 방향으로 전환 시키고, 독립적인 배터리 사용 시에는 ON 방향으로 전환 시켜야 한다. 배터리 전원 사용 시 USB 전원 사용 시 2.5.2. USB 모듈 결합 USB를 이용하여 프로그램 다운로드 시에는 UBee430 USB 모듈을 결합하여야 하 며, USB 모듈을 연결하기 전에 반드시 전원을 OFF/USB 상태로 먼저 설정 한 뒤 USB 모듈을 결합해야 한다. SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 19
  • 20. UBee430TM Programming Guide <UBee-Dust + USB 모듈 > 2.6. Pin Map J4 J5 PIN SIGNAL NAME PIN SIGNAL NAME 1 VCC3.3V ( USB ) 1 VCC3V ( BATTERY ) 2 MSP430_TCK 2 ADC0 3 RESET 3 GPIO 1.2 4 MSP430_TMS 4 ADC1 5 UART1RX 5 GPIO 2.5 6 MSP430_TDI 6 ADC2 7 UART1TX 7 GPIO 4.0 8 MSP430_TDO 8 GND 2.7. 기구도 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 20
  • 21. UBee430TM Programming Guide 3. UBee430-BN 하드웨어 설명 3.1. UBee430-BN UBee430-BN은 호스트 시스템과 각각의 RF모듈 을 인터페이스 시키는 USB 동글 형태의 보드입니 다. UBee430-BN는 USB 관련 부품과 MSP430, CC2420등의 핵심적인 부품만을 적용하여 구성된 모듈이며, TinyOS2.0.2가 탑재되어 있습니다. UBee430-BN은 각각의 센서 노드와 무선으로 인터페이스 되며 각 노드에서 전달한 센서 및 기타 무선 데이터를 Host PC 또는 xStation과 같은 임베디드 시스템에 전달 합니다. 3.2. 블록도 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 21
  • 22. UBee430TM Programming Guide 3.3. 특징 ● 250Kbps 2.4Ghz IEEE 802.15.4 Chipcon Wireless Transceiver - CC2420 ● Texas Instruments MSP430 Micro controller - 16bit RISC - Memory : Internal Flash - 48Kbyte , internal RAM - 10Kbyte - Ultra low current consumption ● USB Interface - USB를 이용한 노드 프로그래밍 - USB To Serial Interface 제공 ● ANTENNA - EXTERNAL ANTENNA ( 최대 150M , Open Area ) ● Peripheral Device - LED : 3EA - RESET Switch 3.4. 구성도 RX LED TX LED MSP430 LED RESET SWITCH CC2420 EXTERNAL ANTENNA < TOP VIEW > SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 22
  • 23. UBee430TM Programming Guide MSP430 FT232BM < BOTTOM VIEW > 3.5. 설정 및 전원 UBee430-BN은 독립적인 배터리를 사용하지 않고 USB 포트로부터 전원을 공급 받 아 동작을 한다. 3.6. 기구도 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 23
  • 24. UBee430TM Programming Guide II. UBee430 개발환경 구축 휴인스에서는 쉬운 개발환경 설치를 위하여 Vmware 기반의 Virtual Image를 제공 한다. 이 이미지는 TinyOS 사용을 위한 rpm 및 기타 유틸리트가 모두 설치 되었으며, UBee430 사용을 위한 모든 포팅 과정 및 설정이 완료된 이미지 이다. 1. 설치에 필요한 프로그램 UBee430 배포용 CD는 다음 프로그램을 제공 한다. ( UBee430[Rev 1.3 이상]_CD2 ) 1. VMware-player-2.0.2-59824.exe : VMware Player 2. Xubuntos 2.0-UBee430-080117.exe : 압축된 Virtual Image 2. VMware Player 설치 1.1. VMware-player-2.0.2-59824.exe 를 더블 클릭하여 설치를 시작 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 24
  • 25. UBee430TM Programming Guide SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 25
  • 26. UBee430TM Programming Guide 1.2. VMware Player에서 loading할 폴더를 만든다. 윈도우 탐색기를 이용하여 내 문서에 My Virtual Machines 폴더를 만든다. My Virtual Machines 폴더에 Xubuntos 2.0-UBee430-080117 이미지를 복사한 다. SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 26
  • 27. UBee430TM Programming Guide 3. Virtual Image 복사 및 압축해제 1.3. 휴인스에서 제공하는 Xubuntos 2.0-UBee430-080117 이미지를 My Virtual Machines 폴더에 복사하여 붙여넣기 한다. Xubuntos 2.0-UBee430-080117 이미지는 배포용 CD에 압축된 상태로 제공된 다. 1.4. Xubuntos 2.0-UBee430-080117.exe 파일을 내 문서 My Virtual Machines 폴더에 복사 한다. 1.5. Xubuntos 2.0-UBee430-080117.exe 파일을 더블클릭하여 압축을 해제 한다. Xubuntos 2.0-UBee430-080117.exe 파일을 더블 클릭 ( 자동 압축 풀림 ) SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 27
  • 28. UBee430TM Programming Guide 1.6. VMware Player 실행 바탕화면의 바로가기 아이콘을 더블 클릭 한다 VMware Player가 실행되면 Image를 loading 한다. Open 클릭 C: ₩Documents and Settings ₩<유저계정> ₩My Documents ₩My Virtual Machines ₩Xubuntos2.0-UBee430- 080117 폴더의 Xubuntos 2.0.vmx 파일 을 선택한 후 열기를 누른다. SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 28
  • 29. UBee430TM Programming Guide xubuntu 가 실행이 된다. Username를 입력 한다 마우스 커서를 입력란에 클릭한 후 Username은 "xubuntos"를 입력 한다. 그리고 엔터를 입력 한다 Password를 입력 한다. "tinyos"를 입력 한다. 그리고 엔터를 입력 한다. SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 29
  • 30. UBee430TM Programming Guide loading이 완료되었다면 다음 화면을 볼수 있을 것이다. SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 30
  • 31. UBee430TM Programming Guide 4. 테스트 1.7. UBee430 연결 테스트 UBee430을 현재 개발환경이 설치된 PC의 USB 포트에 장착 한다. 터미널을 실행 시킨다. motelist를 입력하여 UBee430이 연결되었는지 확인 한다. SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 31
  • 32. UBee430TM Programming Guide 만약 UBee430이 검색이 안되면 xubuntos에 Future Devies USB Device 아이콘 을 클릭하여 재인식 시킨다. 이때 VMware Player에서 윈도우로 탈출하려면 키보드의 ctrl + Alt를 동시에 눌러 야 한다. 5. 컴파일 및 설치 테스트 터미널을 실행 시킨다. ( 현재 터미널이 실행되어 있으면, 현재의 터미널에서 수행 한다.) TinyOS 어플리케이션을 컴파일하고 UBee430에 다운로드 한다. $ cd /opt/opt/tinyos-2.x/apps/tests/TestSerial $ make UBee430 install SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 32
  • 33. UBee430TM Programming Guide 자바 프로그램 실행 테스트 $ java net.tinyos.tools.Listen -comm serial@/dev/ttyUSB0:UBee430 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 33
  • 34. UBee430TM Programming Guide III. 컴파일 어플리케이션을 작성하여, 사용하기 위해서 컴파일을 해주어야 한다. 이번 챕터에서 는 작성한 어플리케이션을 컴파일하고, 모트에 설치하는 방법을 다루고자 한다. 1. 컴파일 및 인스톨 방법 TinyOS에서는 make를 명령을 사용하여 컴파일과 mote에 설치하는 작업을 수행한 다. 아래에 자주 사용되는 make 명령을 예로 들었다. make [ 플랫폼 이름 ] [ 옵션 ] make UBee430 컴파일 make UBee430 install 컴파일 후 설치 make UBee430 reinstall 컴파일 없이 재설치 make clean 컴파일 결과들을 삭제 make UBee430 reinstall,1 mote의 ID를 1로 하여 재설치 make UBee430 bsl,6 reinstall COM7에 연결된 mote에 재설치 make UBee430 docs NesC 문서를 생성 ( html 파일 ) Null 어플리케이션을 컴파일하고 설치해보자. 우선 Null 어플리케이션 디렉터리로 이 동한다. 그리고 어플리케이션을 컴파일 하기 위해 필요한 3가지 파일이 있는지 확 인한다. make 명령을 사용하여 컴파일을 후, 모트로 프로그램을 다운로드한다. $ cd /opt/tinyos-2.x/apps/Null $ ls ..................................................... ① 파일확 인 Makefile NullAppC.nc NullC.nc $ make UBee430 install .................... ② 컴파 일 후 인 스톨 mkdir -p build/UBee430 compiling NullAppC to a UBee430 binary ncc -o build/UBee430/main.exe -Os -O -mdisable-hwmul -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d -Wnesc-all -target=UBee430 -fnesc-cfile=build/UBee430/app.c -board= -DIDENT_PROGRAM_NAME=₩"NullAppC₩" -DIDENT_USER_ID=₩"이정주₩" -DIDENT_HOSTNAME=₩"nautes₩" -DIDENT_USER_HASH=0xbcec09c4L -DIDENT_UNIX_TIME=0x46d4c282L -DIDENT_UID _HASH=0xf759d9b3L NullAppC.nc -lm compiled NullAppC to build/UBee430/main.exe 1418 bytes in ROM SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 34
  • 35. UBee430TM Programming Guide 4 bytes in RAM msp430-objcopy --output-target=ihex build/UBee430/main.exe build/UBee430/main.ih ex writing TOS image cp build/UBee430/main.ihex build/UBee430/main.ihex.out found mote on COM7 (using bsl,auto) installing UBee430 binary using bsl tos-bsl --telosb -c 6 -r -e -I -p build/UBee430/main.ihex.out MSP430 Bootstrap Loader Version: 1.39-telos-8 Mass Erase... Transmit default password ... Invoking BSL... Transmit default password ... Current bootstrap loader version: 1.61 (Device ID: f16c) Changing baudrate to 38400 ... Program ... 1450 bytes programmed. Reset device ... rm -f build/UBee430/main.exe.out build/UBee430/main.ihex.out 정상적으로 컴파일이 되고, 장치 설정이 정상적으로 되어있다면, 위와 같은 메시지 를 볼 수 있을 것이다. SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 35
  • 36. UBee430TM Programming Guide IV. Tutorial 번역 과정에서 오역이 있을 수 있으니 원문 Tutorial을 참고 하시길 바랍니다. 본 tutorial은 원문 tutorial을 UBee430에 맞추어 재구성 한 번역본입니다. 번역 과정에서 삭제 및 추가한 부분이 있습니다. 이점 참고 바랍니다. 1. Lesson 1: Getting Started with TinyOS and nesC 소개 이번 lesson에서는 TinyOS 프로그램을 컴파일하고 mote에 설치하는 방법에 대해 설 명 한다. 그리고 TinyOS 컴포넌트 모델의 기본적인 개념과 구문(syntax)에 대해 소개 한다. 또한 TinyOS의 소스 코드 문서를 생성하고 찾는(navigate) 방법에 대해 설명 한 다. 컴파일과 설치 첫 번째 연습으로써 매우 간단한 TinyOS 어플리케이션인 Blink를 컴파일하고 설치해 볼 것이다. mote 하드웨어가 없다면, TinyOS 시뮬레이터인 TOSSIM을 위해 컴파일을 하면 된다. TinyOS 어플리케이션은 make 프로그램을 사용하여 컴파일 한다. TinyOS는 강력하고 확장성 있는 make system을 사용함으로써 새로운 플랫폼이나 컴파일 옵션을 쉽게 추 가 할 수 있다. make system 정의는 /opt/tinyos-2.x/support/make에 위치해 있다. 첫 번째 단계로 TinyOS 환경이 올바르게 셋업이 되었는지 체크해야 한다. tos-check-env 명령을 실행 시킨다. $ tos-check-env 이 스크립트는 TinyOS 환경에서 필요로 하는 모든 것을 체크한다. 정상적으로 설치되 었다면, tos-check-env 실행 후, 아래 문구를 볼 수 있다. tos-check-env completed without error. UNIX 환경에 익숙하다면 대부분의 경고들은 여기서 따로 설명할 필요가 없을 것이다. 경고들로 문제를 겪는다면 이메일 리스트에 가입해서 질문하기를 권장한다. 문제를 겪 SOC・Embedded System・Ubiquitous Sensor Network・ARM CopyrightⒸ Huins All rights reserved. 36