본문 바로가기

분류 전체보기

(2038)
[ESP32-C6 SSM] BLE 5.3 테스트 - Web Bluetooth 테스트 ESP32C6의 BLE는 ESP32C3의 5.0에서 5.3으로 성능이 향상되었다고 한다. 그렇다면 테스트 해봐야지.. 우선 가장 기본이 된는 BLE UART를 ESP32C6에서 BLE를 테스트해 보자. 뭔가 달라진 것이 있을 까 했지만 예제 코드는 기존과 동일하다. 새로운 칩을 테스트 해 보는것이니 뭐라도 새로운 스터디를 할 수 있도록 해보자. 기존 코드에서 LED관련 GPIO만 수정해서 코드 작성하자.#include #include #include #include // LED 핀 정의#define LED_PIN1 14#define LED_PIN2 15// BLE Server 및 Characteristic 포인터 선언BLEServer *pServer = NU..
[ESP32-C6 SSM] ESP32C6 Deep Sleep Mode 테스트 ESP32C6 는 저전력 을 강조해서 선전하고 있는데 소모 전류 테스트를 해보자 우선 스펙을 확인하니 여전히 WiFi, BLE 모두 소모 전류가 상당히 크다. 아무래도 밧데리 구동 어플리케이션은 무리가 있어 보인다. 사용하지 않을때 슬립 모드로 들어가는 옵션을 사용하면 그나마 사용할 수 있을것 같다.Deep-Sleep Mode에서 7uA로 ESP32(https://nexp.tistory.com/3757)보다 좋아진것 같다. 하지만 ESP32C3(https://nexp.tistory.com/3755 )보다는 높은것 같다.ESP32C6 에서 Deep Sleep Mode에서 깨어나는 방법은 타이머 인터럽트나 LP_GPIO를 설정해서 깨어날 수 있다. 기존 ESP32에서는 RTC GPIO를 사용했는데 LP_GP..
[ESP32-C6 SSM] WiFi AP 모드 웹서버 테스트 ESP32는 AP(access point) 기능이 있고  스마트 폰, 노트북 등이 ESP32에 접속하여 기기를 제어 할 수 있다. 기존에 제작했던 프로젝트에서 ESP32의 AP 기능을 이용해서 핸드폰으로 원격지의 보드에 접속해서 간단한 설정이나 제어를 해야 하는 상황이 되었다.ESP32C6의 AP 모드를 테스트 해 보자. ESP32C6의 AP모드를 설정하고 AP가 검색되는 간단한 예제를 구동해 보자.#include #include const char *ssid = "ESP32-AP";const char *password = "123456789";#define LED_PIN 14#define Led1On() digitalWrite(LED_PIN, 0) #define Led..
[ESP32-C6 SSM] PIO(PlatformIO) 개발환경 설정 - Arduino Framework 설정하기 EPS32C6는 Arduino IDE환경에서는 지원이 되지만 PIO(PlatformIO) 환경에서는 espidf 만 지원하고 Arduino는 지원이 않는다. Arduino IDE는 다양한 라이브러리를 지원하지만 다양한 보드를 지원하기 위해 라이브러리가 복잡해지면 컴파일 속도가 너무 느려지는 단점이 있다. PIO(PlatformIO) 환경에서 ESP32C6를 컴파일 할 수 있는 환경을 구성해 보자.우선 VScode에서 PIO 프로젝트를 생성하고 platformio.ini 파일을 ESP32-C6에 맞도록 수정해 준다.   board 는 새로운 형태로 json 파일로 만들어 boards 폴더에 등록 해 주어야 한다.  이렇게 설정하고 컴파일 하면 ESP32C6로 정상적으로 컴파일 되는것을 확인 할 수 있다.디..
[ESP32-C6 SSM] WiFi 테스트 - SSD1306 OLED 에 IP출력하기 ESP32-C6를 이용하여 간단히 WiFi 를 테스트 해보자.가장 간단히 테스트 할 수 있는것이 무엇일까 고민하다 기존에 테스트 했던 코드 중에 WiFi AP에 접속하여 IP를 받아오고 할당 받은 IP를 OLED에 출력 하는 예제를 테스트 해 보았다.  기존의 코드를 이용해서 컴퍼일하고 다운로드 하니 정상동작 하지 않는다.간단히 기존 코드로 쉽게 테스트 해 보려고 했는데... Arduino IDE에서 몇번 수정하고 다운로드 하는데 시간이 너무 오래 걸린다. Arduino코드를 동일하게 사용고 컴파일 속도도 빠른 PIO(PlatformIO) 환경에서 테스트 해볼까?하지만 아직 PIO에서 공식적으로 지원하지 않는다. 그래서 먼저 PIO에서 ESP32C6를 테스트 할 수 있는 환경을 구축했다. 기존 테스트 했..
[ESP32-C6 SSM] Dhrystone, Whetstone, IIR Benchmark 성능 테스트 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다.각각의 특징은 아래와 같다.Dhrystone - 정수(ALU)연산성능 측정,  MIPS 수치로 표기Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기테스트 코드는   STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. 벤치마크 테스트 결과 부동소수점 연산이 많이 좋지 않은것 같다. ESP32-C3의 RISC-V 코어를 업그레이드 해서 제작 했다고 하는데 약간의 성능 개선은 있는것 같다. ESP32시리즈의 벤치마크 테스트 결과 비교 ESP32ESP32S3ESP32S2ESP32C3ESP32C6Dhr..
[ESP32-C6 SSM] Arduino 개발환경 설정 ESP32C6 개발환경을 설정하기 위해 가장 간단한 방법은 Arduino IDE를 이용하는 것이다.최신 ESP32 Board 설정파일로 업데이트 하면 ESP32C6 Dev Module 가 포함되어 있다.  ESP32C6의 Arduino variant 파일 설정은 아래와 같다.#include #include "soc/soc_caps.h"#define PIN_RGB_LED 8// BUILTIN_LED can be used in new Arduino API digitalWrite() like in Blink.inostatic const uint8_t LED_BUILTIN = SOC_GPIO_PIN_COUNT + PIN_RGB_LED;#define BUILTIN_LED LED_BUILTIN // backwar..
[ESP32-C6 SSM] ESP32-C6 테스트 보드 제작 ESP32-C6는  2.4 GHz Wi-Fi 6(802.11 b/g/n/ax), Bluetooth 5 (LE), Thread, Zigbee 를 포함하고 있다. RISC-V 코어로 저렴하면서도 다양한 RF스택을 지원하는 솔루션에 적합한 MCU인것 같다.ESP32-C3 도 처음 나왔을때 작고 저렴해서 매리트 있었는데 이번에 출시된 C6도 다양한 RF를 지원해 테스트 해두면 좋을것 같다. 표준 핀맵인 SSM Type EVM 형태로 제작해 보았다. ESP32-C3를 업그레이드 해서 WiFi 기능과 저전력 기능 더욱 강화 했다고 하는데 아래표와 같이 비교 해 볼 수 있다. [ESP32-C6 SSM] 회로 핀맵