순서 기본개념 USN 핵심기술 USN 적용사례 ZigbeX 소개 ZigbeX 개발환경구축 TinyOS 개요 nesc 구문이해 기본예제를이용한실습 WSN 프로그래밍실습 p.2
|
|
- 준성 목
- 6 years ago
- Views:
Transcription
1 USN Quick Start 2009~2010 동계강좌 교육사업부
2 순서 기본개념 USN 핵심기술 USN 적용사례 ZigbeX 소개 ZigbeX 개발환경구축 TinyOS 개요 nesc 구문이해 기본예제를이용한실습 WSN 프로그래밍실습 p.2
3 기본개념
4 Background 유비쿼터스컴퓨팅 언제, 어디서사용자가인지하지않더라도필요한정보나서비스를제공할수있는기술 유선망, 무선망, 고정망, 이동망등의수많은망들간의연결이필요 유비쿼터스사회의기반기술 : USN 사람의행동패턴및주변환경을감지할수있는기술 효율적으로실행활및산업에적용하여향상된서비스제공 USN 의기본목적 데이터수집, 데이터처리, 무선통신을통한네트워크형성 p.4
5 Wireless Sensor? 제한된자원으로구성된소형의내장형시스템을이용하여다양한물리량을센싱하고, 처리하며그결과를이미구축된네트워크를이용하여전달 제한된전력 Battery System 제한된크기와가격 회수비용무시 제한된 BandWidth 무선채널의한계 제한된 RF 출력 각요소간의 Trade-Off p.5
6 Sensor Networks? Ubiquitous Sensor Networks RFID 와무선센서노드들로구성되는네트워크 : RFID 태그감지및주변환경센싱 무선통신을통한자유로운네트워크형성 관심을두는현상에대한정보수집, 모니터 구성된네트워크의유지 무선노드들끼리무선통신을통해기간망과연결된 Sink 노드 ( 수집노드 ) 에게수집된데이터전송 Ad-Hoc Network 를 이용한자율통신망 구축 p.6
7 Ad-hoc Wireless Networks Ad-hoc 통신기법 특정 AP 나 Base Station 과같은중계기가없더라도각무선노드들간에자유로운네트워크를구성하는기술 p.7
8 Ad-hoc Wireless Networks Ad-hoc Network 의구조 유선망이나기존에설치된망이없음 Self-Organizing Networks 자유롭게이동가능. 라우터로동작, 단말은제외 Ad-hoc Network 의특징 쉽고빠른개발 ( 유선망과기지국이필요없다 ) 관리비용감소 제한된자원 ( 전력, 전송거리 ) 비안정형네트워크 ( 에러율이높다 ) 보안취약 ( 전송데이터를쉽게모니터링 ) p.8
9 USN 의특성 응용프로그램지배적 각각응용에따라최적화되어야함. 프로토콜최적화. 통신환경 응용이나프로토콜에따라독특한데이터트래픽을가짐 Duty cycle 사용 배터리시스템에서저전력을위해사용하지않는 RF 는 Sleep 시킴 Duty Cycle 은 RF 에서 Sleep 과 Active 시간간에비율을의미 Self-Configurability ( 자가구성 ) Network Self Organization p.9
10 USN 핵심기술
11 Enabling Technology for USN IEEE WLAN 은 USN 에적합하지않음 IEEE WPAN Bluetooth ( )? Voice Applications 에적합한 QoS 를가지는디바이스로케이블을대체할목적으로설계 High-Rate WPAN ( )? 높은 QoS 를요구하는멀티미디어응용에적합 Low-Rate WPAN ( )? Data rate 나 QoS 가낮은응용에적합 Wireless Sensor Networks 에서공인함 p.11
12 IEEE TG4 IEEE 802 LAN/MAN Standards Committee802.1Higher Higher Layer LAN Protocols Working Group Wireless Local Ar ea Network Work ing Group Wireless Personal Ar ea Network Worki ng Group MBWA W orking Gr oup TG1 WPAN/Bluetooth Task Group TG2 Coexistence Task Group TG3 WPAN High Rate Task Group TG4 WPAN Low Rate Task Group + ZigBee p.12
13 WSN 기술 WSN(Wireless Sensor Network) P2P 에서 M2M 으로변화 모든사물에컴퓨팅기술과통신기능부여 스탠포트대학 구조물의실시간무선계측시스템개발 버클리대학 모트 (Mote) 상용화 소형무선센서플랫폼으로 HW 와 SW 공개 무선센서네트워크운영체제 (TinyOS) 공개 p.13
14 WSN 응용 Home Networking Automotive Networks Industrial Networks Interactive Toys Remote Metering p.14
15 WSN 시스템개요 특정지역이나공간상에다수의소형센서노드설치 주변환경및사물인식정보수집 응용서비스에활용 기존네트워크와의차이점 기존네트워크 : 상호간의정보전달 센서네트워크 : 자동화된원격정보수집 무선과소형의센서노드구현기술필수 배터리로동작하는저전력의제한된환경고려 MCU, RF, 메모리, 저장소, 스마트센서, SW 무선통신소모전력 > 센싱, 데이터처리소모전력 p.15
16 WSN 시스템구성 무선센서네트워크시스템구성 스마트센서노드 (HW), 센서플랫폼 (SW), 무선네트워킹, 응용서비스를위한서버시스템 버클리대학의 Mote 시리즈유명 공개 HW Mica 계열 : Atmel 의 AVR 시리즈 Telos 계열 : TI 의 MSP430 시리즈 공개 SW 초소형운영체제 : TinyOS 초소형데이터베이스 : TinyDB 병행성을고려한 C 확장언어 : NesC 하드웨어시뮬레이터 : TOSSIM 기타툴 XBow(Crossbow) 에서 Mote 시리즈상용화 온도, 조도, 지자기센서등. 센서보드를스택형식으로장착 p.16
17 WSN 시스템구성 ( 계속 ) 센서노드하드웨어 MCU Atmel, ARM, TI, Motolora 등 저전력을위해 8 비트낮은클록의 RISC CPU Atmel 의 Atmega 시리즈가가장넓리사용 무선 RF 모듈 IEEE /ZigBee IEE 표준 PHY/MAC 레이어기반» 상위프로토콜로응용을규격화한단거리무선통신에적합 x, IEEE HR-WPAN, Bluetooth 보다구현측면에서훨씬간단 네트워크안에하나의코디네이터지정.» 송 / 수신활동을제외한나머지시간은대기모드로전환하여배터리절약 p.17
18 WSN 시스템구성 ( 계속 ) 센서노드하드웨어구조 p.18
19 WSN 시스템구성 ( 계속 ) 센서노드하드웨어변화 기존 : MCU 와무선 RF 독립 변경 : MCU 와무선 RF 를온 - 칩화 (SoC) TI CC2430, CC2530 CC MCU(8051) + 플래시 (32/64/128K) + 램 (8K) CC MCU(MSP430) + 플래시 (32/64/128K) + 램 (8K) Ember EM250 CC XAP2b(16bit MCU)+ 플래시 (128K) 센서노드하드웨어업체 국내 레디오펄스 1.0 Full Stack 을만족하는 ZigBee 싱글온칩생산 외국 TI(Chipcon), Motorola(Freescale), Ember TI 에인수된 Chipcon 의 CC2420 이대표적 Ember 는 CC2420 을라이선스받아 EM2420 생산 Xbow(Crossbow), Bust Networks, Arch Rock p.19
20 WSN 시스템구성 ( 계속 ) 센서노드 SW 플랫폼 : OS 스마트센싱, 데이터프로세싱, 무선통신기능 버클리대학의 TinyOS, ETRI 의 NanoOS, 일본의트론프로젝트 TinyOS NEST(Network Embedded Software Technology) 프로젝트에서출발 저전력, 안정적인운영, 네트워크접속기능, 분산처리, 개발자를위한편리한인터페이스제공 4KB 미만실행이미지, 컴포넌트형태로추상화된하드웨어지원, 센서노드를위한통신및제어기능제공 오픈소스프로젝트로버클리대학에서관장. 대부분의미국대학에서개발동참및교과과정에적용 XBow, Dust Networks, Arch Rock 등에서많은상용화실적 p.20
21 WSN 시스템구성 ( 계속 ) 센서노트 SW 플랫폼 : 미들웨어 사용자에게통합된서비스정보제공 수집한센싱데이터필터링 / 통합 / 분석 의미있는상황정보추출 / 저장 / 관리 / 검색 응용서비스로전달및서비스간연계통합 싱크노드 ( 코디네이터 ) 에탑재 센서노드갱신, 응용변화에따른프로그래밍조정수행 미들웨어기술 IEEE 1451 이기종센서네트워크로부터수집된센싱데이터들을응용프로그램수정없이같은방식으로전달하기위한공통인터페이스기술 스마트센서모니터링기술 센서네트워크구동 / 모니터링 / 제어 / 진단 / 복구 OSGi 미들웨어 자바기반 (J2SE, J2Me) 객체지향미들웨어프레임워크 통합개발환경인이클립스의기본프레임워크로채택 p.21
22 WSN 시스템구성 ( 계속 ) 센서노트 SW 플랫폼 : DB 기존센싱방법 환경과사물의변화를그대로수집 문제점 데이터유효성과패킷크기를고려하지않음. 해결책 DB 활용 센싱된데이터를원하는형태로필터링» 최적화된패킷크기로구현함으로써효율성극대화 일반적인파일시스템지향» SQL 과같은구조적인질의가가능한시스템으로발전» 더욱정확하고섬세한센싱데이터모니터링 TinyDB 버클리대학에서개발. 질의기능포함 p.22
23 WSN 시스템구성 ( 계속 ) 무선센서네트워크 LR-WPAN(Low Rate-Wireless Personal Area Network) 저속, 저가격, 저전력 소형화, 오류허용, 가변적인네트워크구조, 효율적인라우팅, 고장복구 IEEE 하위 2( 물리 (PHY), MAC) 계층만표준화 보완적인채널매핑 DSSS(Direct Sequence Spread Spectrum) FDMA(Frequency Division Multiple Access) CSMA-CA(Carrier Sense Multiple Access with Collision Avoidance) 스캐닝과리포팅내장 p.23
24 [ 참고 ] 무선통신기술용어 DSSS 양쪽모두가알고있는의사난수 (pseudo random: +1 or -1) 를데이터에곱해서실제비트보다훨씬길이가길어진 ( 높은주파수 ) 확산신호전송. 수신측은의사난수를다시곱해 (1x1=1, -1x-1=1) 원래신호복원. 확산신호는전송실패확률을낮춤. IEEE 는 32 비트로구성된 16 개의사난수중하나를선택. 4 비트데이터확 산. Input Data d t Spreading pn t tx o noise channel Despreading Output Data PN code PN code FDMA IEEE 에서는주파수를구분한다는의미보다, 정해진주파수대역폭안에서필요한대역폭단위로잘게나눠사용 CSMA-CA 확인신호 : 송신측은수신측에 RTS(Request to Send) 패킷전송, 수신측은송신측에 CTS(Clear to Send) 전송 송신측에서 CTS를받지못하면일정회수만큼 RTS 전송. 그래도 CTS를받지못할경우일정시간을대기한후다시 RTS 전송 데이터전송 : 송신측은수신측에데이터패킷전송, 수신측에송신측에 ACK 전송 rx o pn r d r p.24
25 WSN 시스템구성 ( 계속 ) ZigBee Alliance IEEE 에서제외된상위부분설계목표 IEEE /Zigbee 풀스택제공 네트워크구조, 라우팅, 보안등을표준화하여지그비스택에추가 각업체는이를바탕으로자사의프로파일작성, 서로다른업체에서만든디바이스간상호운용성과호환성보장 무선센서네트워크의표준은아님. 미국 국내 풀스택이너무무거움 TinyOS + IEEE 호환무선 RF 모듈 ZWave: 소규모오피스나가정을타깃 업계 : 지그비풀스택채택 정부 / 연구기관 : IPv6 기반의 IP-USN 프로토콜연구개발. p.25
26 WSN 시스템구성 ( 계속 ) TinyOS 기반 WSN 플랫폼구조 Smart Sensor Application & Services Protocols Link Radio Blocks Logs Files Flash Scheduling Management MCU, Bus, Streaming Drivers ADC Sensor I/F TinyOS (SW) Wireless RF WSN Mote Platform Storage Processor Sensors Sensor Note(HW) p.26
27 IEEE 개요 물리 (PHY) 계층과 MAC 계층으로구성 물리계층프레임최대크기는 133 바이트 주파수와전송속도 868Mhz: 1 채널 ( 유럽 ), 20kbps 915Mhz: 2Mhz 간격 10 채널 ISM 밴드, 40kbps 2.4GHz: 5Mhz 간격 16 채널 ISM 밴드, 250kbps 노드내최대 255 개디바이스연결 최대노드간통신거리는 100m PHY (Mhz) 868/ 915 Frequency Band (Mhz) Spreading parameter Chip rate (kchip/s) modulation Bit rate Data parameter Symbol rate (ksymbol/s) Symbols BPSK Bin 902~ BPSK Bin ~ O-QPST ary Orthogonal p.27
28 IEEE PHY 운영되는주파수대역 868Mhz(1)/916Mhz(10) PHY: 0 ~ 10 Channel 0 Channels MHz MHz 902 MHz 928 MHz 2.4Ghz(16) PHY Channels MHz 2.4 GHz GHz p.28
29 IEEE MAC 전기능디바이스 (FFD: Full function device) 임의의토폴로지 (Topology) 네트워크코디네이터역할 임의의다른디바이스와연결 축소기능디바이스 (RFD: Reduced function device) 스타 (Start) 토폴로지로제한 네트워크코디네이터가될수없음 네트워크코디네이터와만연결 매우간단히구현 p.29
30 IEEE MAC ( 계속 ) 스타토폴로지 Coordinator Master/slave Full function device Reduced function device Communications flow 피어투피어 (Peer to peer) 토폴로지 Point to point Cluster tree p.30
31 IEEE MAC ( 계속 ) 결합토폴로지 클러스터스타 (Clustered stars) Full function device Reduced function device Communications flow p.31
32 USN 적용사례
33 Environmental Applications 가장먼저시도된분야 활용분야 주거환경감시 산불감시 홍수감시 농업에관한환경감시 환경예측, 예보시스템 프로젝트 Great Duck Island (U.C Berkeley) PODS (University of Hawaii) CORIE ALERT p.33
34 Smart Home Applications Smart Home Home Information For useful life Home automation For convenient life Home Security For safe life Home Healthcare For well life Home Entertainment For enjoyment of life p.34
35 Healthcare Applications Healthcare 생리학적데이터를원격감시 탁상형원격진단시스템 원내의환자와의사의위치파악 원내의약물통제 사용자의상태를반영한입는 컴퓨터를활용한헬스케어 p.35
36 Military Applications 시나리오 아군의장비와무기감시 전장감시 반군이나지형의수색 전투손상의평가 생화학적공격에대한수색 p.36
37 Great Duck Island(1/2) 목적 바다새둥우리의환경과행동을감시 주요인 바다새는주변환경에민감. 반복되는스트레스는바다새군락전체가섬을떠나게할수도있음. 문제점 인간의참여를최소화하면서자연상태의관찰결과를얻을것인가 해결방안 sensor network p.37
38 Great Duck Island (2/2) 1 굴속에 4 인치크기의모트설치 2 게이트웨이에서센서정보수집 3 연구기지랩탑에서송신 4 다른랩탑에서위성으로송신 5 캘리포니아인텔 - 버클리랩에서수신 p.38
39 Golden Gate Bridge Hardware 2003 년 6 월까지 200 개의모트 (AVR 8Mhz) 배치 (Mica2(cc1000)) 가속도센서에의해돌풍에따른움직임측정 게이트웨이 (PXA Mhz) 에서데이터수집및중앙서버로전송 Software TinyOS 1 Time plot MEMS Piezo 0.5 Acceleration (g) Time (sec) p.39
40 Redwood Project p.40
41 Ubiquitous Home Service 응용 압력센서를집바닥에설치 압력센서가보내는정보를 기반으로사람의위치추적 사람이동경로에따른 video 와 audio 서비스제공 p.41
42 다양한 Ubiquitous Home Service 구현 응용 Camera, microphone, pressure, infra 센서등을집에설치하여다양한유비쿼터스서비스제공 여러센싱데이터는중앙서버에서통합하여상황에맞는서비스판단 판단된결과를바탕으로로봇이나가전제품, 보일러, 에어컨등을제어 p.42
43 BSN(Body Sensor Network) p.43
44 유비쿼터스포도원 Hardware Mica2 사양의모트 65 개구축 이른아침에서리가내리면관리자의랩탑컴퓨터에소리를내어신호 Software TinyOS
45 ZIGBEX 소개
46 Hanback ZigbeX Computing ATmel 8-bit RISC Microcontroller 128KByte Flash program memory, 4KByte SRAM SPI, UART 2, Timer, ADC 10Bit 8Chenel, External Flash 512KB, DS2401(Serial_ID), RTC4513 Radio Transceiver Chipcon CC2420 Radio range: 100m Data rate: 250 KBps Frequency range: 2.4 GHz (ISM) PCB 패턴안테나 ( 실외 130m, 실내 30m) TinyOS 1.X RFID Reader + RFID Tag (5) p.46
47 Hanback ZigbeX II Computing, Radio Transceiver 기존과동일 TinyOS 2.X SMA 형안테나추가 케이스제작 p.47
48 하드웨어구성 전면 CPU, RF, PCB Antenna, SMA Antenna connector 단자, Clock, ISP, Battery Power, External Power, Extend Connector, Cds( 조도센서 ), LED, Temp & Humidity, Photo Diode, RTC, 전원스위치, 전원표시 LED 뒷면 External Flash Memory, serial ID p.48
49 Hanback Option Sensor Boards ZigbeX ZigbeX II 움직임검출 초음파기상리모콘 블루투스 기상모터초음파 LCD 바이오 블루투스 혈압 릴레이 GPS 카메라 Co2 p.49
50 ZigbeX 게이트웨이 Ubi-BOX I, II ZigbeX 제품군전용게이트웨이 10dBm 파워로최대 300m 통신거리 임베디드리눅스 2.6 커널적용 블루투스통신지원 LAN 을이용한 USN 서버구축가능 WLAN 을이용한 USN 서버구축가능 ZigbeX, UbiCoin, Ubi-MSP430, Ubi-nanoLOC 완벽호환 p.50
51 유비하우스 II ZigbeX 를이용한 USN 기반의홈네트워크모델 임베디드시스템및모바일플랫폼을통해제어가능 EMPOS II, SM II, EMPOS III, CDMA II etc 홈네트워크를제어하기위한다양한동작명령어제공 문의열기 / 닫기제어 커튼제어 전원제어를통해 Lamp 제어 가스차단기제어 침입탐지등 p.51
52 유비하우스 II ( 계속 ) p.52
53 Ubi-HomeNet 유비하우스 (Ubi-House) II 기능을전용교육장비화시킴 유비하우스에적용된모트및센서와동일한구성 실제홈네트워크시스템실험실습환경제공 p.53
54 ZIGBEX 개발환경구축
55 순서 Cygwin 삭제 Cygwin 설치 TinyOS 2.x 설치 Install TinyOS 2.x Install ZigbeX PlatForm Graphviz 설치하기 설치프로그램목록 p.55
56 Cygwin 삭제 p.56
57 미리설치되어있는 Cygwin 삭제과정 1. 제어판 -> 프로그램추가 / 제거 -> Cygwin 이나 TinyOS 삭제 2. 윈도우 시작 -> 실행 창에서 regedit 실행 HKEY_CURRENT_USER -> Software -> cygnus Solutions 폴더삭제 HKEY_LOCAL_MACHINE -> Software -> cygnus Solutions 폴더삭제 3. Cygwin 폴더전체삭제 p.57
58 Cygwin 설치 p.58
59 Cygwin 설치 - 목적 TinyOS 는리눅스환경에서동작된다 윈도우상에서리눅스플랫폼을에뮬레이션할수있는 Cygwin 을통해 TinyOS 를동작시킨다.
60 Cygwin 설치 설치화면 제공된 CD 의 CD\cygwin 폴더안에 setup.exe 파일을실행 다음을클릭 p.60
61 Cygwin 설치 설치타입 Install from Local Directory 를선택 다음을클릭 p.61
62 Cygwin 설치 설치경로설정 Cygwin 설치폴더를설정 기본값인 c:\cygwin 으로설정 다음을클릭 p.62
63 Cygwin 설치 설치패키지경로설정 Cygwin 설치파일폴더설정 CD\cygwin\release 로설정 다음을클릭 p.63
64 Cygwin 설치 설치패키지선택 Cygwin 설치패키지를선택 기본값으로설정 다음을클릭 p.64
65 Cygwin 설치 - 완료화면 설치완료화면 바탕화면의바로가기만들기 시작메뉴에아이콘만들기 p.65
66 TinyOS 2.x 설치 p.66
67 TinyOS2X 및 ZigbeX 프로그램설치 설치파일복사 Cygwin 에서 mkdir /opt 명령을통해 /opt 폴더생성 CD 의 Install_TinyOS2X 폴더의 Install_TinyOS2X.sh 파일과 Install_TinyOS2X.zip 파일을 Cygwin 이설치된폴더의 /opt 폴더에복사. Cygwin 실행후다음명령수행 cd /opt./install_tinyos2x.sh Cygwin Update 1. CD 에 bin 폴더가없다면이미업데이트된버전 업데이트필요없음 2. CD 에 bin 폴더가있다면아래와같이업데이트작업이필요 열려있는모든 Cygwin 을종료 CD 의 bin 폴더의파일을 Cygwin 이설치된폴더의 /bin 에복사 ( 덮어쓰기 ) 설치완료 p.67
68 Install ZigbeX PlatForm 이미 TinyOS 2.x 가설치되어있을경우 ZigbeX PlatForm 설치 CD 의 hanback_zigbex_tinyos2x 폴더에 hanback_zigbex_tinyos2x.sh 파일과 hanback_zigbex_tinyos2x.zip 파일을 Cygwin 이설치된폴더의 /opt 에복사. Cygwin 실행후다음명령수행 cd /opt./hanback_zigbex_tinyos2x.sh Cygwin Update 1. CD 에 bin 폴더가없다면이미업데이트된버전 업데이트필요없음 2. CD 에 bin 폴더가있다면아래와같이업데이트작업이필요 열려있는모든 Cygwin 을종료 CD 의 bin 폴더의파일을 Cygwin 이설치된폴더의 /bin 에복사 ( 덮어쓰기 ) 설치완료 p.68
69 Graphviz 설치하기 p.69
70 Graphviz 설치하기 TinyOS 의예제중그래픽기반자바어플리케이션을실행하기위해설치 설치방법 CD 의 Tools 폴더에있는 graphviz-2.12 파일을실행
71 설치프로그램목록 p.71
72 설치프로그램목록 TinyOS 설치목록내용 TinyOS Tools TinyOS NesC 1.2.8a Cygwin Support Tools TinyOS 의컴포넌트기반의구조적인개념들과실행모델구현을위한 C 언어확장프로그래밍언어 윈도우기반리눅스환경 설치목록내용 Java 1.5 JDK Java COMM 2.0 Graphviz 호스트 PC 에서 JAVA 를이용한시리얼통신기능제공 호스트 PC 에서 JAVA 를이용한시리얼통신기능제공 make docs 에의해만들어지는파일을보여주는기능제공
73 설치프로그램목록 AVR Tools 설치목록 내 용 avr-binutils 어셈블러, 로더, 링커, 바이너리파일모음 avr-libc 크로스컴파일구축을위한라이브러리 avr-gcc 크로스컴파일용컴파일러 avi-insight GDB를위한사용자인터페이스패키지 TinyOS2.X 가설치된디렉터리 디렉터리내용 apps contrib support tos TinyOS 용기본프로그램폴더 ZigbeX 를위한예제폴더 컴파일, 자바프로그램들 다양한 TinyOS 컴포넌트와 TinyOS 인터페이스, 라이브러리등이포함된폴더
74 ZIGBEX 예제빌드및다운로드
75 순서 ZigbeX 예제빌드 BlinkTimer 예제 Programmer Tool 설치 AVR-Studio 4 Install AVR-ISP USB 드라이버설치 프로그램다운로드실습 p.75
76 ZigbeX 예제빌드 p.76
77 ZigbeX 예제빌드 - 1 BlinkTimer 예제를이용해서 Testing 바탕화면에를클릭하여 Cygwin 을시작 다음명령을실행 경로이동 기존의 build 폴더삭제 p.77
78 ZigbeX 예제빌드 - 2 Cygwin 에서 make zigbex 입력 빌드실행 파일생성 p.78
79 Programmer Tool 설치 p.79
80 AVR-Studio 4 Install - 1 CD\USB_ISP 폴더에있는 astudio4b623.exe 실행 Next 버튼을선택하여설치 p.80
81 AVR-Studio 4 Install - 2 License Agreement p.81
82 AVR-Studio 4 Install - 3 Destination Location p.82
83 AVR-Studio 4 Install - 4 USB 업그레이드 p.83
84 AVR-Studio 4 Install - 5 설치준비화면 설치중화면 설치완료화면 p.84
85 AVR-ISP USB 드라이버설치 p.85
86 AVR-ISP USB 드라이버설치 - I AVR-ISP 와 PC 연결하기 USB-ISP Button 설정 PC 와연결된 USB-ISP 의버튼을 SPI 쪽으로설정한다. UART : Asynchronous Serial Communication SPI : Program Download AVR-ISP Button 설정 PC 와연결된 AVR-ISP 의 버튼을 ISP 쪽으로설정한다. UART : Asynchronous Serial Communication ISP : Program Download p.86
87 AVR-ISP USB 드라이버설치 - II CD\USB_ISP\CDM 폴더를 PC 에복사 윈도우 새하드웨어검색 에서복사한폴더의위치로설정 p.87
88 프로그램다운로드실습 p.88
89 AVR-Studio 4 실행과 ISP 연결 AVR Studio 4 실행 바탕화면에를클릭하여 AVR-Studio 4 를시작 AVR Studio 에서 Tools -> Program AVR -> Connect 메뉴를선택하여 ISP 에접속한다. 각자의포트에맞추어서설정 연결버튼을누른후에업그레이드는취소를선택한다. p.89
90 AVRISP 선택및다운로드 Device 선택 ATmega 128 선택 Flash 창에서 Hex 파일선택 BlinkTimer 예제 BlinkTimer 예제에서컴파일한 main.hex 파일을연다. Program 버튼을클릭하여다운로드한다. 다운로드된모트의 Red LED 가점멸하는지확인한다. p.90
91 TINYOS
92 TinyOS 개요 (1) 세계적으로가장많이사용되는 USN 을위한운영체제 오픈소스개발환경 Hurry up and Sleep (Sleep as often as possible to save power) TinyOS 의특징 Component 객체개념의서비스블록단위로구성 NesC(Network Embedded System C) 언어사용 Task 를위해간단한 FIFO 스케줄링사용 Event/Command 기반의함수연결 Interfaces 지원 높은병행성과인터럽트위임 (no polling) p.92
93 TinyOS 개요 (2) Data Memory Model Static Memory Allocation No Heap(malloc) No Function Pointers Global Variables Available on a per-frame basis Local Variables Saved on the stack Declared within a method p.93
94 TinyOS 개요 (3) TinyOS Thread Model 2-Level Scheduling (Events and Tasks) Tasks Time flexible Longer background processing jobs Atomic with respect to other tasks(single threaded) Preempted by events Events Time critical Shorter duration (Hand off to task if need be) Do not confuse an event from the nesc event keyword p.94
95 TinyOS 개요 (4) Component Hierarchy Components are wired together by connecting users with providers Forms a hierarchy Commands Flow downwards Control returns to caller Events Flow upwards Control return to signaler Events can call Commands but not vice versa p.95
96 TinyOS 개요 (5) p.96
97 TinyOS 개요 (6) Scheduling p.97
98 TinyOS 개요 (7) 폴더구조 /opt/tinyos-2.x p.98
99 TinyOS 개요 (8) 폴더구조 interfaces: 구현된 Interface 를모아놓은곳 system : CPU 중심적컴포넌트와스케줄러 platform : TinyOS 를사용하는플랫폼을정의 types : TinyOS 메시지해더를정의 p.99
100 TinyOS 개요 (9) 빌드환경 제공된 CD 를이용하여환경구성 ncc: NesC 컴파일러 avr-gcc: ncc 컴파일결과파일 app.c 를컴파일 main.hex 생성 NesC 컴파일과정 p.100
101 TinyOS 개요 (10) 빌드환경 The make System From within the applications s directory make (re)install.<node id> <platform> <node id> is an interger between 0 and 255 <platform> may be zigbex make clean make docs Generates documentation p.101
102 TinyOS 개요 (11) Task: Event 가끝난후, FIFO 스케줄링에의해처리됨. p.102
103 TinyOS 개요 (12) Event 는 Interrupt 로부터시작된다. RF interrupt ADC interrupt Timer interrupt UART interrupt Interrupt 가발생되면, 그에대한처리함수가자동으로호출됨. 해당처리함수는상위컴포넌트에게 event 형식 type 의 interface 함수를사용하여전달한다. 즉, TinyOS 의모든동작은 interrupt 에의한 event 로시작된다. p.103
104 TinyOS 개요 (13) Group ID Makefile 에다음과같이정의하여사용한다 (default 0x7D) CFLAGS += -DDEFINED_TOS_AM_GROUP=0x22 Address AM_BROADCAST_ADDR(0xFFFF) 는 broadcast 를의미 TOS_NODE_ID make zigbex reinstall.# # 이 TOS_NODE_ID 을의미하는 mote ID 이다 p.104
105 NESC 구문이해
106 nesc(1) C 언어 가장보편적으로사용되는언어. 다른언어들에비해하드웨어제어가용이함 USN 과같은초소형프로그래밍에는적합하지않음 nesc Extended C Component 를기반으로하기때문에초소형프로그래밍가능 Configuration file : Component 간의연결을기술하는파일 Module file : 실제 Component 의동작구현을기술하는파일 p.106
107 nesc(2) Component 하나의기능을의미하는블록 Timer Component, RF Component, Light Component 하나의컴포넌트는 Configuration 파일과 Module 파일로구성됨 특별히취급되는 Component Main Component TinyOS 의시작코드가기술된컴포넌트로써모든예제프로그램은꼭 Main Component 를포함하고있어야한다. 최상위 Component 예제프로그램의이름을만들어지는컴포넌트로써, 예제의전반적인동작을제어하는컴포넌트이다. p.107
108 nesc(3) Interface 란? Component 사이의연결을위해존재하는함수들의모임을 interface 라고말한다. Interface 의선언 Uses 하부 Component 를사용할때, 하부 Component 의 interface 를 uses 한다고선언 Provide 상위 Component 에서자신의함수들을사용하도록 interface 를제공할때, interface 를 provide 한다고선언 p.108
109 nesc(4) Interface 의 Type Component 사이의연결을위해존재하는함수들의모임 Function Types: Command and Event Command : 상위 Component 에서하위 Component 에구현된함수를만들때사용되는 Type. Event: 하위 Component 에서상위 Component 에게정보나어떠한사실을알려주기위한함수를만들때사용되는 Type. interface Timer { command result_t start (char type, uint32_t interval); command result_t stop (); event result_t fired (); } p.109
110 nesc(5) Wiring between Interfaces Interface 1 = Interface 2 Interface 1 의구현은 Interface 2 에있다. Interface1 -> Interface2 Interface1는 Interface 2에링크된다. 상위 Component -> 하위 Component p.110
111 nesc(6) Components: 구성 Module C 로구현 인터페이스동작기술 이벤트핸들러작성 Configuration Component 선언 (select) Component 간의연결 (wire) 두개의 provides 를 uses 해서새로운 provides 를제공한다. Interfaces provides interface Uses interface p.111
112 nesc(7) modules: module C1 { uses interface red_triangle; } implementation {... } module C2 { provides interface red_triangle; uses { interface green_triangle; interface rectangle; } } implementation {... } C2 module C3 { provides interface green_triangle; provides interface rectangle; } implementation {... } p.112
113 기본예제를이용한실습
114 Timer 를이용한 LED 제어 p.114
115 Timer 를이용한 LED 제어개요 Timer 컴포넌트를이용하여일정시간마다 LED0( 적색 ) 을 Toggle 한다. 예제위치 \opt\tinyos-2.x\contrib\zigbex\blinktimer BlinkTimer -Configuration 작성법 Main Timer LED - Module 작성법 - Timer 설정방법 - LED 제어방법 p.115
116 BlinkTimer configuration 파일설명 BlinkTimer.nc configuration BlinkTimer {} implementation { // 사용될컴포넌트선언 components MainC, BlinkTimerM, LedsC, new TimerMilliC(); } // 인터페이스연결 BlinkTimerM.Boot -> MainC; BlinkTimerM.Leds -> LedsC; BlinkTimerM.Timer->TimerMilliC; p.116
117 BlinkTimer Module 파일설명 BlinkTimerM.nc module BlinkTimerM { // 사용될인터페이스선언 uses { interface Boot; interface Timer<TMilli>; interface Leds; } } // 구현부분 ( 실질적인프로그램 ) implementation { // 프로그램의시작부분 event void Boot.booted() { // Timer 의동작과시간을설정 call Timer.startPeriodic(1000); } // 설정한시간이되었을때의동작을기술 event void Timer.fired() { // LED 의동작을설정 call Leds.led0Toggle(); // red led toggle } } p.117
118 Timer 를이용한 LED 제어구조 BlinkTimer 의구조 - I (MainC.nc) p.118
119 MainC.nc - Component 컴포넌트 : MainC, BlinkTimerM, LedsC, new TimerMilliC() /opt/tinyos-2.x/tos/system/mainc.nc configuration MainC { // 상위컴포넌트에 Boot 라는이름의컴포넌트를제공. provides interface Boot; uses interface Init as SoftwareInit; } implementation { components PlatformC, RealMainP, TinySchedulerC; } RealMainP.Scheduler -> TinySchedulerC; RealMainP.PlatformInit -> PlatformC; // RealMainP.SoftwareInit = SoftwareInit ; SoftwareInit = RealMainP.SoftwareInit; Boot = RealMainP; p.119
120 MainC.nc - Wiring 하부컴포넌트 : PlatformC, RealMainP, TinySchedulerC p.120
121 RealMainP <-> BlinkTimerM.nc module RealMainP { provides interface Boot; uses interface Scheduler; uses interface Init as PlatformInit; uses interface Init as SoftwareInit; } implementation { int main() attribute ((C, spontaneous)) { //Init Schedule Queue call Scheduler.init(); call PlatformInit.init(); //Init CPU s Pins while (call Scheduler.runNextTask()); //Init Sofrware Components call SoftwareInit.init(); while (call Scheduler.runNextTask()); // Event Signal to Application signal Boot.booted(); call Scheduler.taskLoop(); } } module BlinkTimerM { uses { interface Boot; interface Timer<TMilli>; interface Leds; } } implementation { event void Boot.booted() { call Timer.startPeriodic(1000); } event void Timer.fired() { call Leds.led0Toggle(); //red led toggle } } as: Interface 나 component 의이름을변경할때사용 p.121
122 Boot Interface Boot interface \opt\tinyos-2.x\tos\interfaces\boot.nc interface Boot { } event void booted(); p.122
123 Timer 를이용한 LED 제어구조 BlinkTimer 의구조 - II (LedsC.nc) p.123
124 LedsC.nc - Component 컴포넌트 : MainC, BlinkTimerM, LedsC, new TimerMilliC() /opt/tinyos-2.x/tos/system/ledsc.nc configuration LedsC { // 상위컴포넌트에 Leds 라는이름의컴포넌트를제공. provides interface Leds; } implementation { components LedsP, PlatformLedsC; } Leds = LedsP; LedsP.Init <- PlatformLedsC.Init; LedsP.Led0 -> PlatformLedsC.Led0; // LedsP.nc 에서사용하는 Led0 에대한실제구현은 PlatformLedsC.nc 파일 // 에선언되어있다. LedsP.Led1 -> PlatformLedsC.Led1; LedsP.Led2 -> PlatformLedsC.Led2; p.124
125 LedsC.nc - Wiring 하부컴포넌트 : LedsP, PlatformLedsC p.125
126 module LedsP \opt\tinyos-2.x\tos\system\ledsp.nc module LedsP { // 상위컴포넌트에 Init, Leds 라는 // 이름의컴포넌트제공. provides { interface Init; interface Leds; } uses { interface GeneralIO as Led0; interface GeneralIO as Led1; interface GeneralIO as Led2; } } implementation { // Led port Init Function command error_t Init.init() { call Led0.makeOutput(); call Led0.set(); return SUCCESS; } async command void Leds.led0On() { call Led0.clr(); DBGLED(0); } async command void Leds.led0Off() { call Led0.set(); DBGLED(0); } async command void Leds.led0Toggle() { call Led0.toggle(); DBGLED(0); } async command uint8_t Leds.get() { } async command uint8_t Leds.set() { } } p.126
127 Leds Interface Leds interface \opt\tinyos-2.x\tos\interfaces\leds.nc interface Leds { async command void led0on(); async command void led0off(); async command void led0toggle(); async command void led1on(); async command void led1off(); async command void led1toggle(); async command void led2on(); async command void led2off(); async command void led2toggle(); async command uint8_t get(); async command void set(uint8_t val); } p.127
128 Timer 를이용한 LED 제어구조 BlinkTimer 의구조 - III (TimerMilliC.nc) p.128
129 BlinkTimer 의구조 III 컴포넌트 : MainC, BlinkTimerM, LedsC, new TimerMilliC() /opt/tinyos-2.x/tos/system/timermillic.nc #include Timer.h // /opt/tinyos-2.x/tos/system/timermillic.nc generic configuration TimerMilliC() { } provides interface Timer<TMilli>; implementation { } components TimerMilliP; Timer = TimerMilliP.TimerMilli[unique(UQ_TIMER_MILLI)]; generic : 여러컴포넌트들로부터동시에사용되는컴포넌트들은 generic 으로선언되며, 사용시 new 라는예약어를통해선언. p.129
130 TimerMilliC.nc - Wiring 하부컴포넌트 : TimerMilliP p.130
131 TimerMilliP.nc \opt\tinyos-2.x\tos\system\timermillip.nc configuration TimerMilliP { provides interface Timer<TMilli> as TimerMilli[uint8_t id]; } implementation { components HilTimerMilliC, MainC; MainC.SoftwareInit -> HilTimerMilliC; // 실질적인구현코드는 HilTimerMilliC 컴포넌트에구현. TimerMilli = HilTimerMilliC; } p.131
132 Timer Interface Timer interface \opt\tinyos-2.x\tos\lib\timer\timer.nc interface Timer<precision_tag> { command void startperiodic(uint32_t dt); // 주기적인 event 발생 command void startoneshot(uint32_t dt); // 한번만 event 발생 command void stop(); event void fired(); command bool isrunning(); command bool isoneshot(); command void startperiodicat(uint32_t t0, uint32_t dt); command void startoneshotat(uint32_t t0, uint32_t dt); command uint32_t getnow(); command uint32_t gett0(); command uint32_t getdt(); } p.132
133 3 개의 Timer 를이용한 LED 제어 p.133
134 TinyOS 실습 [ 최상위프로그램제작 ] 예제만들기 내용 타이머 3 개를사용하여 3 개의 LED 를각각제어할수있도록수정하여라. 폴더및파일만들기 \opt\tinyos-2.x\contrib\zigbex 에 Three_BlinkTimer 폴더생성 해당폴더에서 3 가지파일생성 Three_BlinkTimerC.nc : 최상위컴포넌트의 Configuration 파일 Three_BlinkTimerM.nc : 최상위컴포넌트의 Module 파일 Makefile : 최상위컴포넌트이름과컴파일패스설정 p.134
135 3 개의 Timer 를이용한 LED 제어개요 3 개의 Timer 를이용하여각각일정시간마다정해진 LED 를 Toggle 한다. 예제위치 : \opt\tinyos-2.x\contrib\zigbex\three_blinktimer Three_BlinkTimer - Configuration 작성법 Main LED - Module 작성법 Timer 1 Timer 2 Timer 3-3 개의 Timer 사용방법 - LED 제어방법 p.135
136 Three_BlinkTimer configuration 파일설명 Three_BlinkTimerC.nc configuration Three_BlinkTimerC{} implementation { // 사용될컴포넌트선언 components MainC, Three_BlinkTimerM, LedsC, new TimerMilliC() as TimerC1, new TimerMilliC() as TimerC2, new TimerMilliC() as TimerC3 ; // 인터페이스연결 Three_BlinkTimerM.Boot -> MainC; Three_BlinkTimerM.Leds -> LedsC; Three_BlinkTimerM.Timer1->TimerC1; Three_BlinkTimerM.Timer2->TimerC2; Three_BlinkTimerM.Timer3->TimerC3; } p.136
137 Three_BlinkTimer Module 파일설명 Three_BlinkTimerM.nc module Three_BlinkTimerM { // 사용될인터페이스선언 uses { interface Boot; interface Timer<TMilli> as Timer1; interface Timer<TMilli> as Timer2; interface Timer<TMilli> as Timer3; interface Leds; } } // 구현부분 ( 실질적인프로그램 ) implementation { // Timer 의동작과시간설정 Task 함수선언 task void runthreetimer(); // 프로그램의시작부분 event void Boot.booted() { post runthreetimer(); } // Timer 의동작과시간설정 Task 함수 task void runthreetimer(){ call Timer1.startPeriodic(1000); call Timer2.startPeriodic(2000); call Timer3.startPeriodic(3000); } // 설정한시간이되었을때의동작을기술 event void Timer1.fired() { // LED0 의동작을설정 call Leds.led0Toggle(); // red led toggle } event void Timer2.fired() { // LED1 의동작을설정 call Leds.led1Toggle(); // green led toggle } event void Timer3.fired() { // LED2 의동작을설정 call Leds.led2Toggle(); // yellow led toggle } } p.137
138 WSN 프로그램밍실습
139 ZIGBEX 와 PC 간 UART 통신 p.139
140 순서 Oscilloscope 예제를이용한조도값측정 ZigbeX 의조도센서 Oscilloscop 개요 프로그램설명 Oscilloscop 예제실습 ZigbeX 예제빌드 프로그램다운로드 시리얼모니터링 TOS Message p.140
141 OSCILLOSCOPE 예제를이용하여조도값측정 p.141
142 ZigbeX 의조도센서 조도센서 CDS ZigbeX 에장치되어있는조도센서 CDS 는 INT0 과 ADC0 사이에연결 CDS : 주변의광량에따라저항값이변함 INT0 에서부터들어오는 3V 전압이 CDS 의저항값에따라 ADC0 에들어가는입력전압이변동된다 p.142
143 Oscilloscope 예제 Oscilloscope 예제개요 Oscilloscope 예제는 256ms 마다조도센서로부터측정값을받은후, 그내용을시리얼케이블을통해 PC 로전달하는프로그램 Oscilloscope 예제프로그램의위치 /opt/tinyos-2.x/contrib/zigbex/oscillosco pe OscilloscopeAppC.nc OscilloscopeC.nc Oscilloscope.h p.143
144 OscilloscopeAppC.nc OscilloscopeAppC.nc Osilloscope 예제에서사용되는컴포넌트들 PC 와의시리얼통신을위한 SerialActiveMessageC 컴포넌트 조도센서값을얻기위한 PhotoSensorC 컴포넌트 주기적인알람과동작여부체크를위한 TimerMilliC, LedsC 컴포넌트 configuration OscilloscopeAppC { } implementation { components OscilloscopeC, MainC, LedsC, new TimerMilliC(), new PhotoSensorC() as Sensor, SerialActiveMessageC as Comm; OscilloscopeC.Boot -> MainC; OscilloscopeC.SerialControl -> Comm; OscilloscopeC.AMSend -> Comm.AMSend[AM_OSCILLOSCOPE]; OscilloscopeC.Receive -> Comm.Receive[AM_OSCILLOSCOPE]; OscilloscopeC.Timer -> TimerMilliC; OscilloscopeC.Read -> Sensor; OscilloscopeC.Leds -> LedsC; } p.144
145 OscilloscopeC.nc - I #include Timer.h #include Oscilloscope.h module OscilloscopeC { uses { // 사용할여러인터페이스선언 } } implementation { // 사용할여러변수및함수들선언 event void Boot.booted() { // 변수초기화 if (call SerialControl.start()!= SUCCESS) report_problem(); } p.145
146 OscilloscopeC.nc - II void starttimer() { call Timer.startPeriodic(local.interval); reading = 0; } event void SerialControl.startDone(error_t error) { starttimer(); } event void SerilControl.stopDone(error_t error){ } event message_t* Receive.receive(message_t* msg, void* payload, uint8_t len) { } event void Timer.fired() { } event void AMSend.sendDone(message_t* msg, error_t error) { } event void Read.readDone(error_t result, uint16_t data) { } p.146
147 OscilloscopeC.nc - III p.147
148 OSCILLOSCOPE 예제실습 p.148
149 시리얼통신모니터링 - I AVR-ISP 를 UART 모드로변경 Serial Forwarder 실행 ( 기존의 Cygwin 창이용 ) 경로이동명령어로실행파일이있는곳으로이동 cd /opt/tinyos-2.x/contrib/zigbex/oscilloscope/java Serial Forwarder 실행명령어 ( 대소문자주의 ) java net.tinyos.sf.serialforwarder -comm serial@comx:57600 p.149
150 시리얼통신모니터링 - II 자바응용프로그램실행 ( 새로운 Cygwin 창생성 ) 경로이동명령어로실행파일이있는곳으로이동 cd /opt/tinyos-2.x/contrib/zigbex/oscilloscope/java 자바응용프로그램실행명령어 make./run p.150
151 TOS Message 구조 - I TOS_Message Sync byte(0x7e): TOS Message 의시작과끝을알림 0 항상 0x7E 1 0x43-0x41 에대한응답패킷 0x44 - ack 가필요한사용자패킷 0x45 - ack 가필요없는사용자패킷 0xFF - 형식이없는패킷 2 Dispatch ID 로항상 0x00 3 n-1 Payload Data n 항상 0x7E p.151
152 TOS Message 의구조 -II Oscilloscope.h typedef nx_struct oscilloscope { nx_uint16_t version; /* Version of the interval. */ nx_uint16_t interval; /* Samping period. */ nx_uint16_t id; /* Mote id of sending mote. */ nx_uint16_t count; /* The readings are samples count * NREADINGS onwards */ nx_uint16_t readings[nreadings]; } oscilloscope_t; p.152
153 Sync Byte 의문제와해결방안 Payload Data 에 Sync Byte 가포함된경우 탈출문자 (0x7E) 를지정하여 Sync Byte 가아님을표시 탈출문자가 Payload Data 에포함된경우 0x7D 다음데이터를 0x20 과 exclusive or 해서표시 0x7E -> 0x7D 0x5E 0x7D -> 0x7D 0x5D Point-to-Point Protocol - RFC1662 참조 Example 보내고싶은데이터 : FF FF A xx 7E 7D xx 실제전송되는데이터 : 7E FF FF A xx 7D 5E 7D 5D xx CRC1 CRC2 7E p.153
154 TOS Message 확인 - I Java Listen 프로그램실행환경변수설정명령어 export MOTECOM=serial@COMX:57600 프로그램실행명령어 ( 대소문자주의 ) java net.tinyos.tools.listen Sync Byte 와 Packet Type 필드삭제 0x7D 0x5E 와 0x7D 0x5D 의값을 0x7E 및 0x7D 로치환 p.154
155 TOS Message 확인 - II 시리얼파싱프로그램으로확인가능 CD\Program\SerialTest.exe 실제시리얼로들어오는데이터를출력한다. p.155
156 RAW Data Packet 실행결과 (TinyOS 에서전송 ) 7E FF FF C A 05 0D 05 0E C 05 0A A F 45 7E 1 Sync Byte 0x7E ( 패킷의시작 ) 2 Packet Type 0x45 3 DispatchID 0x00 ( 시리얼은 0x00) 4~N Payload Data 0xFFFF (Dest) 0x0000 (Src) 0x1C (Length) 0x00 (Group) 0x93 (Type) 0x00 ~ 0x22 (Data) CRC16(2Byte) 0x9F, 0x45 Sync Byte 0x7E ( 패킷의끝 ) p.156
157 ZIGBEX 와 ZIGBEX 간의 RF 통신 p.157
158 순서 OscilloscopeUltraredRF 예제를이용한적외선측정및 RF 통신실습 OscilloscopUltraredRF 개요 프로그램설명 OscilloscopUltraredRF 예제실습 ZigbeX 예제빌드 프로그램다운로드 시리얼모니터링 p.158
159 OSCILLOSCOPEULTRAREDRF 예제를이용하여적외선측정및 RF 통신실습 p.159
160 OscilloscopeUltraredRF 개요 두개의 ZigbeX 모트를이용하여 RF 통신을실습한다. ZigbeX 1 번모트에서 256ms 마다적외서센싱값을측정해서 RF 송신을하면 ZigbeX 0 번모트에서수신해서시리얼통신을이용해서 PC 에보내준다. ZigbeX 0 : BaseStation 을다운로드 ZigbeX 1 : OscilloscopeUltraredRF 를다운로드 주의 실습시에다른노드의패킷을받지않기위해서 Group ID 를수정 BaseStation 과 OscilloscopeUltraredRF 의 Makefile 을열어서아래의내용을추가» CFLAGS += -DDEFINED_TOS_AM_GROUP=0xXX p.160
161 OscilloscopeUltraredRF 개요 BaseStation 예제프로그램의위치 /opt/tinyos-2.x/contrib/zigbex/basestatio n BaseStationC.nc BaseStationP.nc OscilloscopeUltraredRF 예제프로그램의위치 /opt/tinyos-2.x/contrib/zigbex/oscillosco peultraredrf OscilloscopeAppC.nc OscilloscopeC.nc Oscilloscope.h p.161
162 OscilloscopeAppC.nc OscilloscopeAppC.nc OsilloscopeUltraredRF 예제에서사용되는컴포넌트들 모트간의 RF 통신을위한 ActiveMessageC, AMSenderC, AMReceiverC 컴포넌트 적외선센서값을얻기위한 UltraredSensor 컴포넌트 주기적인알람과동작여부체크를위한 TimerMilliC, LedsC 컴포넌트 configuration OscilloscopeAppC { } implementation { components OscilloscopeC, MainC, LedsC, new TimerMilliC(), new UltraredSensorC() as Sensor, ActiveMessageC, new AMSenderC(AM_OSCILLOSCOPE), new AMReceiverC(AM_OSCILLOSCOPE); } OscilloscopeC.Boot -> MainC; OscilloscopeC.RadioControl -> ActiveMessageC; OscilloscopeC.AMSend -> AMSenderC; OscilloscopeC.Receive -> AMReceiverC; OscilloscopeC.Timer -> TimerMilliC; OscilloscopeC.Read -> Sensor; OscilloscopeC.Leds -> LedsC; p.162
163 OscilloscopeC.nc - I #include Timer.h #include Oscilloscope.h module OscilloscopeC { uses { // 사용할여러인터페이스선언 } } implementation { // 사용할여러변수및함수들선언 event void Boot.booted() { // 변수초기화 if (call RadioControl.start()!= SUCCESS) report_problem(); } p.163
164 OscilloscopeC.nc - II void starttimer() { call Timer.startPeriodic(local.interval); reading = 0; } event void RadioControl.startDone(error_t error) { starttimer(); } event void RadioControl.stopDone(error_t error){ } event message_t* Receive.receive(message_t* msg, void* payload, uint8_t len) { } event void Timer.fired() { } event void AMSend.sendDone(message_t* msg, error_t error) { } event void Read.readDone(error_t result, uint16_t data) { } p.164
165 OscilloscopeC.nc - III p.165
166 OSCILLOSCOPEULTRAREDRF 예제실습 p.166
167 시리얼통신모니터링 - I AVR-ISP 를 UART 모드로변경 Serial Forwarder 실행 ( 기존의 Cygwin 창이용 ) 경로이동명령어로실행파일이있는곳으로이동 cd /opt/tinyos-2.x/contrib/zigbex/oscilloscopeultraredrf/java Serial Forwarder 실행명령어 ( 대소문자주의 ) java net.tinyos.sf.serialforwarder -comm serial@comx:57600 p.167
168 시리얼통신모니터링 - II 자바응용프로그램실행 ( 새로운 Cygwin 창생성 ) 경로이동명령어로실행파일이있는곳으로이동 cd /opt/tinyos-2.x/contrib/zigbex/oscilloscopeultraredrf/java 자바응용프로그램실행명령어 make./run p.168
169 End [Q & A] p.169
<4D F736F F F696E74202D205BBDC7BDC0345DC1B6B5B5BCBEBCADC1A6BEEE2E BC8A3C8AF20B8F0B5E55D>
조도센서제어 이번장에서는 ZigbeX 에장치되어있는센서들중에서조도센서에대해공부하고, TinyOS의 Oscilloscope 프로그램을통해측정된조도값을확인하는방법에대해알아보도록하겠다. 한백전자 ZigbeX 의조도센서 2 ZigbeX 의조도센서 조도센서 CDS ZigbeX에장치되어있는조도센서 CDS는 Atmega 128(ZigbeX의 8bit CPU) 의 INT0
More information이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론
이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN
More information<333820B1E8C8AFBFEB2D5A6967626565B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770>
Journal of the Korea Academia-Industrial cooperation Society Vol. 13, No. 1 pp. 306-310, 2012 http://dx.doi.org/10.5762/kais.2012.13.1.306 Zigbee를 이용한 실외 위치추정 시스템 구현 김환용 1*, 임순자 1 1 원광대학교 전자공학과 Implementation
More informationMicrosoft PowerPoint - [이론4]TinyOS와NesC [호환 모드]
TinyOS 와 NesC 한백전자 TinyOS 2 TinyOS TinyOS (TOS) = atmega128 에서수행가능한이미지 event-driven 구조 단일스택 TinyOS 의제한사항 커널없음 동적메모리관리없음 가상메모리사용안함 Main 함수에서구동되는 Simple FIFO 스케줄러 3 TinyOS 응용프로그램 TOS application = graph
More information<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>
뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)
More informationISP and CodeVisionAVR C Compiler.hwp
USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler
More informationuntitled
(Rev. 1.6) 1 1. MagicLAN.......8 1.1............8 1.2........8 1.3 MagicLAN.......10 2.........12 2.1.... 12 2.2 12 2.3....12 3. Windows 98SE/ME/2000/XP......13 3.1.....13 3.2 Windows 98SE.... 13 3.3 Windows
More information놀이동산미아찾기시스템
TinyOS를이용한 놀이동산미아찾기시스템 윤정호 (mo0o1234@nate.com) 김영익 (youngicks7@daum.net) 김동익 (dongikkim@naver.com) 1 목차 1. 프로젝트개요 2. 전체시스템구성도 3. Tool & Language 4. 데이터흐름도 5. Graphic User Interface 6. 개선해야할사항 2 프로젝트개요
More information2005 2004 2003 2002 2001 2000 Security Surveillance Ubiquitous Infra Internet Infra Telematics Security Surveillance Telematics Internet Infra Solutions Camera Site (NETWORK) Monitoring & Control
More informationMicrosoft Word - FS_ZigBee_Manual_V1.3.docx
FirmSYS Zigbee etworks Kit User Manual FS-ZK500 Rev. 2008/05 Page 1 of 26 Version 1.3 목 차 1. 제품구성... 3 2. 개요... 4 3. 네트워크 설명... 5 4. 호스트/노드 설명... 6 네트워크 구성... 6 5. 모바일 태그 설명... 8 6. 프로토콜 설명... 9 프로토콜 목록...
More informationMicrosoft PowerPoint ppt
Wireless LAN 최양희서울대학교컴퓨터공학부 Radio-Based Wireless LANs Most widely used method Adv: penetrating walls and other obstacles with little attenuation. Disadv: security, interference, etc. 3 approaches: ISM
More information<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>
8주차중간고사 ( 인터럽트및 A/D 변환기문제및풀이 ) Next-Generation Networks Lab. 외부입력인터럽트예제 문제 1 포트 A 의 7-segment 에초시계를구현한다. Tact 스위치 SW3 을 CPU 보드의 PE4 에연결한다. 그리고, SW3 을누르면하강 에지에서초시계가 00 으로초기화된다. 동시에 Tact 스위치 SW4 를 CPU 보드의
More information<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >
10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절
More informationCAN-fly Quick Manual
adc-171 Manual Ver.1.0 2011.07.01 www.adc.co.kr 2 contents Contents 1. adc-171(rn-171 Pack) 개요 2. RN-171 Feature 3. adc-171 Connector 4. adc-171 Dimension 5. Schematic 6. Bill Of Materials 7. References
More informationMicrosoft Word - src.doc
IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...
More informationC. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.
ASF(Atmel Software Framework) 환경을이용한프로그램개발 1. New Project Template 만들기 A. STK600 Board Template를이용한 Project 만들기 i. New Project -> Installed(C/C++) -> GCC C ASF Board Project를선택하고, 1. Name: 창에 Project Name(
More informationPowerPoint Presentation
Korea Tech Conference 2005 년 5 월 14 일, 서울 2005 년 5 월 14 일 CE Linux Forum Korea Tech Conference 1 Parallel port 를이용한가전제품 제어 임효준 LG 전자 imhyo@lge.com 2005 년 5 월 14 일 CE Linux Forum Korea Tech Conference 2
More informationInstall stm32cubemx and st-link utility
STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7
More informationDE1-SoC Board
실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically
More information목차 1. 개요... 3 2. USB 드라이버 설치 (FTDI DRIVER)... 4 2-1. FTDI DRIVER 실행파일... 4 2-2. USB 드라이버 확인방법... 5 3. DEVICE-PROGRAMMER 설치... 7 3-1. DEVICE-PROGRAMMER
< Tool s Guide > 목차 1. 개요... 3 2. USB 드라이버 설치 (FTDI DRIVER)... 4 2-1. FTDI DRIVER 실행파일... 4 2-2. USB 드라이버 확인방법... 5 3. DEVICE-PROGRAMMER 설치... 7 3-1. DEVICE-PROGRAMMER 실행파일... 7 4. DEVICE-PROGRAMMER 사용하기...
More informationMango-E-Toi Board Developer Manual
Mango-E-Toi Board Developer Manual http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document
More informationiii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.
Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:
More information<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>
SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......
More information슬라이드 1
Delino EVM 용처음시작하기 - 프로젝트만들기 (85) Delfino EVM 처음시작하기앞서 이예제는타겟보드와개발홖경이반드시갖추어져있어야실습이가능합니다. 타겟보드 : Delfino EVM + TMS0F85 초소형모듈 개발소프트웨어 : Code Composer Studio 4 ( 이자료에서사용된버전은 v4..입니다. ) 하드웨어장비 : TI 정식 JTAG
More informationTTA Verified : HomeGateway :, : (NEtwork Testing Team)
TTA Verified : HomeGateway :, : (NEtwork Testing Team) : TTA-V-N-05-006-CC11 TTA Verified :2006 6 27 : 01 : 2005 7 18 : 2/15 00 01 2005 7 18 2006 6 27 6 7 9 Ethernet (VLAN, QoS, FTP ) (, ) : TTA-V-N-05-006-CC11
More informationTEL:02)861-1175, FAX:02)861-1176 , REAL-TIME,, ( ) CUSTOMER. CUSTOMER REAL TIME CUSTOMER D/B RF HANDY TEMINAL RF, RF (AP-3020) : LAN-S (N-1000) : LAN (TCP/IP) RF (PPT-2740) : RF (,RF ) : (CL-201)
More informationJDK이클립스
JDK 와이클립스설치 A. JDK 다운로드, 설치및환경설정 지금부터 JDK를다운로드받아설치하고 JDK를윈도우에서활용할수있도록환경을설정하는전과정을소개한다. 다운로드 www.oracle.com 사이트에접속하여 Downloads 메뉴를선택한후 [ 그림 1] 과같이 "Java for Developers" 를클릭한다. [ 그림 1] www.oracle.com 사이트
More information임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과
임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 Outline n n n n n n 보드개요보드연결필수패키지, Tool-Chain 설치 Kernel, file system build Fastboot 및 Tera Term설치 Kernel, file system 이미지전송및설치 - 2 - Young-Jin Kim X-Hyper320TKU
More informationT100MD+
User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+
More information슬라이드 1
마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***
More informationSRC PLUS 제어기 MANUAL
,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO
More information<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>
i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,
More information슬라이드 1
CCS v4 사용자안내서 CCSv4 사용자용예제따라하기안내 0. CCS v4.x 사용자 - 준비사항 예제에사용된 CCS 버전은 V4..3 버전이며, CCS 버전에따라메뉴화면이조금다를수있습니다. 예제실습전준비하기 처음시작하기예제모음집 CD 를 PC 의 CD-ROM 드라이브에삽입합니다. 아래안내에따라, 예제소스와헤더파일들을 PC 에설치합니다. CD 드라이브 \SW\TIDCS\TIDCS_DSP80x.exe
More information<3034B1E2B9DD32302DBAB8B0EDBCAD2D524150412DC0FCC6C4C0DABFF8303528BAB0C3A53420C8A8B3D7C6AEBFF6C5A9292E687770>
2004년 12월 31일 주관연구기관 : 한국전파진흥협회 연구 책임자 : 정 신 교 참여 연구원 : 정 성 진 안 준 오 우 현 주 김 선 영 이 영 란 서 지 영 High Data Rate WPAN 기술 UWB / W1394 PDA 지능형에이젼트기술 방범 전력검침 RF ZigBee 수도검침 802.15.3 Web PAD UWB/무선1394
More informationAV PDA Broadcastin g Centers Audio /PC Personal Mobile Interactive (, PDA,, DMB ),, ( 150km/h ) (PPV,, ) Personal Mobile Interactive Multimedia Broadcasting Services 6 MHz TV Channel Block A Block
More informationMango-IMX6Q mfgtool을 이용한 이미지 Write하기
Mango-IMX6Q mfgtool 을 이용한이미지 Write 하기 http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document
More information슬라이드 1
전자정부개발프레임워크 1 일차실습 LAB 개발환경 - 1 - 실습목차 LAB 1-1 프로젝트생성실습 LAB 1-2 Code Generation 실습 LAB 1-3 DBIO 실습 ( 별첨 ) LAB 1-4 공통컴포넌트생성및조립도구실습 LAB 1-5 템플릿프로젝트생성실습 - 2 - LAB 1-1 프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new
More informationbn2019_2
arp -a Packet Logging/Editing Decode Buffer Capture Driver Logging: permanent storage of packets for offline analysis Decode: packets must be decoded to human readable form. Buffer: packets must temporarily
More information1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과
1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas
More informationMAX+plus II Getting Started - 무작정따라하기
무작정 따라하기 2001 10 4 / Version 20-2 0 MAX+plus II Digital, Schematic Capture MAX+plus II, IC, CPLD FPGA (Logic) ALTERA PLD FLEX10K Series EPF10K10QC208-4 MAX+plus II Project, Schematic, Design Compilation,
More informationMicrosoft Word ARM_ver2_0a.docx
[Smart]0703-ARM 프로그램설치 _ver1_0a 목차 1 윈도우기반으로리눅스컴파일하기 (Cygwin, GNU ARM 설치 )... 2 1.1 ARM datasheet 받기... 2 1.2 Cygwin GCC-4.0 4.1 4.2 toolchain 파일받기... 2 1.3 Cygwin 다운로드... 3 1.4 Cygwin Setup... 5 2 Cygwin
More informationPowerPoint 프레젠테이션
KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된
More information목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.
소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423
More information1217 WebTrafMon II
(1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network
More informationRVC Robot Vaccum Cleaner
RVC Robot Vacuum 200810048 정재근 200811445 이성현 200811414 김연준 200812423 김준식 Statement of purpose Robot Vacuum (RVC) - An RVC automatically cleans and mops household surface. - It goes straight forward while
More information6주차.key
6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running
More informationhd1300_k_v1r2_Final_.PDF
Starter's Kit for HelloDevice 1300 Version 11 1 2 1 2 3 31 32 33 34 35 36 4 41 42 43 5 51 52 6 61 62 Appendix A (cross-over) IP 3 Starter's Kit for HelloDevice 1300 1 HelloDevice 1300 Starter's Kit HelloDevice
More informationPowerPoint 프레젠테이션
BOOTLOADER Jo, Heeseung 부트로더컴파일 부트로더소스복사및압축해제 부트로더소스는웹페이지에서다운로드 /working 디렉터리로이동한후, wget으로다운로드 이후작업은모두 /working 디렉터리에서진행 root@ubuntu:# cp /media/sm5-linux-111031/source/platform/uboot-s4210.tar.bz2 /working
More information(SW3704) Gingerbread Source Build & Working Guide
(Mango-M32F4) Test Guide http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document History
More informationMicrosoft PowerPoint - es-arduino-lecture-03
임베디드시스템개론 : Arduino 활용 Lecture #3: Button Input & FND Control 2012. 3. 25 by 김영주 강의목차 디지털입력 Button switch 입력 Button Debounce 7-Segment FND : 직접제어 7-Segment FND : IC 제어 2 디지털입력 : Switch 입력 (1) 실습목표 아두이노디지털입력처리실습
More information<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>
뻔뻔한 AVR 프로그래밍 The 4 th Lecture 유명환 ( yoo@netplug.co.kr) 1 시간 (Time) 에대한정의 INDEX 2 왜타이머 (Timer) 와카운터 (Counter) 인가? 3 ATmega128 타이머 / 카운터동작구조 4 ATmega128 타이머 / 카운터관련레지스터 5 뻔뻔한노하우 : 레지스터비트설정방법 6 ATmega128
More informationMPLAB C18 C
MPLAB C18 C MPLAB C18 MPLAB C18 C MPLAB C18 C #define START, c:\mcc18 errorlevel{0 1} char isascii(char ch); list[list_optioin,list_option] OK, Cancel , MPLAB IDE User s Guide MPLAB C18 C
More informationChapter 1
3 Oracle 설치 Objectives Download Oracle 11g Release 2 Install Oracle 11g Release 2 Download Oracle SQL Developer 4.0.3 Install Oracle SQL Developer 4.0.3 Create a database connection 2 Download Oracle 11g
More informationIM-20 4 5 6 7 8 9 10 11 12 Power On Power Off 13 1 4 15 16 17 18 19 20 21 22 23 24 25 26 2 7 28 29 30 31 3 2 Music Voice Settings Delete EQ Repeat LCD Contrast Auto OFF Rec Sample BackLight Return Normal
More information[Brochure] KOR_TunA
LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /
More informationPowerPoint 프레젠테이션
Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi
More informationSQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자
SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전
More information歯Cablexpert제안서.PDF
: CableXpert TM TEL:02-576-0471 / E-mail : lab@dakos.net 1. (CableXpert TM :CME1100 ) (PSTN) 100,. (CableXpert TM ).,,.... : : 324-1 2 : 02-576-0471 : 02-576-0474 : (E-mail : jangpo@dakos.net) 3. 1) S/W
More informationPowerPoint 프레젠테이션
(Host) set up : Linux Backend RS-232, Ethernet, parallel(jtag) Host terminal Target terminal : monitor (Minicom) JTAG Cross compiler Boot loader Pentium Redhat 9.0 Serial port Serial cross cable Ethernet
More information<목 차 > 제 1장 일반사항 4 I.사업의 개요 4 1.사업명 4 2.사업의 목적 4 3.입찰 방식 4 4.입찰 참가 자격 4 5.사업 및 계약 기간 5 6.추진 일정 6 7.사업 범위 및 내용 6 II.사업시행 주요 요건 8 1.사업시행 조건 8 2.계약보증 9 3
열차운행정보 승무원 확인시스템 구축 제 안 요 청 서 2014.6. 제 1장 일반사항 4 I.사업의 개요 4 1.사업명 4 2.사업의 목적 4 3.입찰 방식 4 4.입찰 참가 자격 4 5.사업 및 계약 기간 5 6.추진 일정 6 7.사업 범위 및 내용 6 II.사업시행 주요 요건 8 1.사업시행 조건 8 2.계약보증 9 3.시운전 및 하자보증 10
More informationPRO1_04E [읽기 전용]
Siemens AG 1999 All rights reserved File: PRO1_04E1 Information and S7-300 2 S7-400 3 EPROM / 4 5 6 HW Config 7 8 9 CPU 10 CPU : 11 CPU : 12 CPU : 13 CPU : / 14 CPU : 15 CPU : / 16 HW 17 HW PG 18 SIMATIC
More informationMicrosoft PowerPoint - chap01-C언어개요.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을
More informationNetwork Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University
Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University Outline Network Network 구조 Source-to-Destination 간 packet 전달과정 Packet Capturing Packet Capture 의원리 Data Link Layer 의동작 Wired LAN Environment
More information임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과
임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수
More information/ TV 80 () DAB 2001 2002 2003 2004 2005 2010 Analog/Digital CATV Services EPG TV ( 60 ) TV ( Basic, Tier, Premiums 60 ) VOD Services Movies In Demand ( 20 ) Education N- VOD (24 ) Digital Music
More informationuntitled
CAN BUS RS232 Line Ethernet CAN H/W FIFO RS232 FIFO IP ARP CAN S/W FIFO TERMINAL Emulator COMMAND Interpreter ICMP TCP UDP PROTOCOL Converter TELNET DHCP C2E SW1 CAN RS232 RJ45 Power
More informationOM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사
OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 zns038053@gmail.com, hwkang0621@gmail.com 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사물인터넷기반의오픈소스가공개가되고있다. 본문서에서는그중 Eclipse에서공개한 OM2M 플랫폼을기반으로개발된헬스케어플랫폼인
More information<283130C1D6294C454420B9D720BCBEBCAD20C1A6BEEE2E687770>
실험 06 LED 및센서제어 < 실험목표 > LED 제어컴포넌트와 Timer 컴포넌트를응용하여 LED 의 on/off 를모스부호화하는방법을알아본다. 장비에장치되어있는조도센서에대해살펴보고, TinyOS 의 Oscilloscope 프로그램을통해측정된조도값을확인하는방법을알아본다. SHT11 센서를이용하여온도및습도값을측정하고, 그결과를시리얼통신을통해 PC 로전달하는방법을알아본다.
More information(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -
(Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register
More informationuntitled
Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II
More information제 3 편
제 3 편 미약무선기기 (3 미터 ) 무선조정기 (500 미터 ) 소출력무선기기 코드리스전화기 데이터전송용 무선호출용 특정소출력무선기기 무선데이터통신및무선 LAN 용 무선마이크용 무선조정및안전시스템용 시각장애인용 단거리전용통신용 1000 100 10 60GHz ANSIBLE 5GHz PAN/LAN Convergence HIPERLAN/2 802.11a
More informationKEY 디바이스 드라이버
KEY 디바이스드라이버 임베디드시스템소프트웨어 I (http://et.smu.ac.kr et.smu.ac.kr) 차례 GPIO 및 Control Registers KEY 하드웨어구성 KEY Driver 프로그램 key-driver.c 시험응용프로그램 key-app.c KEY 디바이스드라이버 11-2 GPIO(General-Purpose Purpose I/O)
More informationPCServerMgmt7
Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network
More informationMicrosoft Word - ntasFrameBuilderInstallGuide2.5.doc
NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,
More informationMicrosoft Word - PEB08_USER_GUIDE.doc
0. PEB08 이란? PEB08(PIC EVALUATION BOARD 8bits) 은 Microchip 8bit Device 개발을쉽고편리하게할수있는보드입니다. 1. 다양한 8bit Device 지원 기존대부분의 8bit 보드의경우일부 Pin-Count만지원을하였지만, PEB08은 PIC10, PIC12, PIC16, PIC18의 DIP Type Package의모든
More information인켈(국문)pdf.pdf
M F - 2 5 0 Portable Digital Music Player FM PRESET STEREOMONO FM FM FM FM EQ PC Install Disc MP3/FM Program U S B P C Firmware Upgrade General Repeat Mode FM Band Sleep Time Power Off Time Resume Load
More informationCPX-E-EC_BES_C_ _ k1
CPX-E CPX-E-EC EtherCAT 8071155 2017-07 [8075310] CPX-E-EC CPX-E-EC-KO EtherCAT, TwinCAT (). :, 2 Festo CPX-E-EC-KO 2017-07 CPX-E-EC 1... 4 1.1... 4 1.2... 4 1.3... 4 1.4... 5 1.5... 5 2... 6 2.1... 6
More informationPowerPoint 프레젠테이션
Network Programming Jo, Heeseung Network 실습 네트워크프로그래밍 멀리떨어져있는호스트들이서로데이터를주고받을수있도록프로그램을구현하는것 파일과는달리데이터를주고받을대상이멀리떨어져있기때문에소프트웨어차원에서호스트들간에연결을해주는장치가필요 이러한기능을해주는장치로소켓이라는인터페이스를많이사용 소켓프로그래밍이란용어와네트워크프로그래밍이랑용어가같은의미로사용
More informationÀ̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp
l Y ( X g, Y g ) r v L v v R L θ X ( X c, Yc) W (a) (b) DC 12V 9A Battery 전원부 DC-DC Converter +12V, -12V DC-DC Converter 5V DC-AC Inverter AC 220V DC-DC Converter 3.3V Motor Driver 80196kc,PWM Main
More information<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>
SAM4S Printer Driver Installer 달리명시하지않은한, 인쇄또는복사된문서는통제하지않는문서임 목 차 1. 1. WINDOWS DRIVER INSTALLER 설치 설치...... 2 2. 프린터추가...... 5 3. 프린터제거...... 19 4. 프린터추가 / 제거선택...... 21 5. 프로그램추가 / 제거...... 21 SHC- 11-01-
More information<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>
뻔뻔한 AVR 프로그래밍 The 6 th Lecture 유명환 ( yoo@netplug.co.kr) 1 2 통신 관련이야기 시리얼통신 관련이야기 INDEX 3 ATmega128 시리얼통신회로도분석 4 ATmega128 시리얼통신컨트롤러 (USART) 분석 5 ATmega128 시리얼통신관련레지스터분석 6 ATmega128 시리얼통신실습 1 통신 관련이야기 동기
More information슬라이드 1
- 1 - 전자정부모바일표준프레임워크실습 LAB 개발환경 실습목차 LAB 1-1 모바일프로젝트생성실습 LAB 1-2 모바일사이트템플릿프로젝트생성실습 LAB 1-3 모바일공통컴포넌트생성및조립도구실습 - 2 - LAB 1-1 모바일프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new Mobile Project 메뉴를선택한다.
More information°í¼®ÁÖ Ãâ·Â
Performance Optimization of SCTP in Wireless Internet Environments The existing works on Stream Control Transmission Protocol (SCTP) was focused on the fixed network environment. However, the number of
More information<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>
VHDL 프로그래밍 D. 논리합성및 Xilinx ISE 툴사용법 학습목표 Xilinx ISE Tool 을이용하여 Xilinx 사에서지원하는해당 FPGA Board 에맞는논리합성과정을숙지 논리합성이가능한코드와그렇지않은코드를구분 Xilinx Block Memory Generator를이용한 RAM/ ROM 생성하는과정을숙지 2/31 Content Xilinx ISE
More information강의10
Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced
More informationPowerPoint 프레젠테이션
7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment
More information歯I-3_무선통신기반차세대망-조동호.PDF
KAIST 00-03-03 / #1 1. NGN 2. NGN 3. NGN 4. 5. 00-03-03 / #2 1. NGN 00-03-03 / #3 1.1 NGN, packet,, IP 00-03-03 / #4 Now: separate networks for separate services Low transmission delay Consistent availability
More information슬라이드 1
1 Chapter 3 기반기술 Objectives 유선이더넷에대한이해 무선 LAN 에대한이해 연결장치소개 2 목차 유선근거리통신망 무선 LAN 연결장치 3 3.1 근거리통신망 (LAN) 4 3.1 근거리통신망 (LAN) 아파트, 빌딩또는캠퍼스와같은제한된지역의독립적인장치들이서로통신할수있게하는데이터통신시스템 유선 LAN : 이더넷 전통적인이더넷 (10Mbps)
More informationMicrosoft Word - ZIO-AP1500N-Manual.doc
목 차 사용자 설명서 1 장 제품 소개 ------------------------------ 1 2 장 제품 내용물 ---------------------------- 2 3 장 AP 연결 설정 방법 ------------------------ 3 4 장 동작 방식별 설정 방법 --------------------- 7 (1) 엑세스 포인트 모드 -----------------------
More information1. 회사소개 및 연혁 - 회사소개 회사소개 회사연혁 대표이사: 한종열 관계사 설립일 : 03. 11. 05 자본금 : 11.5억원 인 원 : 18명 에스오넷 미도리야전기코리 아 미도리야전기(일본) 2008 2007 Cisco Premier Partner 취득 Cisco Physical Security ATP 취득(진행) 서울시 강남구 도심방범CCTV관제센터
More informationMicrosoft Word - How to make a ZigBee Network_kr
1 단계 ZigBee 네트워크설정방법 이보기는 ProBee 기기를이용해 ZigBee 네트워크를설정하는방법을보여줍니다. 2 단계 이보기에서사용된 SENA 제품입니다 : ProBee ZE10 Starter Kit ProBee ZS10 ProBee ZU10 3 단계 ZigBee 네트워크입니다. SE1 SE2 SE3 ZS10 ZS10 ZS10 R4 R5 R3 R1
More informationchapter4
Basic Netw rk 1. ก ก ก 2. 3. ก ก 4. ก 2 1. 2. 3. 4. ก 5. ก 6. ก ก 7. ก 3 ก ก ก ก (Mainframe) ก ก ก ก (Terminal) ก ก ก ก ก ก ก ก 4 ก (Dumb Terminal) ก ก ก ก Mainframe ก CPU ก ก ก ก 5 ก ก ก ก ก ก ก ก ก ก
More informationPowerPoint 프레젠테이션
7-SEGMENT DEVICE CONTROL - DEVICE DRIVER Jo, Heeseung 디바이스드라이버구현 : 7-SEGMENT HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 디바이스드라이버구현 : 7-SEGMENT 6-Digit 7-Segment LED
More information슬라이드 제목 없음
ETOS-DPS-X Guide AC&T SYSTEM 1 ETOS-DPS-X 개요 ETOS-DPS-X Field Bus Network 중 Profibus-DP Network 에연결되는장비. ProfiBus-DP Network 시스템에 DP 통신을지원하지않는현장장비에대한통신서버기능구현. Profibus-DP Slave 동작하기때문에반드시 DP-Master 모듈이있는시스템에서적용가능.
More informationChapter #01 Subject
Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned
More information지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR
Configure Kernel Build Environment And kernel & root file system Build 2018-09-27 VLSI Design Lab 1 지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함.
More information歯DCS.PDF
DCS 1 DCS - DCS Hardware Software System Software & Application 1) - DCS System All-Mighty, Module, ( 5 Mbps ) Data Hardware : System Console : MMI(Man-Machine Interface), DCS Controller :, (Transmitter
More information표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1
표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1 Index 1. 표준프레임워크 EGOVCI 팩키지설치... 3 1.1 개요... 3 1.2 EGOVCI 압축풀기... 3 1.3 EGOVCI 시스템구성... 3 1.4 CI 시스템구동 (START/STOP)... 4 2. NEXUS 설정정보... 6 2.1 NEXUS 서버구동
More informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More information