수행기록퀘스트3

Pico W - 클라우드 연결 및 데이터 업로드, AWS 클라우드 연동
2022. 9. 11 (일) 18:00 라단 조회 293 좋아요 1 스크랩 0 댓글 0

Raspberry PI PICO와 AWS 연결은

 

하기 강좌의 방법과 소스를 사용하여 진행 했습니다. 

https://www.hackster.io/bleakview/connecting-raspberry-pico-w-to-aws-iot-ef6b7b

 

1. 먼저 AWS 서비스 중 AWS IoT를 선택합니다. 현재 저는 2개를 Things를 만들어 사용하고 있습니다.

 

2. 연결을 하기 위해서는 보안 인증서와 정책(Policies)가 필요합니다.

   (1)여기서 인증서는 장치와 AWS 서비스간의 보안 연결을 하기위한 암호화 인증서이고요

   (2) 정책은 장치가 AWS 서비스에서 어떠한 일을 할 수 있는지 권한을 정하는 것입니다.

아래는 지정한 정책 내역 입니다. 4가지 Connect, Publish, Receive, Subsrcibe 속성을 지정하였습니다.

3. 다음은 인증서를 다운받아야 합니다. 

디바이스 인증서와 Public 인증서를 다운 받습니다.

 

4. Create Things 명령을 통해 pi_thing라는 Things를 생성합니다.

5. 생성된 pi_things에 생성한 인증서를 붙입니다. 그래야 장치에서 AWS IoT 서비스에 접속할 수 있습니다.

6. 다운받은 인증서를 DER이라는 형식으로 변경해 줍니다. openssl 툴로 변경할 수 있습니다.

7. 다운받은 소스를 다음과 같은 폴더에 저장합니다.

 

8. 변경한 private.der, certificate.der 파일은 certificate.der 파일은 certs디렉토리에 저장합니다.

 

9. awsiot.py 파일에서 WiFi의 암호, AP 이름, AWS의 End 포인트를 지정하면 연결 준비가 완료 됩니다.

ACCESS_POINT = ""
#Access point password
PASSWORD = ""

# AWS endpoint parameters.
# Should be different for each device can be anything
CLIENT_ID = "test1"
# You can get tihs address from AWS IoT->Settings -> Endpoint
# mothing like : {host id}.iot.{region}.amazonaws.com
AWS_ENDPOINT = ''
#MQTT channel name for publishing
PUBLISH_CHANNEL='temperature'

10. 해당 소스는 이상하게 WiFi 가 처음에 연결이 안되는 현상이 있습니다. 좀 더 디버깅 해 봐야 정확한 원인을 알수 있을 것 같습니다.

우선은 시간이 없어서 먼저 테스트 결과를 올립니다.

 

11.  저는 여기에 DynamDB를 연결하여 보내온 데이터를 저장할 수 있도록 구성 했습니다. 테스트 기간동안 약 37,960개의 데이터를 송신하였고 아래와 같이 저자되었습니다.

 

이것으로 3단계 미션을 마칩니다.

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