860 likes | 1.27k Views
TinyOS 사용법 및 nesC Programming (USN 관련 교육 자료 ). ( 주 ) ED. 교육 순서. 1. TinyOS 의 개요. 2. TinyOS 의 설치. 3. TinyOS Programming Environment Setting. 4. TinyOS Programming. Lesson 1. Blink LEDs. Lesson 2. Sensor Acquisition. Lesson 3. Task Programming. Lesson 4.
E N D
TinyOS 사용법 및 nesC Programming (USN 관련 교육 자료) (주) ED
교육 순서 1 TinyOS의 개요 2 TinyOS의 설치 3 TinyOS Programming Environment Setting 4 TinyOS Programming Lesson 1 Blink LEDs Lesson 2 Sensor Acquisition Lesson 3 Task Programming Lesson 4 Send & Receive Message using RF Lesson 5 How to debug Lesson 6 Data Display on PC Lesson 7 Command to node & Broadcasting Lesson 8 Saving data
TinyOS의 설치 Download Windows 클릭 http://www.tinyos.net 홈페이지 접속
TinyOS의 설치 http://www.tinyos.net/dist-1.1.0/tinyos/windows/를 type.
TinyOS의 설치 Tinyos-1.1.11-3is.exe 를 다운로드한다.
TinyOS의 설치 더블클릭하여 실행 실행을 클릭 다운로드 완료
TinyOS의 설치 Next Next
TinyOS의 설치 Cygwin 설치가 끝나고 TinyOS를 설치한다. Continue
TinyOS의 설치 오랜 시간 설치가 끝나면 설치 완료 메시지가 뜬다.
TinyOS의 설치 설치가 완료되면 바탕화면에 아이콘이 생성되며, 시작 메뉴에 아래와 같이 나타난다. Windows Explorer창을 이용해서 Program Files 폴더를 보면 UCB 폴더가 생성되어 있다.
TinyOS의 설치 TinyOS 설치 확인 바탕화면의 Cygwin 바로가기를 클릭한다.
TinyOS의 설치 AVR Studio의 설치 (Download시 필요) “Astudio”검색한다. www.atmel.com 을 접속한다. AVR Studio 4.12(build 460)을 클릭한다.
TinyOS의 설치 AVR Studio의 설치 (Download시 필요) Next I agree후 Next Next
TinyOS의 설치 AVR Studio의 설치 (Download시 필요) Next
TinyOS Programming Environment Setting ED-ZigNet Porting 아직은 USN의 표준이 정립되지 않은 상태이기 때문에 여러 가지 USN 장비들이 출시되고 있다. 그 제품들의 Line-Up을 보면 아래와 같다.
TinyOS Programming Environment Setting ED-ZigNet Porting 이처럼 많은 USN Platform들이 출시되었다. 그 중 ED-ZigNet은 가장 최근에 개발된 Micaz Platform을 사용하고 있다. 동일한 platform을 사용한다는 것은 통신방식, Microprocessor 등이 동일하다는 것일 뿐이다. 따라서 Microprocessor 주변에 CC2420 chip(ZigBee Chip)과 연결이라든지 Sensor의 배치 등은 Micaz과 다르다. 따라서 ED-ZigNet만의 Porting이 필요한 것이다. 이러한 porting 과정은 Hardware의 구조와 응용프로그램을 분석함을 통해서 알 수 있다. 이러한 일련의 과정들을 생략하고, 같이 제공된 CD의 TinyOS 폴더를 복사함으로써 ED-ZigNet의 Porting 과정이 끝나게 된다.
TinyOS Programming Environment Setting ED-ZigNet Porting
TinyOS Programming Environment Setting ED-ZigNet Porting TinyOS 폴더를 찾아간다.(C:\Porgram Files\UCB\Cygwin\opt\)
TinyOS Programming Environment Setting ED-ZigNet Porting 모두 예(A)
TinyOS Programming - 1 Lesson 1 Blink LEDs Blink LEDs 모든 장비가 그러하듯이 가장 먼저 해야 다뤄 보아야 할 부분이다. 장비의 입,출력을 제어하는 방법에 대해 알아본다. ED-ZigNet에는 기본적으로 두 개의 LED를 가지고 있다. 이중 적색 LED를 깜빡거리는 프로그램을 작성해 보도록 한다.
TinyOS Programming - 1 Lesson 1 Blink LEDs Program Coding Windows Explorer를 이용하여 C:\Program Files\UCB\Cygwin\opt\tinyos-1.x\apps\ZigNet1\Blink 를 클릭한다.
TinyOS Programming - 1 Lesson 1 Blink LEDs Blink의 Configurature 파일 Blink의 Module 파일 Blink.nc BlinkM.nc SingleTimer.nc파일을 연다
TinyOS Programming - 1 Lesson 1 Blink LEDs Ultra Editor를 이용하여 프로그램 소스를 open한다. 필요시 source를 수정한다. Source 작성은 Text Editor를 이용하여 작성한다. Notepad를 이용하여 소스를 open할 경우 source가 Linux 형식이기 때문에 이상하게 보일 수도 있다. Text Editor tools를 이용하기를 권장한다.
TinyOS Programming - 1 Lesson 1 Blink LEDs Compile 바탕화면의 Cygwin 아이콘을 클릭한다. (시작-Program-Cygwin-Cygwin Bash Shell)
TinyOS Programming - 1 Lesson 1 Blink LEDs Compile Blink 폴더로 이동한다. $ cd /opt/tinyos-1.x/apps/ZigNet1/Blink/
TinyOS Programming - 1 Lesson 1 Blink LEDs Compile 컴파일 한다. $ make micaz
TinyOS Programming - 1 Lesson 1 Blink LEDs Download 제대로 Compile 이 되었는지 확인하다. $cd build/micaz 폴더가 이동한다. 폴더의 내용을 Display한다. 컴파일이 완료된 후 생성되는 파일들이다. 우리가 ED-ZigNet에 다운로드 할 파일을 main.ihex파일이다.
TinyOS Programming - 1 Lesson 1 Blink LEDs Download AVR Studio를 실행한다.
TinyOS Programming - 1 Lesson 1 Blink LEDs Download Tools - Program AVR – Connect…을 실행한다.
TinyOS Programming - 1 Lesson 1 Blink LEDs Download Programmer Device를 선택한다. Device가 연결된 Com PORT를 설정한다. 모르겠으면 Auto를 선택한다 JTAG ICE
TinyOS Programming - 1 Lesson 1 Blink LEDs Download Device를 선택한다. ATmega128 Flash 의 …을 누른다
TinyOS Programming - 2 Lesson 2 Sensor Acquisition Sensor Acquisition 우리는 Lesson 1에서 LED를 출력하는 법에 대해 알아보았다. 이번 과제에서는 센서의 입력을 받아들이는 방법에 대해 알아보도록 한다. S/W를 통해서 입력하는 방법도 있겠지만 USN에서 스위치를 통한 입력은 무의미하다. 왜냐하면 센서네트워크에서는 물리적인 양을 입력받기 때문에 0 혹은 1의 입력은 무의미 하다 할 수 있다. 여기에서 cds를 통해서 빛의 양을 감지하여 LED를 통해서 Display하는 방법에 대해 알아보자.
TinyOS Programming - 2 Lesson 2 Sensor Acquisition Program Coding Windows Explorer를 이용하여 C:\Program Files\UCB\Cygwin\opt\tinyos-1.x\apps\ZigNet1\Sense 를 클릭한다.
TinyOS Programming - 2 Lesson 2 Sensor Acquisition Program Coding Sense의 Configurature 파일 Sense의 Module 파일
TinyOS Programming - 2 Lesson 2 Sensor Acquisition Compile 바탕화면의 Cygwin 아이콘을 클릭한다. (시작-Program-Cygwin-Cygwin Bash Shell) 폴더를 이동한다. $cd /opt/tinyos-1.x/apps/ZigNet1/Sense
TinyOS Programming - 2 Lesson 2 Sensor Acquisition Compile $ make micaz 를 입력한다.
TinyOS Programming - 2 Lesson 2 Sensor Acquisition Compile Compile를 확인한다. Build/micaz 폴더로 이동한다. 파일을 확인한다. Main.ihex 파일을 확인한다
TinyOS Programming - 2 Lesson 2 Sensor Acquisition Download AVR Studio를 실행한다.
TinyOS Programming - 2 Lesson 2 Sensor Acquisition Download Tools - Program AVR – Connect…을 실행한다.
TinyOS Programming - 2 Lesson 2 Sensor Acquisition Download Programmer Device를 선택한다. Device가 연결된 Com PORT를 설정한다. 모르겠으면 Auto를 선택한다 JTAG ICE
TinyOS Programming - 2 Lesson 2 Sensor Acquisition Download Device를 선택한다. ATmega128 Flash 의 …을 누른다
TinyOS Programming - 3 Lesson 3 Task Programming Task Programming 우리는 Lesson 2에서 cds를 통해 입력된 데이터를 LED를 이용하여 Display하는 방법에 대해 알아보았다. 이 방법은 센서로 부터 입력이 들어오면 바로 Display하는 방법이다. 즉 센서로부터 Event가 있을 때 바로 응답을 하는 경우이다. 이번 Lesson 3에서는 동일한 실험을 한다. 다만 센서로부터 Event가 있을 경우 동작하는 것이 아니라 Timer에 의해 일정 시간마다 센서값을 읽어서 Display하는 과정을 알아보도록 한다. 이것이 바로 Task이다.
TinyOS Programming - 3 Lesson 3 Task Programming Program Coding Windows Explorer를 이용하여 \opt\tinyos-1.x\apps\ZigNet1\Sensetask 를 클릭한다. Sense Task의 Module파일 Sense Task의 Configuration파일
TinyOS Programming - 3 Lesson 3 Task Programming Compile 바탕화면의 Cygwin 아이콘을 클릭한다. (시작-Program-Cygwin-Cygwin Bash Shell) 폴더를 이동한다. $cd /opt/tinyos-1.x/apps/ZigNet1/SenseTask