라즈베리 파이 피코 2 W 시작하기

Ari Mahpour
|  작성 날짜: 2025/02/28 금요일
라즈베리 파이 피코 2 W 시작하기

Raspberry Pi는 단일 보드 컴퓨터(SBC) 사용 방식을 혁명적으로 변화시켰다고 할 수 있습니다. 취미로 즐기는 사람들, 교육자, 엔지니어 모두에게 강력하면서도 저렴한 개발 플랫폼을 제공함으로써 접근성을 높였습니다. 일부는 Arduino가 마찬가지로 큰 역할을 했다고 주장할 수 있지만, 현실적으로 Arduino는 훨씬 낮은 수준에서 작동하며, 마이크로컨트롤러 기반 프로젝트를 위해 만들어진 것이지 전체 컴퓨팅을 위한 것은 아닙니다.

Raspberry Pi Pico 2 W가 바로 이 두 세계 사이에 위치합니다. 심각한 파워를 가진 마이크로컨트롤러로, 내장 무선 연결성과 엔지니어를 만족시킬 수 있는 충분한 주변 장치를 갖추고 있습니다. Pi 5처럼 전체 Linux OS를 실행하지는 않지만, 듀얼 코어 Cortex-M33 및 RISC-V 프로세서, Bluetooth 5.2, 그리고 일반적인 Arduino보다 훨씬 더 많은 RAM과 플래시 저장소를 제공함으로써, 임베디드 시스템, IoT 애플리케이션 등에 매우 유연한 선택지를 제공합니다.

이 글에서는 Raspberry Pi Pico 2 W를 시작하는 방법과 새로운 온보드 Bluetooth 기능을 보여주는 예제를 살펴볼 것입니다.

설정하기

시작하기 위해, 우리는 Raspberry Pi Pico 2 W에서 MicroPython을 사용할 것입니다. 먼저 Micropython 웹사이트에서 UF2 부트로더를 다운로드해야 합니다. 이제 Raspberry Pi Pico 2 W 장치의 BOOTSEL 버튼을 누른 상태로 컴퓨터에 연결하세요(마이크로USB 포트/케이블을 통해). 이렇게 하면 장치가 저장 장치(컴퓨터에 플래시 드라이브나 MicroSD 카드가 나타나는 것처럼)로 전환됩니다. 이제 UF2 파일을 Raspberry Pi Pico 2 W "저장" 장치에 복사한 다음, USB 케이블을 뽑고 다시 연결하세요. PuTTY나 TeraTerm과 같은 좋아하는 시리얼 터미널 장치를 사용하여 장치에 나타나는 COM 포트에 연결하면, MicroPython 셸 인터프리터를 만나게 될 것입니다:

Figure 1: MicroPython shell interpreter via serial communication over USB
그림 1: USB를 통한 직렬 통신을 통한 MicroPython 쉘 인터프리터

VSCode(Thonny 대신)와 LED Blinker 사용하기

MicroPython과 Raspberry Pi Pico 시작하기에서는 Thonny IDE를 사용하여 코드를 작성하고 Raspberry Pi Pico 2 W 장치에 로드했습니다. 코드 편집기와 확장 기능에 AI가 도입됨에 따라, 저는 Thonny 대신 VSCode를 사용하여 환경을 기본 설정하기로 결정했습니다. 가장 먼저 해야 할 중요한 일( VSCode 설치 외에)은 공식 Raspberry Pi Pico 확장 프로그램( Raspberry Pi에서 출판)을 설치하는 것입니다.

확장 프로그램이 설치되면, VSCode 창의 왼쪽에 작은 Raspberry Pi Pico 보드 아이콘이 나타납니다(다른 확장 프로그램이 있는 곳과 마찬가지로). 그 아이콘을 클릭한 다음 "General" 아래에 있는 "New MicroPython Project"로 이동합니다. 프로젝트에 이름과 경로를 지정하고 "Create"를 클릭합니다.

Get Ready for the Electronics Design Jobs You Want


Experience hands-on learning in PCB and hardware design with Altium's Student license, cloud access & comprehensive curriculum.

Figure 2: Creating a New Project
그림 2: 새 프로젝트 생성

새로운 편집기가 몇 개의 파일과 MicroPython 셸과 함께 열립니다. 그 파일 중 하나는 예제 LED 깜박임 Python 파일입니다. 그 blink.py 파일을 엽니다. 이 시점에서, Raspberry Pi Pico 2 W 장치가 연결되어 있는지 확인해야 합니다. VSCode 편집기의 맨 아래에서 작은 재생 버튼을 볼 수 있습니다.

Figure 3: The “Run” Button in VSCode
그림 3: VSCode에서의 “실행” 버튼

이것은 장치에 먼저 로딩함으로써 장치에서 직접 blink.py를 실행합니다. 이 시점에서, print 문과 LED가 깜박이는 것을 볼 수 있어야 합니다.

Figure 4: Terminal Output of LED Programming Running
그림 4: LED 프로그래밍 실행의 터미널 출력

실행 버튼은 코드 실행을 중지하는 중지 버튼으로 바뀝니다. LED가 깜박이는 것을 확인한 후, 이제 더 복잡한 예제로 넘어갈 준비가 되었습니다.

블루투스 근접 센서

