수행기록퀘스트3
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 다운로드
로그인 후
참가 상태를 확인할 수 있습니다.