본문 바로가기

RaspberryPi/RaspberryPi PicoW

(14)
Raspberry Pi PicoW - TFT LCD 출력 테스트(그래프 출력) Raspberry Pi Pico 확장 테스트 보드를 이용하면 20핀 표준 핀맵에서 TFT LCD보드 제어를 할 수 있다. 확장보드의 표준 핀맵은 아래와 같이 구성 하였다. 소스코드는 https://github.com/adafruit/TFTLCD-Library 를 참고 수정해서 사용 했다. 초기화 부분과 데이터 출력 부분은 아래와 같이 수정 했다. #define PORTA(sio_hw->gpio_out) #define GPIO00 #define GPIO11 #define LCD_XLINE_SIZE240 #define LCD_YLINE_SIZE400 #define LCD_LAT_BIT26 #define LCD_LAT_PORT #define LCD_LAT_ON()sbi(LCD_LAT_PORT, LCD_LAT_..
Raspberry Pi PicoW - HDMI 출력 테스트 Raspberry Pi Pico는 정말 저렴하고 성능도 나쁘지 않은 소형 마이크로컨트롤러 이다. 비디오 출력 인터페이스가 내장되어 있지는 않지만 HDMI 비디오 출력을 추가할 수 있다. 정말 못하는것이 없는 물건인것 같다. 하드웨어 HDMI 기능은 없지만 Raspberry Pi Pico의 PIO 기능을 이용해서 고속의 출력제어를 할수 있다. Luke Wren 라는 분이 라이브러리로 잘 만들어서 배포하고 있다. 물론 RAM용량과 속도의 한계로 제한 사항이 있다. STM32F439 EVM - HDMI 출력 테스트 에서 처럼 고해상도 고프레임 출력은 기대 하기 힘들다. 16비트 RGB 출력을 한다면 320x240 정도의 출력 수준으로 생각하면 좋을것 같다. 간단한 문구 출력이나. 해상도가 낮은 HDMI모니터에..
Raspberry Pi PicoW - BLE Serial Profile 서비스 테스트 BLE는 Classic Bluetooth SPP와 같은 시리얼 서비스가 제공되지 않는다. 대신 BLE UART Custom 서비스로 구현해야 한다. Pi PicoW BLE Custom Profile 테스트 코드를 이용해서 간단히 BLE UART로 송수신 하는 테스트 코드를 작성해 보자. 참고로 Nordic UART 테스트 코드에서 서비스 UUID를 사용 하였다. #include #include #define SerialSerial1 #define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E" // UART service UUID #define CHARACTERISTIC_UUID_RX "6E400002-B5A3-F393-E0A9-E50E24DCCA9E" #de..
Raspberry Pi PicoW - BLE Custom Profile 서비스 테스트 Raspverry Pi Pico W의는 Bluetooth Classic 및 BLE(Bluetooth Low Energy) 기능을 지원한다. BLE 기능을 테스트 해보자. Pico W의 BLE 설정 테스트를 참고 하여 코드를 작성할 수 있다. 가장 간단하게 테스트 해 볼수 있는 BLE Custom Profile로 데이터를 송수신 하는 코드를 작성하자. #include #include static char characteristic_data = 'H'; //BLE 연결 콜백 함수 void deviceConnectedCallback(BLEStatus status, BLEDevice *device) { (void) device; switch (status) { case BLE_STATUS_OK: Serial.p..
Raspberry Pi Pico W - Bluetooth BT Serial SPP 테스트 Raspberry Pi Pico W Bluetooth 는 BLE 및 Classic Bluetooth 기능를 제공하고 시리얼 기능이 있는 SPP를 테스트 해보자. SPP는 기존 시리얼 통신 프로그램 기반 프로그램을 별다른 변경없이 무선으로 바꿀수 있다. 테스트 코드는 시리얼 포트로 송수신되는 데이터를 Bluetooth SPP로 주고 받을 수 있는 간단한 코드 이다. #include #define SerialDebug Serial1 void setup() { SerialBT.begin(); SerialDebug.begin(115200); SerialDebug.println("Pico W BT Serial Test."); pinMode(LED_BUILTIN,OUTPUT); } void loop() { byte..
Raspberry Pi PicoW - Bluetooth 설정 테스트 (BT Keyboard) Raspverry Pi Pico W의 무선 기능은 Infineon CYW43439를 사용한다. 이 장치에는 802.11n Wi-Fi와 Bluetooth 5.2를 모두 제공하는 2.4GHz 무선 장치가 포함되어 있으며 Bluetooth Classic 및 BLE(Bluetooth Low Energy) 기능을 지원한다. 기존에는 Bluetooth가 아닌 Wi-Fi만 지원했는데 이제 BLE를 지원 한다고 한다. C SDK 버전 1.5.1 과 최신 MicroPython 에서 Pico W가 Bluetooth 및 Bluetooth LE 장치를 사용할수 있다. 특히 ACL/SCO를 일시적으로 제외하고 BLE Central 및 Peripheral 역할과 함께 Bluetooth Classic을 지원한다고 한다. 우선 Pi..
Raspberry Pi PicoW - LittleFS를 사용한 웹서버 기존에 테스트 했던 웹서버는 저장소가 없이 소스코드 내에서 웹페이지의 정보를 전송 했는데 복잡한 웹페이지나 이미지가 많이 들어가는 웹페이지는 다루기가 어렵다. 그래서 파일 시스템(LittleFS)에 웹페이지 관련 파일들을 저장 해 두고 처리하면 상당히 편리 하다. 특히 웹페이지를 자주 바꾸어서 테스트 해야 하는 테스트에서는 파일시스템 내용만 바꾸면 되기 때문에 정말 빠르고 편리하게 개발 할 수 있다. ESP32 SPIFFS 웹서버 예제를 참고 해서 Pi Pico에서 제공하는 LittleFS로 웹서버를 구현하는 코드를 작성해 보자 #include #include #include #include #define _FS LittleFS #ifndef STASSID #define STASSID "****" #de..
Raspberry Pi PicoW - Ajax 를 이용한 실시간 웹 전압 디스플레이 ESP32-S2 웹서버 테스트 - Ajax 를 이용한 실시간 데이터 수신 테스트 코드를 이용하여 실시간 웹 디스플레이 테스트를 해보자. 코드는 거의 동일하게 구동된다. Pi Pico 확장 테스트 보드에는 ADC를 테스트 할 수 있는 가변저항(VR8)이 RP2040의 A0(GP26)에 할당되어 있다. 가변저항을 돌리면 전압변화가 생기고 이 전압을 웹페이지에 출력하는 코드를 작성해 보자. #include #include #include #ifndef STASSID #define STASSID "****" #define STAPSK "****" #endif const char* ssid = STASSID; const char* password = STAPSK; WebServer server(80); // HT..