이제 우리의 Raspberry Pi Pico 2 W가 MicroPython으로 작동하는 것을 확인했으니, 가장 흥미로운 새 기능 중 하나인 Bluetooth 5.2를 탐색해 보겠습니다. 이 예제는 Pico 장치를 근처 블루투스 장치(예: 스마트폰)를 감지하고 그 신호 강도(RSSI)를 결정할 수 있는 블루투스 근접 스캐너로 전환합니다. bluetooth_scan.py 스크립트는 두 가지 모드에서 작동합니다: 모든 근처 장치를 스캔하고 그들의 MAC 주소를 출력하는 Discovery Mode와, Pico가 특정 장치를 지속적으로 모니터링하며 가까운 범위에 있을 때 LED를 켜는 Track Mode입니다. 이 추적 모드는 실시간으로 특정 블루투스 장치를 감지하는 데 유용하지만, 일부 장치(예: Apple 장치)는 프라이버시 이유로 MAC 주소를 무작위로 변경합니다.

이를 위해 MicroPython의 Bluetooth API, 구체적으로 bluetooth.BLE()를 사용하여 Pico의 Bluetooth 인터페이스를 초기화합니다. 이 스크립트는 gap_scan()을 사용하여 Bluetooth Low Energy (BLE) 광고 패킷을 수신 대기하며, 주어진 기간 동안 반복적으로 스캔하고 이벤트 핸들러(bt_irq)를 통해 결과를 처리합니다. 이 이벤트 기반 접근 방식은 Pico가 새로운 장치를 감지할 때 즉시 반응할 수 있게 해줍니다(더 베어 메탈 접근 방식에서의 “인터럽트”를 생각해 보세요). 장치는 RSSI(Received Signal Strength Indicator, 수신 신호 강도 지시기)를 기반으로 필터링되며, 이는 근접성을 추정하는 데 도움이 됩니다. 가까운 장치는 일반적으로 더 강한 신호(더 높은 RSSI 값, 즉 덜 음수인 db 값)를 가지며, 더 먼 장치는 더 약한 신호(즉, 더 음수인 db 값)를 가집니다. 추적 모드는 감지된 MAC 주소를 미리 정의된 대상과 비교하고 일치하는 경우 기기의 내장 LED를 켭니다. 스캔 매개변수는 실시간 반응성과 CPU 효율성 사이의 균형을 맞추기 위해 신중하게 선택되어, Pico가 Bluetooth 신호를 지속적으로 모니터링하면서도 과부하되지 않도록 합니다.

Launch Your Career in Electronics Design


Gain the skills top employers look for. Start mastering PCB design with the Altium Student Lab today!

스크립트를 실행하려면, bluetooth_scan.py를 열고 실행 버튼을 클릭하기만 하면 됩니다(위에서 본 blink 예제와 마찬가지로) 주변 장치의 MAC 주소를 검색합니다. 

Figure 5: Running in “Discovery” Mode
그림 5: “발견” 모드에서 실행

그런 다음, 특정 MAC 주소로 스크립트를 업데이트하고 해당 장치가 범위 내에서 이동할 때 감지하도록 추적 모드로 전환합니다. 이는 스크립트 하단의 메인 함수에서 찾을 수 있습니다:

# 특정 장치를 추적하려면 (발견된 MAC 주소로 교체하세요)
# scanner = BLEScanner(mode="track", target_mac="aa:bb:cc:dd:ee:ff")

Figure 6: Running in “Tracking” Mode
그림 6: “추적” 모드에서 실행

스캐닝 매개변수는 다른 작업을 차단하지 않으면서 반응형 감지를 보장하도록 최적화되었습니다. 이는 라즈베리 파이 Pico 2 W에서 블루투스 스캐닝 및 이벤트 처리에 대한 훌륭한 소개입니다.

결론

라즈베리 파이 Pico 2 W는 내장된 무선 연결 기능의 힘과 마이크로컨트롤러의 유연성 사이에서 완벽한 균형을 이루며 임베디드 개발 세계에 흥미로운 추가입니다. MicroPython을 사용하여, LED를 깜박이는 것부터 내장된 블루투스 5.2 모듈을 활용하여 실시간 근접 감지에 이르기까지 실행에 들어가는 것이 얼마나 쉬운지 보았습니다. 우리가 구현한 블루투스 근접 스캐너는 BLE 스캐닝, 이벤트 기반 프로그래밍, 신호 강도 분석과 같은 기본 개념을 소개하며, 이렇게 최소한의 코드로 얼마나 많은 것을 달성할 수 있는지 보여줍니다.

Lay Out Your Track: Prepare for a Career in PCB Design


Develop the electronics design expertise that employers look for with Altium’s free Student Lab!

이것은 기본적인 예시에 불과했지만, Pico 2 W는 IoT 애플리케이션, 실시간 추적, 무선 자동화를 위한 새로운 가능성의 범위를 열어줍니다. BLE 주변 장치를 실험하는 취미생활자이든, 차세대 임베디드 시스템을 개발하는 엔지니어이든, 이 작은 장치는 작은 패키지 안에서 강력한 성능을 입증합니다. 그리고 이것은 시작에 불과합니다—아직 Wi-Fi, 저전력 최적화, 더 고급 BLE 상호작용을 탐색할 것이 많습니다. Raspberry Pi Pico 2 W는 작지만, 심각한 힘을 가지고 있습니다.

시작하는 데 필요한 모든 코드를 포함한 저장소를 보려면, https://gitlab.com/embedded-designs/micropython-bluetooth-example을 방문하세요.

작성자 정보

작성자 정보

Ari is an engineer with broad experience in designing, manufacturing, testing, and integrating electrical, mechanical, and software systems. He is passionate about bringing design, verification, and test engineers together to work as a cohesive unit.

관련 자료

관련 기술 문서

홈으로 돌아가기
Thank you, you are now subscribed to updates.
Altium Need Help?