페이지 선택
Generic selectors
Exact matches only
Search in title
Search in content
Search in pages

AWS IoT Core 설정 작업과 기본 연동 경험이 필요하다면  IOT(pc연습)을 참조하자.

 

WIFI Client를 AWS에 연동하기

이 장에서는 AWS IOT연습으로 MQTT 메시지 프로토콜을 사용하고 있는 AWS IOT Core(클라우드서버)와 통신모듈 간에 연동 시험을 할 것이다.

Amazon의 AWS 서버는 MQTT 통신에 있어 인증서에 의한 인증을 요구하고 있다. 이 부분에 대한 준비는 이 전 장에서 잘 준비 했으리라 본다.

 

 

 

No 절차 명령 및 조작
1 통신모듈을 AP에 연결 AT+WJAP=SSID, Password\r
응답 OK, +WEVNET:STATION UP, ⊕ AP 접속까지 30초 정동의 시간이 소요될 수 있다.
2 이벤트 푸시(push)기능 설정 AT+MQTTEVENT=ON\r
응답 OK
3 MQTT 사용자이름 및 암호 설정( 이 명령 생략 가능) AT+MQTTAUTH=User-name,Password\r
응답 OK
4 호스트 및 포트번호 설정 AT+MQTTSOCK=a1lqshc4oegz64.iot.us-west-2.amazonaws.com,8883\r
호스트는 어떻게 아나요?   AWS 콘솔 → 사물 → 상호작용 → HTTPS 바로 밑에 적혀진 URL, §관련 설명 참고 
응답 OK
5 MQTT 인증서 검증 사용설정 AT+MQTTCAVERIFY=ON,ON\r
응답 OK
6 서버 루트인증서 전달 AT+SSLCERTSET=0\r
응답 >
7 서버 루트인증서 파일내용 보내기

(1) 서버 루트인증서 전달 방법은 폴더 /파일 지정 또는 인증서를 테스트 파일에서 열어서 Copy&Paste,

(2) 마지막에  “CTRL+Z”의 ASCII의 값 추가 → ⊕ 바로 아래 설명 참조

응답 OK

 

 

 

⊗ 인증서를 전달 방법

(1) 인증서가 있는 폴더/인증서파일 선택 또는 “>” 응답이 왔을때 txt 파일의 인증서를 Copy&Paste

(2) Ascii Code 로 Ctrl+Z의 값 “0x1A” 를 입력→ 추가된 “CTRL+Z”는 인증서의 일부는 아니다.

 

Geshe Beacon을 기준으로 전송 방법은 아래와 같다.

⊕ 모듈은 내부적으로 인증서를 전달하고 인증서 내용을 플래시에 저장한다.

 

 

 

8 클라이언트 인증서 전달 AT+SSLCERTSET=1\r
  응답 >
9 클라이언트 인증서 파일내용 보내기  앞부분에서 인증서 보내는 방법과 동일
  응답 OK
10 클라이언트 Private 암호키 전달 AT+SSLCERTSET=2\r
  응답 >
11 클라이언트 Private 키 파일내용 보내기 앞부분에서 인증서 보내는 방법과 동일
  응답 OK
12 SSL 암호화 사용 설정 AT+MQTTSSL=ON\r
  응답 OK

 

 

 

13 클라이언트 ID 설정 AT+MQTTCID=EMW3070-N02\r
  클라이언트 ID 정보는 어디에 있나?

Client ID는 임의로 정할 수 있다

연동하려는 사물의 이름, AWS 콘솔 → 사물 → 여기에 사물 중 연동하려는 사물의 이름, §관련 설명 참고 

  응답 OK
14 MQTT Heartbeat 기간 설정 AT+MQTTKEEPALIVE=10\r
  응답 OK
15 MQTT 자동재연결기능 설정 AT+MQTTRECONN=OFF\r
  응답 OK
16 MQTT Power-On 자동연결기능 설정 AT+MQTTAUTOSTART=ON\r
  응답 OK
17 MQTT 서비스 시작 AT+MQTTSTART\r
  응답 OK, +MQTTEVENT:CONNECT,SUCCESS

 

 

 

이제부터 메시지 교환( PUB/SUB)을 시험해 보자

 

18 주제0(Topic 0) 구독하기 AT+MQTTSUB=0,$aws/things/myLight/shadow/delete/accepted,1\r
  응답 OK, +MQTTEVENT:0,SUBSCRIBE,SUCCESS
19 주제1(Topic 1) 구독하기 AT+MQTTSUB=1,$aws/things/myLight/shadow/update/delta,0\r
  응답 OK, +MQTTEVENT:1,SUBSCRIBE,SUCCESS
20 주제2(Topic 2) 구독하기 AT+MQTTSUB=2,$aws/things/myLight/shadow/update,0\r
  응답 OK, +MQTTEVENT:2,SUBSCRIBE,SUCCESS
21 게시(publishing)할 토픽 설정 AT+MQTTPUB=$aws/things/myLight/shadow/update,0\r
  응답 OK
22 메시지/데이터 게시(publish) AT+MQTTSEND=6\r  →  ”>” 응답을 받은 후  → 송신할 데이터 입력, ex) 123456
  응답

+MQTTEVENT:PUBLISH,SUCCESS,

동시에 동일한 주제(topic)을 돌려받는다,  +MQTTRECV:2,6,123456

23 주제1 구독(subscription) 취소 AT+MQTTUNSUB=1\r
  응답 OK,+MQTTEVENT:1,UNSUBSCRIBE,SUCCESS
24 MQTT 서비스 해제(release) AT+MQTTCLOSE\r
  응답 OK, +MQTTEVENT:CLOSE,SUCCESS

Adsense

EMW3070

Viewed Page List