우리의 평결
이제 Pico에 Wi-Fi를 추가하는 것이 훨씬 쉬워졌습니다. 소프트웨어는 약간의 작업이 필요하지만 하드웨어는 견고합니다.
을위한
+ 간단한 연결
+ 컴팩트
+ CircuitPython 지원
에 맞서
– MicroPython 라이브러리는 약간의 작업이 필요합니다.
– 모든 GPIO 핀에 대한 액세스 차단
Raspberry Pi Pico에는 두 가지 핵심 사항이 빠져 있습니다. 첫 번째는 재설정 버튼으로 DIY 해킹으로 쉽게 수정하거나 더 영구적인 것을 구입할 수 있습니다. 두 번째는 무선 통신, 즉 Wi-Fi 및 Bluetooth입니다. Pimoroni의 Pico Wireless는 HAT 또는 실드처럼 작동하고 SPI 인터페이스를 통해 Wi-Fi 및 Micro SD 카드 판독기를 제공하는 $17(£12) 추가 기능 팩입니다.
Pico 무선 팩
직접 가격 £12($17 USD)
Pico에 Wi-Fi를 추가하는 것은 그리 어렵지 않습니다. Adafruit는 이미 Pico 및 Adafruit의 Feather RP2040 보드와 함께 작동하는 ESP32 기반 AirLift FeatherWing을 통해 이를 입증했습니다. Cytron의 Maker Pi Pico는 ESP8266도 지원합니다. 그러나 작고 사용하기 쉬운 Wi-Fi를 추가하는 것은 여전히 Pico 사용자에게 성배이며 Pimoroni의 Pico Wireless는 우리의 탐구의 끝을 볼 수 있었습니다.
Pimoroni Pico Wireless의 설계 및 사용
Pico Wireless는 Raspberry Pi Pico(및 Pimoroni의 Pico Lipo)의 모든 GPIO 핀에 연결하도록 설계된 팩입니다. 모든 GPIO 핀을 사용하지는 않지만 액세스를 방지합니다. “팩”으로 설계되었으므로 Raspberry Pi Pico의 설치 공간과 완벽하게 일치하며 연결하면 상당히 컴팩트한 프로젝트 플랫폼을 갖게 됩니다.
온보드 ESP32-WROOM-32E는 그 자체로 강력한 마이크로컨트롤러이지만 Pico Wireless의 경우 Adafruit의 AirLift FeatherWing과 거의 동일한 방식으로 보조 프로세서 역할로 강등됩니다. ESP32는 Wi-Fi 및 Bluetooth가 가능하지만 이 구성에서는 Wi-Fi만 사용할 수 있지만 유능한 해커는 추가 기능을 확실히 잠금 해제할 것입니다.
일부 GPIO 핀을 사용해야 하는 경우 Pico Omnibus와 같은 브레이크아웃이 필요하지만 연결된 장치에 충돌하는 핀이 없는지 확인해야 합니다. Pico Wireless의 전원은 Raspberry Pi Pico의 GPIO에서 제공하므로 보드에 전원을 공급하고 프로그래밍하기 위한 간단하고 실용적인 수단이 됩니다.
온보드 microSD 카드 슬롯(최고의 microSD 카드 참조)은 방 전체에서 micro SD 카드를 발사할 준비가 된 푸시 푸시 메커니즘입니다. 단일 푸시 버튼(A)은 기본 입력에 유용한 수단이며 GPIO 16에 연결됩니다. 유일한 출력은 RGB LED이며 기본 경고/오류 처리에 유용한 추가 기능입니다. ESP32 및 마이크로 SD 카드 리더기는 보드 밑면의 트랙을 절단하여 비활성화할 수 있습니다. 왜 이것을 하고 싶은지 알 수 없지만 트랙 사이의 브리지를 납땜하여 프로세스를 되돌릴 수 있습니다.
하드웨어는 소프트웨어 없이는 아무것도 아니며 Pico Wireless는 C++를 지원하며 Pimoroni는 보드와 함께 사용하도록 개발된 “picowireless” 모듈을 포함하는 자체 MicroPython 펌웨어를 보유하고 있습니다. 우리는 예제 스크립트를 통해 이 옵션을 테스트했으며 잘 작동했지만 매우 장황했고 네트워킹 작동 방식을 이해하는 사용자에게 의존했습니다.
추상화된 라이브러리가 작성되거나 네트워킹을 배울 때까지 Pico Wireless를 사용하는 가장 좋은 방법은 Adafruit의 CircuitPython 소프트웨어입니다. 우리는 Raspberry Pi Pico Wi-Fi 프로젝트에 전원을 공급한 것과 동일한 스크립트를 사용했으며 몇 줄만 변경하여 Pico에 ESP32가 연결된 위치를 알리고 몇 개의 라이브러리를 Pico에 복사하면 되었습니다. 우리는 순식간에 온라인 상태가 되었고 온라인 API에서 날씨 데이터를 수신했습니다. 온보드 마이크로 SD 카드 리더기를 활성화하는 추가 라이브러리로 코드를 수정했습니다. 빈 FAT32 형식의 카드를 삽입하고 CircuitPython 몇 줄을 작성하여 날씨 API에서 반환된 JSON 데이터의 로그를 보관하는 새 파일을 빠르게 만들었습니다. CircuitPython을 사용하여 SD에서 데이터를 읽고 프로젝트에서 사용할 수도 있습니다. RGB LED는 3개의 핀(빨간색 = 25, 녹색 = 26, 파란색 = 27)이고 이를 사용하려면 esp.set_analog_write()를 사용해야 합니다. 예를 들어 다음은 LED를 빨간색으로 설정하는 라인입니다.
0과 1 사이의 값을 사용하여 RGB LED의 색상을 제어할 수 있습니다.
마지막으로 GPIO 12에 연결된 푸시 버튼을 테스트했습니다. GPIO 12를 높게 설정하고 버튼을 누르면 핀이 GND에 연결되어 효과적으로 핀을 낮추고 코드에서 이벤트를 트리거합니다.
Pimoroni Pico Wireless 사용 사례
Raspberry Pi Pico의 Wi-Fi는 사물 인터넷(IoT) 애플리케이션의 완전히 새로운 세계를 엽니다. Pico Wireless를 사용하면 소박한 Raspberry Pi Pico가 일반적인 네트워크 프로토콜 및 MQTT와 같은 다른 프로토콜을 사용하는 장치와 통신할 수 있습니다. CircuitPython 라이브러리는 기본 HTTP를 지원하여 액세스 포인트와 소켓을 생성합니다. 데모에서는 API의 HTTP 응답을 확인하고 값을 REPL에 인쇄하여 연결 문제를 디버깅하는 데 유용합니다.
Pico Wireless는 데이터 모니터링 프로젝트에 추가하고, 센서에서 데이터를 수집하고, 마이크로 SD 카드에 데이터를 저장하고, 원격 시스템으로 데이터를 전송하는 데 이상적입니다. 기술이 있으면 Pico와 통신하기 위한 수단으로 다른 기계의 Anvil 또는 Flask와 같은 것을 사용하여 인터넷을 통한 로봇이 가능합니다.
결론
한 팩의 Pico Wireless는 Pico에 매우 간단하게 부착할 수 있지만 다른 구성 요소를 연결할 수는 없습니다. 이 문제는 Pico Omnibus와 같은 브레이크아웃 보드를 사용하거나 현명한 납땜을 통해 완화할 수 있습니다. 그럼에도 불구하고 Pico Wireless는 훌륭한 키트입니다. MicroPython 모듈이 몇 달 간의 피드백과 개선을 거치면 사용하기가 훨씬 쉬워집니다. 그때까지는 CircuitPython을 사용하는 것이 가장 좋습니다.