Загружаем каталог…
Загружаем каталог…
앞선 글에서는 Raspberry Pi Pico 2 W를 Mac에 연결하고, BOOTSEL 모드와 USB Serial을 이용해 보드가 정상적으로 인식되는지 확인했다. 이번에는 실제로 Pico 2 W에서 Python 코드를 실행할 수 있도록 MicroPython 개발환경 을 구축해본다. 이번 글에서 구성할 개발환경은 다음과 같다. Mac │ │ USB ▼ Raspberry Pi Pico 2 W │ │ MicroPython Firmware ▼ Thonny IDE │ ▼ Python 코드 작성 및 실행 최종적으로 다음과 같은 코드를 Pico 2 W에서 실행하는 것이 목표다. print("Hello, Pico 2 W!") 1. Pico 2 W에서는 일반 Python이 아닌 MicroPython을 사용한다 Raspberry Pi 5에서는 Raspberry Pi OS 위에서 일반적인 Python을 실행할 수 있다. Raspberry Pi 5 ↓ Linux ↓ Python 3 반면 Pico 2 W는 Linux 운영체제를 사용하는 컴퓨터가 아니라 RP2350 기반 마이크로컨트롤러 보드 이다. 따라서 일반적인 Python 대신 마이크로컨트롤러용으로 만들어진 MicroPython 을 사용할 수 있다. Pico 2 W ↓ RP2350 ↓ MicroPython Firmware ↓ Python 코드 MicroPython은 Python 3 문법을 기반으로 하면서 GPIO, ADC, PWM, I2C, SPI 등의 하드웨어를 직접 제어할 수 있도록 만들어진 구현체이다. Raspberry Pi 공식 문서에서는 MicroPython이 Pico와 같은 임베디드 하드웨어에서 직접 실행되며 USB Serial을 통한 REPL과 자체 파일 시스템을 제공한다고 설명한다. 2. 필요한 것 이번 개발환경 구축에는 다음이 필요하다. Raspberry Pi Pico 2 W 데이터 통신이 가능한 Micro USB 케이블 Mac MicroPython UF2 Firmware Thonny IDE 특히 USB 케이블은 충전 전용 케이블이 아니라 데이터 통신이 가능한 케이블 이어야 한다. 3. MicroPython Firmware 다운로드 먼저 Pico 2 W에서 실행할 MicroPython Firmware를 준비한다. 반드시 자신의 보드에 맞는 Firmware를 사용해야 한다. 이번에 사용하는 보드는 Raspberry Pi Pico 2 W 이므로 Pico 2 W용 MicroPython Firmware 를 받아야 한다. MicroPython 공식 다운로드 페이지에는 Pico 2 W용 펌웨어가 별도로 제공된다. 2026년 10월 기준 최신 안정 버전은 MicroPython v1.29.0 이다. 다운로드하는 파일의 확장자는 .uf2 이다. 예를 들면 다음과 같은 형태다. RPI_PICO2_W-XXXXXXXX-v1.29.0.uf2 버전에 따라 실제 파일 이름은 달라질 수 있다. 항상 Pico 2 W용 최신 안정 Release를 사용하는 것을 권장한다. 개발 중인 Preview Build는 특별한 이유가 없다면 처음 사용하는 단계에서는 피하는 것이 좋다. 4. Pico 2 W를 BOOTSEL 모드로 진입시키기 MicroPython Firmware를 설치하려면 Pico 2 W를 BOOTSEL 모드 로 진입시킨다. 먼저 Pico의 USB 케이블을 분리한다. 그다음 다음 순서로 진행한다. 1. BOOTSEL 버튼 누르기 ↓ 2. BOOTSEL을 누른 상태에서 USB 연결 ↓ 3. Mac이 Pico를 인식할 때까지 잠시 기다리기 ↓ 4. BOOTSEL 버튼 놓기 정상적으로 진입했다면 macOS Finder에 새로운 USB 드라이브가 나타난다. Pico 2 계열은 일반적으로 RP2350 이라는 이름으로 표시된다. Raspberry Pi 공식 문서에서도 Pico 2 계열은 BOOTSEL 모드에서 RP2350 Mass Storage Device로 나타난다고 설명한다. 5. MicroPython UF2 설치 Finder에서 RP2350 드라이브를 연다. 앞서 다운로드한 .uf2 파일을 RP2350 드라이브 안으로 복사한다. MicroPython UF2 │ │ 복사 ▼ RP2350 파일 복사가 끝나면 Pico 2 W가 자동으로 재부팅된다. 이 과정에서 Finder의 RP2350 드라이브가 갑자기 사라질 수 있다. 이것은 오류가 아니라 정상적인 동작 이다. UF2 복사 ↓ Firmware 기록 ↓ Pico 자동 재부팅 ↓ MicroPython 실행 ↓ RP2350 드라이브 사라짐 즉, 이후 일반적인 MicroPython 실행 상태에서는 RP2350 드라이브가 Finder에 보이지 않아도 정상이다. 6. Thonny IDE 설치 MicroPython 코드를 작성하는 방법은 여러 가지가 있지만 처음 Pico를 사용할 때는 Thonny IDE 가 가장 간단하다. Thonny는 Python 및 MicroPython 개발을 위한 가벼운 IDE이며 macOS에서도 사용할 수 있다. Raspberry Pi의 Pico-series Python SDK에서도 Pico의 MicroPython 개발환경으로 Thonny를 사용하는 방법을 공식적으로 설명하고 있다. 설치 후 Thonny를 실행한다. 7. Pico 2 W를 Mac에 연결 이번에는 BOOTSEL 버튼을 누르지 않는다. 그냥 USB 케이블을 연결한다. Mac │ │ USB ▼ Pico 2 W MicroPython Firmware가 정상적으로 설치되어 있다면 Pico는 USB Serial 장치로 인식된다. 8. Mac Terminal에서 Pico 연결 확인 Thonny를 설정하기 전에 Mac에서 Pico가 Serial 장치로 잡혔는지 확인할 수 있다. Terminal을 실행한다. 다음 명령어를 입력한다. ls /dev/cu.usbmodem* 정상적으로 연결되어 있다면 예를 들어 다음과 같이 표시될 수 있다. /dev/cu.usbmodem1101 또는 /dev/cu.usbmodem101 숫자는 Mac과 연결 상태에 따라 달라질 수 있으므로 똑같지 않아도 된다. 장치가 여러 개 있어서 헷갈린다면 Pico 연결 전후를 비교한다. Pico 연결 전: ls /dev/cu.* Pico 연결 후: ls /dev/cu.* 새로 추가된 /dev/cu.usbmodemXXXX 장치가 Pico일 가능성이 높다. 9. Thonny에서 MicroPython Interpreter 선택 Thonny를 실행한 뒤 Pico에서 코드를 실행하도록 Interpreter를 변경해야 한다. 기본 상태에서는 Mac에 설치된 일반 Python이 선택되어 있을 수 있다. 예를 들어 Python 3.x 처럼 되어 있다면 코드는 Pico가 아니라 Mac에서 실행된다. 따라서 Interpreter를 MicroPython으로 변경한다. Thonny 하단의 Interpreter 표시 부분을 클릭하거나 Tools → Options → Interpreter 로 이동한다. Interpreter에서 Raspberry Pi Pico용 MicroPython을 선택한다. 환경과 Thonny 버전에 따라 메뉴 이름이 조금 다를 수 있지만 핵심은 MicroPython + Raspberry Pi Pico 계열 Interpreter를 선택하는 것이다. Raspberry Pi 공식 Pico Python SDK에서도 Thonny에서 기존 Python Interpreter를 Pico용 MicroPython Interpreter로 변경하도록 안내한다. 10. Pico의 Serial Port 선택 Interpreter 아래에서 사용할 포트도 설정할 수 있다. 예를 들어 Mac에서 Pico가 /dev/cu.usbmodem1101 으로 인식되었다면 해당 포트를 선택한다. 보통은 Thonny가 자동으로 Pico를 찾아준다. 자동으로 선택되지 않는다면 앞서 Terminal에서 확인했던 /dev/cu.usbmodemXXXX 를 지정하면 된다. 설정을 완료한다. 11. MicroPython REPL 확인 Pico와 정상적으로 연결되었다면 Thonny 아래쪽의 Shell 창에서 다음과 같은 표시를 확인할 수 있다. >>> 이것을 REPL 이라고 한다. REPL은 Read Evaluate Print Loop 의 약자다. 쉽게 말하면 MicroPython 명령어를 한 줄씩 바로 입력하고 결과를 확인할 수 있는 환경이다. 예를 들어 Shell에 print("Hello, Pico 2 W!") 를 입력한다. 결과: Hello, Pico 2 W! 다시 >>> 가 표시되면 MicroPython이 정상적으로 동작하고 있는 것이다. 12. 현재 MicroPython 정보 확인 REPL에서 다음 코드를 입력한다. import sys print(sys.implementation) MicroPython 구현 정보와 버전을 확인할 수 있다. 좀 더 간단히 보드 정보를 확인하고 싶다면 import sys print(sys.implementation._machine) 을 실행한다. Pico 2 W용 MicroPython Firmware를 정상적으로 설치했다면 출력에서 Pico 2 W 또는 RP2350과 관련된 정보를 확인할 수 있다. MicroPython 버전이나 Firmware에 따라 출력 형식은 조금 달라질 수 있다. 13. 첫 번째 Python 파일 작성 이번에는 REPL이 아니라 실제 Python 파일을 만들어본다. Thonny 편집기에 다음 코드를 작성한다. print("Hello, Pico 2 W!") print("MicroPython is running!") 상단의 실행 버튼을 누른다. 또는 일반적으로 F5 키를 이용해 실행할 수 있다. Shell에 다음과 같이 출력되면 성공이다. Hello, Pico 2 W! MicroPython is running! 14. 코드를 Mac에 저장하는 것과 Pico에 저장하는 것은 다르다 Thonny에서 파일을 저장하면 저장 위치를 선택할 수 있다. 대표적으로 This computer 와 Raspberry Pi Pico 가 있다. 둘은 완전히 다른 위치다. This computer ↓ Mac 저장공간 Raspberry Pi Pico ↓ Pico 내부 Flash 저장공간 따라서 개발하면서 이 둘을 구분해야 한다. 예를 들어 Mac에 프로젝트 원본을 보관하고 싶다면 This computer 에 저장한다. Pico 자체에서 코드를 실행하고 싶다면 필요한 파일을 Raspberry Pi Pico 에 저장한다. 15. main.py 가 중요한 이유 MicroPython에서는 Pico가 시작될 때 특정 파일을 자동으로 실행할 수 있다. 가장 중요한 파일이 main.py 이다. 예를 들어 Pico 내부에 다음 파일을 저장했다고 하자. # main.py print("Pico 2 W started!") USB 전원을 분리했다가 다시 연결하면 MicroPython이 시작되면서 main.py 가 실행된다. Pico 전원 ON ↓ MicroPython 시작 ↓ main.py 확인 ↓ main.py 자동 실행 따라서 나중에 센서 측정이나 Wi-Fi 연결 프로그램을 자동으로 시작하고 싶다면 최종 프로그램을 main.py 로 구성할 수 있다. 16. boot.py 와 main.py MicroPython 프로젝트에서는 다음 두 파일을 자주 볼 수 있다. boot.py main.py 일반적인 실행 순서는 다음과 같다. Pico 부팅 ↓ boot.py ↓ main.py boot.py 는 부팅 과정의 초기 설정에 사용하고, main.py 는 실제 애플리케이션 프로그램을 실행하는 데 주로 사용한다. 처음 MicroPython을 공부할 때는 boot.py 를 굳이 수정하지 않고 main.py 위주로 개발하는 것이 좋다. 17. 실행 중인 프로그램 중단 프로그램이 무한 루프에 들어가 있다면 Thonny Shell에서 Ctrl + C 를 누른다. 예를 들어 다음 코드가 실행 중이라고 하자. while True: print("Running...") 계속해서 Running... Running... Running... Running... 이 출력된다. 이때 Ctrl + C 를 누르면 실행이 중단되고 >>> REPL로 돌아온다. 18. Soft Reset MicroPython REPL에서 Ctrl + D 를 사용하면 Soft Reset 을 수행할 수 있다. 정리하면 Ctrl + C → 현재 실행 중인 프로그램 중단 Ctrl + D → MicroPython Soft Reset 이다. Raspberry Pi Linux에서 사용하는 sudo reboot 와는 다른 개념이다. 19. Thonny 없이 Mac Terminal에서 직접 연결할 수도 있다 Thonny가 반드시 필요한 것은 아니다. Mac Terminal에서도 Pico의 MicroPython REPL에 접속할 수 있다. 먼저 포트를 확인한다. ls /dev/cu.usbmodem* 예: /dev/cu.usbmodem1101 그다음 다음과 같이 접속한다. screen /dev/cu.usbmodem1101 115200 연결 후 >>> 가 나타나면 MicroPython REPL에 들어온 것이다. 테스트: print("Hello from Terminal!") 결과: Hello from Terminal! 초기 개발 단계에서는 Thonny가 훨씬 편하지만, 나중에 Terminal이나 VS Code 중심의 개발환경으로 넘어갈 때 USB Serial의 구조를 이해하는 데 도움이 된다. 20. Terminal의 screen 종료 Mac Terminal에서 screen /dev/cu.usbmodem1101 115200 으로 연결한 경우 단순히 exit 을 입력하는 것이 아니다. 다음 순서로 종료한다. Ctrl + A 그다음 K 를 누른다. 확인 메시지가 나타나면 y 를 입력한다. 즉, Ctrl + A → K → y 순서로 종료하면 된다. 21. Pico 2 W에는 sudo poweroff 를 사용하지 않는다 일반 Raspberry Pi와 Pico를 같이 사용하다 보면 종료 방법이 헷갈릴 수 있다. Raspberry Pi 5에서는 sudo poweroff 를 이용해 Linux를 정상적으로 종료한다. 하지만 Pico 2 W에는 Linux가 없기 때문에 sudo poweroff 명령도 존재하지 않는다. MicroPython 프로그램 실행을 끝내고 파일 쓰기나 Firmware 업데이트 작업이 진행 중이지 않다면 USB 전원을 분리할 수 있다. 일반적인 개발 종료 흐름은 다음과 같다. Ctrl + C ↓ 프로그램 중단 ↓ 파일 저장 완료 확인 ↓ Thonny / Serial 연결 종료 ↓ USB 분리 특히 UF2 Firmware를 기록하거나 파일을 Pico 내부 Flash에 저장하고 있는 도중에는 USB 케이블을 분리하지 않는 것이 좋다. 22. 개발환경이 정상인지 최종 확인 지금까지 설정한 환경이 정상적으로 작동하는지 한 번에 확인해본다. Thonny에서 다음 코드를 실행한다. import sys print("Hello, Pico 2 W!") print() print("MicroPython information:") print(sys.implementation) print() print("Machine:") print(sys.implementation._machine) 정상적으로 출력된다면 Mac ↓ USB ↓ Pico 2 W ↓ MicroPython ↓ Thonny ↓ Python 코드 실행 까지 전체 개발환경이 정상적으로 구성된 것이다. 23. 개발환경 구조 이해하기 전체 구조를 다시 정리하면 다음과 같다. ┌──────────────────────────┐ │ Mac │ │ │ │ Thonny IDE │ │ │ │ └──────────┼───────────────┘ │ │ USB Serial ▼ ┌──────────────────────────┐ │ Raspberry Pi Pico 2 W │ │ │ │ MicroPython │ │ │ │ │ RP2350 │ │ │ │ │ GPIO / ADC / PWM ... │ └──────────────────────────┘ 여기서 중요한 것은 Python 코드가 Mac에서 실행되는 것이 아니라 Pico 내부의 MicroPython에서 실행될 수 있다는 것 이다. Thonny는 그 코드를 작성하고 Pico에 전달하는 개발도구 역할을 한다. 24. Raspberry Pi 5와 비교 앞으로 Raspberry Pi 5와 Pico 2 W를 함께 사용한다면 다음 차이를 확실히 이해하는 것이 좋다. 항목 Raspberry Pi 5 Pico 2 W 종류 Single Board Computer Microcontroller Board 운영체제 Raspberry Pi OS / Linux MicroPython Firmware 프로세서 Application Processor RP2350 MCU 개발 접속 SSH USB Serial Python Python 3 MicroPython 터미널 Linux Shell MicroPython REPL 파일 시스템 Linux 파일 시스템 MicroPython Flash 파일 시스템 부팅 프로그램 Linux 서비스 등 boot.py , main.py 종료 sudo poweroff 별도 OS 종료 없음 주 용도 데이터 처리, 서버, AI 등 GPIO, 센서, 실시간 하드웨어 제어 25. 자주 발생하는 문제 Pico가 Thonny에서 인식되지 않는 경우 먼저 Terminal에서 확인한다. ls /dev/cu.usbmodem* 아무것도 나오지 않는다면 다음을 확인한다. USB 데이터 케이블인지 확인 ↓ 다른 USB 포트 사용 ↓ MicroPython Firmware 설치 확인 ↓ Pico 재연결 RP2350 드라이브가 보이지 않는 경우 BOOTSEL 버튼을 누른 상태에서 USB를 연결했는지 확인한다. USB 분리 ↓ BOOTSEL 누르기 ↓ USB 연결 ↓ BOOTSEL 놓기 Firmware 설치 후 RP2350 이 사라진 경우 정상이다. UF2 설치 후 Pico가 자동으로 재부팅하면서 USB Mass Storage 모드에서 MicroPython 실행 모드로 변경된다. 코드가 Pico가 아니라 Mac에서 실행되는 경우 Thonny의 Interpreter를 확인한다. 일반 Python 이 아니라 MicroPython (Raspberry Pi Pico 계열) 이 선택되어 있어야 한다. 프로그램을 멈출 수 없는 경우 Shell에서 Ctrl + C 를 사용한다. 그래도 문제가 있다면 Pico를 다시 연결하거나 Soft Reset을 시도할 수 있다. Ctrl + D 26. 처음 개발할 때의 기본 루틴 앞으로 Pico 2 W를 사용할 때 기본적인 개발 과정은 다음과 같다. 1. Pico 2 W USB 연결 ↓ 2. Thonny 실행 ↓ 3. MicroPython Interpreter 연결 확인 ↓ 4. Python 코드 작성 ↓ 5. 실행 ↓ 6. 결과 확인 ↓ 7. 수정 ↓ 8. 다시 실행 ↓ 9. 완성된 코드를 Pico에 저장 이를 반복하면서 GPIO, 센서, 통신 기능 등을 하나씩 추가하게 된다. 27. 꼭 기억해야 할 핵심 MicroPython Firmware 설치: BOOTSEL → USB 연결 → RP2350 → Pico 2 W용 UF2 복사 → 자동 재부팅 USB Serial 확인: ls /dev/cu.usbmodem* MicroPython 정보 확인: import sys print(sys.implementation) 보드 정보 확인: print(sys.implementation._machine) 프로그램 중단: Ctrl + C Soft Reset: Ctrl + D Pico 부팅 시 자동 실행할 프로그램: main.py 28. 정리 이번 단계에서 구축한 환경은 다음과 같다. Mac ↓ Thonny ↓ USB Serial ↓ MicroPython ↓ Raspberry Pi Pico 2 W ↓ RP2350 이제 Pico 2 W에서 MicroPython 코드를 직접 작성하고 실행할 수 있게 되었다. 하지만 아직 Pico의 가장 중요한 기능인 GPIO를 직접 제어하지는 않았다. 다음 단계에서는 Pico 2 W의 GPIO 구조를 간단히 알아보고, 가장 기본적인 하드웨어 제어 실습인 내장 LED Blink 부터 시작한다. 다음 글 → 04. Pico 2 W GPIO와 내장 LED 제어 참고 Raspberry Pi MicroPython 공식 문서 Micro
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
03. Raspberry Pi Pico 2 W MicroPython 개발환경 구축. 앞선 글에서는 Raspberry Pi Pico 2 W를 Mac에 연결하고, BOOTSEL 모드와 USB Serial을 이용해 보드가 정상적으로 인식되는지 확인했다. 이번에는 실제로 Pico 2 W에서 Python 코드를 실행할 수 있도록 MicroPython 개발환경 을 구축해본다. 이번 글에서 구성할 개발환경은 다음과 같다. Mac │ │ USB ▼ Raspberry Pi Pico 2 W │ │ MicroPython Firmware ▼ Thonny IDE │ ▼ Python 코드 작성 및 실행 최종적으로 다음과 같은 코드를 Pico 2 W에서 실행하는 것이 목표다. print("Hello, Pico 2 W!") 1.…
Открыть источник