수강발표 - openfactory12

Download Report

Transcript 수강발표 - openfactory12

Embeded 기초 다지기
2015년 10월 26일
intern Sally
CONTENTS
1
IoT Device 개발
1-1. Embeded web sever
2
IoT 첫걸음
2-1. Web client
3
임베디드 WiFi
3-1. Overview
4
Rapid Prototype
4-1. W7500 & WizFi250
1-2. HTTP Method
2-2. DHCP
3-2. WizFi250
4-2. RTS & CTS
1-3. HTTP Sever Library
2-3. I2C
3-3. Domain Name
4-3. WizFI250 Hello World
2-4. Code
3-4. RTS & CTS
4-4. code
2-4. Proxy Sever
3-5. Soft AP Mode와
일반공유기의 차이점
4-5. Wizfi250 TCP UDP
1-4. CGI
1-5. Sever example source
1-6. message format
3-6. I2C
3-7. Code
3-8. Proxy sever
4-6. TCP Socket
4-7. UDP Socket
4-8. TCP Client/Sever
4-9. UDP Client/Sever
1.WIZwiki-W7500으로
IoT Device 개발 시작하기
1장
Embeded Web Sever
intern Sally
HTTP Request
sever
client
HTTP Response
1장
HTTP Method
Web sever는 요청된 HTML Web page를 Web Browser에게 전송
HTTP 는 잘 알려진 포트 80으로 TCP 서비스를 이용
intern Sally
3장
CGI(common gateway interface)
Set_dio.html
intern Sally
1장
intern Sally
HTTP Sever Library
start
start
no
Http
Request?
yes
Http
Get/Head
Method?
yes
Requested
Web
content
no
yes
yes
Get CGI
Request?
no
Http
Post
Method?
Post CGI
Request?
yes
no
Unknown
HTTP Method
Send
HTTP Response
Correspond
CGI file?
yes
end
1장
CGI(common gateway interface)
intern Sally
CGI: Dynamic document를 생성하고 처리하는 기술
Dynamic
document
작성
입력 데이터
프로그램에 제공
출력 결과가 사용
1장
Sever example source
intern Sally
1장
Sever example source
intern Sally
1장
Request message format
Requset Line
intern Sally
Method
URL
Version
c l
Header Name
:
value
c l
Header Name
:
value
c l
Header Line
Header Name
:
value
c l
Blank Line
cr
Body
lf
Variable number of lines
(present only in some
message)
1장
Response message format
Status
code
Version
phrase
intern Sally
c l
Header Name
:
value
c l
Header Name
:
value
c l
Header Name
:
value
c l
cr
lf
Variable number of lines
(present only in some
message)
Status Line
Header Line
Blank Line
Body
100범위
정보
200범위
요청 성공
300범위
URL재지정
400범위
클라이언트
오류
500범위
서버 오류
2.IoT를 위한 첫걸음 2탄
2장
Web client
intern Sally
2장
DHCP
intern Sally
DHCP : 처음으로 부팅한 컴퓨터나 디스크가 없는 컴퓨터에게 4가지 정보를 제공
하기 위해 설계 된 클라이언트/서버 프로토콜
2장
DHCP Packet Format
DHCP Packet
intern Sally
물리 네트워크유형
물리 주소의 길이
Packet전달최대 홉
응답 확인
경과된 시간
1000000000000000
클라이언트 IP주소 포함
응답메세지
서버의 IP주소
라우터의 IP주소
클라이언트 물리적 주소
응답메세지 기록/NULL STRING
파일의 경로
2장
I2C
intern Sally
I2C BUS: 마이크로프로세서와 저속주변장치 사의의 통신을 위한 용도
데이터 라인을 공유하는 동기 시리얼 통신 버스
하나의 버스에 127장치까지 연결 가능
간단한 통신 프로토콜
MCU에 I2C통신 제어장치 내장
2장
I2C Bus
intern Sally
슬레이브
ACK=0출력
마스터가 어떻게 슬레이브
주소를 지정하고 데이터를 주고 받을까?
지정 슬레이브의
7비트 주소 출력
마스터의 출력
2장
code
intern Sally
인터넷을 가능 하게하는 library
PA_10과PA_9는 각 각 D15,D14핀
디바이스 주소와 SIZE
IP주소와 SN주소는 필요없지만 MAC주소는 필요
2장
code
intern Sally
SEVER로 보낼데이터형식 (SEVICEKEY=나라에서인증한 공인 API)
ROUTID&STATIONID 는 HTML PAGE에 있음
2장
Proxy Sever
intern Sally
Proxy Sever : 최신 요청에 대한 응답들의 복사본을 가지고 있는 컴퓨터
Response
Request
Request
2장
Proxy Sever
intern Sally
3.임베디드 WiFi WizFi250 기
초 및 HTTP Client 실습
3장
Overview
intern Sally
WizFi250으로 실제 인터넷 망에 접속해
다양한 사이트에서 의미 있는 데이터를 가지고 온다.
접속
Uart 500Byte
MCU
WizFi250
OPEN API
3장
WizFi250
intern Sally
3장
Soft AP Mode와 일반공유기의 차이점
Wan port
intern Sally
3장
원하는 기능 설정
intern Sally
Start
Mode?
StationMode
AP Soft Mode
Protocol?
TCP
Protocol?
UDP
TCP
Type?
sever
UDP
Type?
client
sever
client
3장
AT Command
intern Sally
SOFT AP MODE
오늘 사용한 AT Command
AT +WSCAN
주변 AP(Access Point)를 스캔
AT +WSET
SSID를 생성
AT +WSEC
Password 설정
AT +NET
DHCP로 IP를 자동으로 할당
AT +WJOIN
설정된 AP로 접속
AT +SCON
소켓 OPEN
세팅 상태가 궁금 할 때 AT Command 뒤에 ?만 붙이면 된다!
3장
Date 전송 방식
intern Sally
다른 단말과의 연결 후 데이터 전송 방식에 따라 두 가지 모드로 나뉘게 된다.
Data Mode
Command mode
Setting까지 완료한 상태에
서 serial로 문자를 입력하게
되면 wizfi250을 통해 나가
게 됨.
Setting이후에 Data몇 Byte
를 주겠다고 AT command
를 주고 그 뒤에 Data를 보
내주게 됨.
3장
AT Command
intern Sally
O :명령어가 실행되는 순간 TCP
Sever를 동작 시행을 시작함.
AT+SCON=O :TCP Sever로 동작
AT+SCON=O,TSN,,,5000,1
5000 Port와 1은 Data mode를 사용
TCP Sever로 동작
S
Reset이 되면SCON에 저장된 내용을 수행
O
명령을 입력 즉시 저장된 내용 수행
SO
RESET후 && 지금 수행
OPEN TYPE. SOCKET TYPE,REMOTE IP,REMOTE PORT,LOCAL PORT, DATA MODE
4.WizFi250 활용 Rapid
Prototye 만들기
4장
W7500 & WizFi250
intern Sally
4장
Hardware 구성도
intern Sally
GND
RTS
CTS
TXD
RXD
VCC
D8 D7
TXD
RXD
VCC
GND
JP10-2
PA12
4장
RTS & CTS
RTS 신호는 수신이 가능한 상태이
면 Low로 되며, 수신이 불가능하
면 High로 한다.
intern Sally
TX를 하기 전에 CTS 입력을 확인해서
CTS가 Low이면 데이터를 보낸다.
4장
WizFI250 Hello World Demo
intern Sally
4장
Code
intern Sally
(TX,RX,CTS,RTS,Reset,Alarm,Baud)
Connect함수를 통해
(보안,ssid,비밀번호)
4장
Wizfi250 TCP UDP
intern Sally
4장
TCP Sever
intern Sally
4장
TCP Client
intern Sally
4장
UDP Sever
intern Sally
4장
UDP Client
intern Sally
Thank You
Q&A