이전 게시글에서 W5100S-EVB-Pico보드에 대해 살펴보았으니 이제 사용해 봐야겠습니다.
개발 환경은 C++과 Python을 사용하여 개발할 수 있는 것으로 보이는데 쉽고 빠르게 테스트하기 위해 Python 환경을 셋업해 보려고 합니다. 먼저 Python 환경 중 MicroPython을 사용해 보려고 했으나 관련 펌웨어와 라이브러리의 다운로드 주소가 404 에러가 발생되어 대신에 CircuitPython을 검색해 보았습니다. CircuitPython이 Adafruit에서 계속 업데이트를 해 주는 것 같고 관련 라이브러리(Wiznet의 W5100S 라이브러리 포함) 및 예제도 충분히 제공되는 것으로 보여 CircuitPython을 사용하기로 하였습니다.
먼저 CircuitPython을 사용하기 위해서는 Raspberry Pi Pico 보드에서 CircuitPython을 지원하도록 firmware를 먼저 설치해야 합니다. 아래 사이트에 접속하여 다운로드를 합니다.
현재 최신 버전인 CircuitPython 7.2.0 버전을 다운로드 받았습니다.
다음 Raspberry Pi Pico 보드의 BOOT SEL버튼을 누른 후 USB 케이블을 연결하면 윈도우 PC에 RPI-RP2의 새로운 드라이브가 인식됩니다.
이 드라이브에 다운로드한 adafruit-circuitpython-raspberry_pi_pico-en_US-7.2.0.uf2 파일을 복사해 줍니다.
복사가 완료되면 Raspberry Pi Pico 보드가 자동으로 재부팅이 된 후 아래와 같은 CIRCUITPY 이름의 드라이브로 인식됩니다.
다음은 Thonny를 다운로드합니다.
Python 개발용 IDE인데 CircuitPython을 지원하여 쉽게 업로드 및 출력 메시지를 확인할 수 있습니다.
실행해 보면 아래와 같이 Shell창에 "Adafruit CircuitPython 7.2.0 on 2022-02-24; Raspberry Pi Pico with rp2040" 로그가 보입니다. 제 경우 이미 환경이 설정되어 나타나는데 혹시 아래 메시지가 안 나와도 상관없으니 무시하시고 아래 다음 내용대로 설정하시면 됩니다.
CircuitPython 환경에서 개발하기 위해서는 Thonny의 오른쪽 아래의 Configure Interpreter를 클릭해 줍니다.
Interpreter에 CircuitPython을 선택하고, 아래 Raspberry Pi Pico로 인식된 COM 포트를 선택합니다.
설정이 완료되었습니다.
한 가지 덧붙이자면 위 이미지의 OK 버튼 위에 'Install or update firmware'라고 적혀져 있는 부분이 있습니다.
이를 이용하여 여러 가지 인터프리터를 설치할 수 있습니다. 인터프리터를 CircuitPython을 선택 후 클릭해 봅니다.
아래 그림과 같은 창이 나오는데 BOOTSEL 버튼을 누른 상태에서 USB 케이블을 연결해 봅니다.
그러면 Target device location/Target device model에 Raspberry Pi RP2로 인식된 드라이브가 보여지는데 이때 Install 버튼을 클릭하여 설치를 시도해 봅니다.
그런데 download url이 변경이 돼서 그런지 설치가 되지 않고 제가 이 게시글 맨 위에서 설명드린 CircuitPython 홈페이지에서 다운로드 받아서 설치하라는 팝업창이 나옵니다.
MicroPython의 경우는 정상적으로 설치가 되는데 CircuitPython의 경우는 설치가 되지 않았습니다.
CircuitPython 설정이 완료되면 아래 코드를 새 파일로 작성합니다.
"""Example for Pico. Blinks the built-in LED."""
import time
import board
import digitalio
led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT
while True:
led.value = True
time.sleep(0.5)
led.value = False
time.sleep(0.5)
File -> Save를 하면 어디에 저장할 것인지를 묻는 창이 나옵니다.
CircuitPython device를 선택 후 code.py 이름으로 저장합니다.
Raspberry Pi Pico가 부팅시 이 code.py를 읽어 들여 프로그램을 실행하는 구조 동작되기 때문에 새로운 코드는 code.py에 저장되어져야 합니다. 만약 기존 소스를 백업하고 싶다면 기존 code.py를 다른 이름으로 복사 또는 다른 이름으로 변경 후 새로 작성된 파일을 code.py로 저장하면 됩니다.
저장이 되면 자동적으로 재부팅이 되어져 새로 저장된 code.py가 적용됩니다.
Raspberry Pi Pico(W5100S-EVB-Pico) 보드의 LED가 0.5초 간격으로 ON/OFF를 반복 동작됩니다.
Raspberry Pi Pico의 가장 기본적인 LED On/Off 동작을 확인해 보았으며 대략적으로 Raspberry Pi Pico가 어떤 식으로 동작되는지 알아보았습니다.
'Hardware > Raspberry PI' 카테고리의 다른 글
Raspberry Pi Pico (W5100S-EVB-Pico) ADC 사용하기 (0) | 2022.03.18 |
---|---|
Raspberry Pi Pico (W5100S-EVB-Pico) GPIO 사용하기 (0) | 2022.03.17 |
W5100S-EVB-Pico 살펴보기 (2) | 2022.02.23 |
[라즈베리파이 3B+] Application Launch Bar에 단축아이콘 등록 (0) | 2021.05.22 |
[라즈베리파이 3B+] 카메라 사용하기(Pi Camera Board v1.3) (2) | 2021.05.21 |
댓글