수행기록퀘스트3

Quest 3 Pico W - 클라우드 연결 및 데이터 업로드
2022. 9. 11 (일) 23:26 최종수정 2022. 9. 11 (일) 23:36 물만난고기처럼 조회 403 좋아요 1 스크랩 1 댓글 0

1. Adafruit IO 사용하기

- io.adafruit.com 에 접속합니다.

- 우상단에 Get Started for Free 는 계정만들기(Sign Up) 이고 Sign In 은 로그인 링크입니다.
- Adafruit 아이디가 없으면 새로만들고 이미 만들었으면 Sign In 합니다.

- 우상단에 로그인 상태가 보입니다.
- 파란색 메뉴 끝에 IO 를 눌러 io.adafruit.com 으로 이동합니다.

- 장치를 추가할 수 있는 메뉴가 보입니다. Pico 는 아직 WipperSnapper 가 지원되지 않으므로 Devices 메뉴는 사용할 수 없습니다.
- Actions 와 Power-Ups 는 아직 사용하지 않고 지금은 Feeds 와 Dashboards 만 사용할 것입니다.
- 우상단에 노란색 열쇠 아이콘을 클릭하면 API KEY 를 볼 수 있습니다.

- USERNAME 과 KEY를 사용하여 접근할 수 있습니다.
- 캡처와 같이 KEY 를 노출했다면 REGENERATE KEY 를 눌러 KEY 를 바꿀 수 있습니다.

- Feeds 메뉴로 이동합니다.

- New Feed 를 눌러 새로운 Feed 를 만듭니다.

- 새로운 feed 가 만들어졌습니다.

- temperature 를 클릭하여 확인합니다

- Add Data 를 이용하여 몇 개의 데이터를 입력해 봅니다.

- 이제 Dashboards 로 이동합니다.

- New Dashboard 를 클릭하여 새로운 대시보드를 만듭니다.

- temperature 를 클릭합니다.

- 우상단의 톱니바퀴 아이콘을 클릭합니다.

- Create New Block 을 클릭합니다.

- Line Chart 를 클릭합니다.

- temperature 를 체크하고 Next step 으로

- Create Block 버튼을 클릭합니다.

- F5 를 눌러 새로고침하면 데이터가 보입니다.

- 여기까지는 수동으로 데이터를 먹였습니다. 다음은 Pico 가 데이터를 먹이도록 하는 과정이 필요합니다.

 

2. Pico W 프로그래밍

- Adafruit IO 는 계속해서 업데이트 되고 있으므로 공식 문서와 불일치하는 부분이 있습니다.
- https://github.com/adafruit 에 여러가지 Adafruit IO 관련 API 가 제공됩니다.
- Adafruit IO API 가 아직 Pico W 를 공식 지원하지 않으므로 Michael Horne 의 Use Adafruit IO with a Raspberry Pi Pico W to create IoT dashboards using MQTT 를 사용하겠습니다.
 

Use Adafruit IO with a Raspberry Pi Pico W to create IoT dashboards using MQTT
https://www.recantha.co.uk/blog/?p=21412
 

- https://github.com/recantha/PicoTemp 로 이동하여 Code > Download ZIP 으로 압축파일을 받아서 적당한 폴더에 풀어놓습니다.

- 파일설명
README.md 문서 파일
ahtx0.py I2C 온도센서 관련
config.py feed 접두어
main.py 메인 파일
mqtt.py MQTT 외부 라이브러리
sample_secrets.py 암호가 저장된 샘플

- 원저자는 i2c 온습도 센서를 사용하고 있지만 여기서는 Pico 의 내부 온도센서를 사용합니다. config.py 와 secrets.py 의 내용은 main.py 에 합쳐버릴 것입니다. 따라서 우리가 필요한 파일은 mqtt.py 와 main.py 이고 mqtt.py 는 그대로 사용하고 main.py 에 수정이 필요합니다.

- https://www.raspberrypi.com/documentation/microcontrollers/micropython.html 에서 Raspberry Pi Pico W 용 MicroPython UF2 파일을 다운로드 합니다.

- VGA DAC 을 만들기 위한 보드입니다.
- RUN 버튼은 리셋버튼입니다. BOOTSEL 버튼을 누른채로 RUN 버튼을 누르면 USB 대용량 저장장치로 갈 수 있기 때문에 매번 USB 케이블을 뺐다 꼈다 할 필요가 없으므로 편리합니다.

- USB 대용량 저장장치로 만들고 위에서 받아놓은 UF2 파일을 복사합니다.

- Thonny 로 연결합니다.

- mqtt.py 의 내용을 복사하고 mqtt.py 로 저장합니다.
- 첨부된 main.py.txt 의 내용을 복사하고 main.py 로 저장합니다.

- 아래 부분을 상황에 맞게 수정합니다.

feed_config = "temperature"
secrets = {
    "ssid" : "****",
    "password": "****",
    "adafruit_io_username": "****",
    "adafruit_io_key": "****"
}

- 이제 실행해 봅니다.

- Feeds 의 내용이 업데이트 됩니다.

- 대시보드의 내용을 봅니다.

 

3. 결론

- Adafruit IO 는 사용하기 매우 쉬웠습니다.
- https://learn.adafruit.com/category/adafruit-io 에서 Adafruit IO 관련 프로젝트를 볼 수 있습니다.
- 감사합니다.

첨부파일
main.py.txt 다운로드

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