수행기록퀘스트3

클라우드 연결 및 데이터 업로드- Quest3
2022. 9. 11 (일) 20:27 MJ 조회 317 좋아요 1 스크랩 0 댓글 0

 hackster.io에 보면 Raspberry Pi Pico W와 AWS와 연결하는 부분이 있습니다.

파이선 코드로 작성되어 있고 구성은 다음과 같습니다.

 

1. https://github.com/bleakview/rp_pico_w_aws_iot/

  (1) CERTS :  AWS와 연결하기 위한 보인 인증서 저장 디렉토리

  (2) UMQTT :  Python으로 작성된 MQTT 라이브러리

  (3) awsiot.py : AWS와 연결하여 데이터를 전송하는 파이선 코드

 

2. 접속을 위한 policy 및 cetificate 생성 - AWS IOT 메뉴에서 설정하여 생성할 수 있습니다.

 

3. 4가지 속성을 선택합니다. iot:Connect, iot:Publish, iot:Receive, iot:Subscribe를 선택합니다. 속성이 제대로 설정되어야 데이터를 수신받고 보낼 수 있습니다.

  

4. Create certificate로 인증서 생성

 

5. 생성된 certificate는 다운받아서 사용해야 합니다. 아래 메뉴에서 2개를 선택하여 다운 받습니다.

6. 다운받은 cetificate의 이름은 각각 private.pem.key, certifcate.pem.crt로 변경하고 아래 명령을 통해 DER 형식으로 변경합니다.

   변경하는 툴은 openssl 툴을 사용합니다.

 

7. thing를 생성합니다. Create single thing로 생성합니다.

8. 생성된 things입니다. PICO_W_IOT로 지정하였습니다.

9. awsiot를 수정합니다. 소스내에 있는 WiFi 연결 정보, End Point의 정보를 확인하여 넣습니다. 아래 그림에 ARN이라고 되어 있는 부분이 End Point의 정보고 

이것을 확인하여 넣습니다.


ACCESS_POINT = "{access point name }"
PASSWORD = "{access point password}"
CLIENT_ID = "{client id}"
AWS_ENDPOINT = b'{connection endpoint}'
PUBLISH_CHANNEL='temperature'

 

10. 실행을 시키고, MQTT Test Client를 통해 메시지가 수신되는지 확인합니다.

 

sensor/2/data라는 이름으로 한꺼번에 데이터를 여러게 보내 도록 수정했습니다.

 

이렇게 정상적으로 전송되었음을 확인하였고, Quest3를 마무리 합니다.

 

로그인 후
참가 상태를 확인할 수 있습니다.