본문 바로가기

ESP32

(35)
ESP32-C3 - BLE5 UART 테스트 ESP32-C3를 이용하여 BLE UART를 테스트 해보자 기본 펌웨어 다운로드 하고 장치 검색하면 설정한 장치로 인식이 된다 // Create the BLE Device BLEDevice::init("ECPC3 UART"); BLE UART 초기화 #define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E" // UART service UUID #define CHARACTERISTIC_UUID_RX "6E400002-B5A3-F393-E0A9-E50E24DCCA9E" #define CHARACTERISTIC_UUID_TX "6E400003-B5A3-F393-E0A9-E50E24DCCA9E" //1)BLE Device를 생성하고 BLEDevice::init(..
ESP32-C3 - BLE CUSTOM SERVICE 테스트 ESP32-C3의 가장 큰 장점으로 BLE 5.0이 있다. 저렴한 가격에 소형의 BLE 칩으로 사용하면 좋을것 같다. BLE 예제를 테스트 해보자 가장 간단한 CUSTOM SERVICE 코드로 테스트 했다. 라이브러리가 잘되어 있어 아주 간단하게 BLE 구현이 가능하다. #include #include #include // See the following for generating UUIDs: // https://www.uuidgenerator.net/ #define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" #define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" class MyCallbac..
ESP32-C3 SSM EVM - 성능 측정 ESP32-C3는 기존 ESP32 시리즈(240Mhz)와 달리 160Mhz 32-bit RISC-V core 를 탑제하고 있다. 성능보다는 가격과 소비전력에 장점을 두고 있지 않을까.. 아무튼 기존 ESP32 Arduino 코드의 성능과 비교해서 ESP32-C3 의 성능 테스트를 해 두면 좋을것 같다. 우선 CPU Frequency를 160Mhz 로 설정해서 GPIO 코글 테스트를 해 보자 Arduino에서 제공하는 GPIO 제어 함수로 테스트 해 보면 #define LED_PIN1 3 void setup() { pinMode(LED_PIN1, OUTPUT); } void loop() { digitalWrite(3, 0); digitalWrite(3, 1); } 2.3us로 상당히 느리다. ESP32-C..
ESP32-C3 SSM EVM - 개발환경 설정 (Arduino 만들기) ESP32-C3 도 Arduino 개발 환경에서 테스트 가능하다. 다만 ESP32 Board Manager 버전이 2.0이상이어야 한다. Board Manager 에서 "ESP32C3 Dev Module"을 선택한다. 간단한 코드를 작성하고 다운로드 하면 정상적인 다운로드가 된다. 다운로드 까지는 잘 동작 하는데... 실행시 계속 리셋이 발생한다. rst:0x8 (TG1WDT_SYS_RST),boot:0xc (SPI_FAST_FLASH_BOOT) Saved PC:0x40380082 SPIWP:0xee mode:DIO, clock div:1 load:0x3fcd6100,len:0x484 load:0x403ce000,len:0x90c load:0x403d0000,len:0x2398 SHA-256 compar..
ESP32-C3 SSM EVM 보드 제작 ESP32 시리즈중 WiFi + BLE Soc ESP32-C3 칩셋이 저렴하게 판매 되고 있어 표준 핀맵의 SSM Type 으로 제작 해 보았다. 특히 ESP32-C3FH4는 4MB 플래시 메모리 까지 포함되어 있어 저렴한 MCU로 사용해도 좋을것 같다. Core는 ESP32와 달리 RISC-V 단일 코어라 성능은 조금 문제가 될수 있지만 WiFi, BLE 5.0, USB가 내장 되어 있어 가격대비 성능으로 보면 정말 좋은 칩인것 같다. (여기서 USB는 Serial,JTAG 기능만 한다고 하니 다른용도로 쓰기는 어려울것 같다.)
ESP32 ESP-IDF에서 Iperf로 WiFi TCP, UDP Throughput 측정 테스트 ESP32에서 WiFi TCP, UDP Throughput 측정을 위해 Arduino 환경에서 테스트 해보면 속도가 너무 느리게 측정된다. ESP-IDF 환경에서 제공되는 iperf 테스트 예제로 WiFi 성능을 측정해 보자. WiFi iperf 테스트 에제를 빌드 하기 위해 ESP-IDF 개발환경 설정을 참고해서 에서 Show Examples Project를 선택 한다. iperf Example을 선택해서 프로젝트를 생성한다. 빌드후 다운드 하면 VS Code의 터미널 창에서 시리얼 포트를 열수 있다. sta 커멘드로 WiFi에 접속 할 수 있다. sta [] WiFi is station mode, join specified soft-AP SSID of AP password of AP ESP32 UDP..
ESP-IDF 개발 환경 설정 (Windows VSCode) ESP32용 개발환경으로 여러 형태가 있지만 이번에는 ESP-IDF를 이용해서 개발 하는 방법을 테스트 해 보았다. ESP-IDF를 사용하게 되는 가장큰 이유는 속도 일것 같다. Arduino 나 Python의 경우 다양한 MCU를 지원하려다 보니 속도가 느려지는것이 당연하지 않을까... Arduino IDE - Iperf로 WiFi TCP Throughput 측정 테스트 에서 WiFi 전송율을 테스트 하다보니 너무 속도가 느리게 측정된다. ESP-DIF 환경에서 제공하는 예제중 iperf 예제를 구동해 보면 좋을것 같다. VS Code에서 ESP-IDF extension 모듈을 설치하면 쉽게 환경 설정이 가능하다. ESP-IDF 환경설정을 위해 View->Command Palette (F1) ESP-I..
ESP32 Arduino IDE - Iperf로 WiFi TCP Throughput 측정 테스트 ESP32 Arduino 개발 환경에서 WiFi 성능을 테스트 해 보자 Arduino WiFi TCP 코드를 수정해 iperf 서버 코드를 만들었다. #include #ifdef ESP32 #include "esp_task_wdt.h" #define WDT_TIMEOUT 9 #endif const char* ssid = STASSID; const char* password = STAPSK; int port = 5001; WiFiServer server(port); void setup() { esp_task_wdt_init(WDT_TIMEOUT, 0); Serial.begin(115200); Serial.println("ESP32 Simple web Start"); Serial.println(ssid); ..

반응형