본문 바로가기

전체 글

(1955)
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..
nRF52832 SSM - Dhrystone, Whetstone, IIR Benchmark 성능 테스트 nRF52832는 64Mhz로 동작하고 FPU를 탑제한 Cortex-M4 코어 MCU이다. MCU의 성능 측정을 위해 밴치마크 테스트를 해 보았다. MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. 벤치마크 테스트결과 BLE 기능이 있는 ESP32 벤치마크 테스트 와 비교 해보면 클럭이 낮아 그런지 정수연산은 느리지만 FPU 성..
nRF52832 SSM - Arduino 만들기 (Adafruit nRF52) nRF52832 SSM 보드는 사용자가 쉽게 프로그램을 작성하고 수정할 수 있어야 하는 것이 큰 미션중에 하나이기 때문에 Arduino 환경에서 구동이 되어야 할것 같다. (Arduino에서만 개발이 가능하다고 한다.) 아무튼 nRF52를 지원하는 Arduino Board 파일은 몇가지 존재 하는데 그중에 가장 많이 사용하고 예제도 풍부한 Adafruit nRF52 Board 파일을 사용하기로 결정 Arduino Board 파일을 설치 https://github.com/adafruit/Adafruit_nRF52_Arduino https://adafruit.github.io/arduino-board-index/package_adafruit_index.json Adafruit nRF52 보드를 선택해도 되지..
nRF52832 SSM - BLE HTS 테스트 (IAR) nRF52832로 BLE관련 한가지더 테스트를 해 보자. 많이 사용하는 온도 전송 서비스(HTS)를 테스트하는 코드가 있다. 코드는 전형적인 BLE GATT 예제이다. int main(void) { bool erase_bonds; // Initialize. log_init(); timers_init(); buttons_leds_init(&erase_bonds); power_management_init(); ble_stack_init(); gap_params_init(); gatt_init(); advertising_init(); services_init(); sensor_simulator_init(); conn_params_init(); peer_manager_init(); // Start executi..
nRF52832 SSM - BLE UART 테스트 (IAR) 빠른 테스트를 위해 기존에 사용했던 BLE UART예제를 구동 했는데 기존 코드가 정상 동작을 하지 않는다. 옛날 버전이라 그런가? 최신 버전을 다운로드 해서 테스트 해 보자. 노르딕사에서 제공하는 최신 SDK, Softdevice 를 다운로드 해서 테스트 해 보았다. 컴파일 에러가 발생한다. nRF5x 시리즈는 버전의 호환성이 너무 떨어져 새로운 버전을 사용할때마다 한번에 진행 되는 것이 없는것 같다. 계속 문제가 생기네.. 소프트 디바이스도 버전에 따라 용량설정과 헤더 파일을 다 꿔줘야 하는(?) 일을 해 주어야 하고... nRF52832로 꼭 진행 해야 한다고 하니... 어쩔수는 없다. 구글링 결과 컴파일러의 라이센스 문제라고 한다. https://www.nordicsemi.com/Products/..
nRF52832 SSM EVM 보드 제작 nRF52832 를 이용해서 진행 예정이 프로젝트를 테스트 하기 위해 SSM Type EVM 형태의 테스트 보드를 제작 했다.
Raspberry Pi PicoW - LittleFS를 사용한 웹서버 기존에 테스트 했던 웹서버는 저장소가 없이 소스코드 내에서 웹페이지의 정보를 전송 했는데 복잡한 웹페이지나 이미지가 많이 들어가는 웹페이지는 다루기가 어렵다. 그래서 파일 시스템(LittleFS)에 웹페이지 관련 파일들을 저장 해 두고 처리하면 상당히 편리 하다. 특히 웹페이지를 자주 바꾸어서 테스트 해야 하는 테스트에서는 파일시스템 내용만 바꾸면 되기 때문에 정말 빠르고 편리하게 개발 할 수 있다. ESP32 SPIFFS 웹서버 예제를 참고 해서 Pi Pico에서 제공하는 LittleFS로 웹서버를 구현하는 코드를 작성해 보자 #include #include #include #include #define _FS LittleFS #ifndef STASSID #define STASSID "****" #de..

반응형