페이지 선택

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

Viewed Page List