본문 바로가기
반응형

PC&웹/Arduino30

(ESP32-C3) POCUTER 킥스타터에서 펀딩한 ESP32 제품이다. Pocuter - The coin sized 12-in-one WIFI & BLE micro computer by Zepsch — Kickstarter 용도는 스마트워치, 센싱, 게임 등 여러가지 작업을 할 수 있다. 기본 POCUTER OS가 설치되어 있으며, APP 스토어에서 앱을 추가할 수 있다. WIFI, BT 연결이 되며, OTA로 무선 업데이트도 된다. OS OTA기능은 개발 중인 것 같은데, APP OTA는 잘 동작한다. 포장을 뜯으면 이렇게 되어 있다. 케이스는 별도로 판매하는데, 3D 프린터나 MCT로 직접 출력해서 사용해도 된다. 컬러 OLED, 택트 스위치 5개(3개+2개), microB USB 포트, microSD 슬롯이 장착되어 있다. 디스.. 2022. 9. 13.
(Arduino) ESP32 파티션을 나눠서 프로그램 공간 확보 (1.9MB with OTA) ESP32 설정 기본 값으로 다음과 같습니다. 플래시가 4MB인 제품을 많이 사용하는데, 파티션 설정 때문에 프로그램 영역이 1.2MB 뿐입니다. 그 이유는 SPIFFS 공간이 1.5MB나 되기 때문입니다. 프로그램 공간 1.2MB + OTA 공간 1.2MB + SPIFFS 공간 1.5MB = 4MB 이것저것 라이브러리를 사용하다 보면 컴파일된 바이너리가 1.2MB를 초과하는 경우가 있어서 파티션을 재설정 해야할 필요가 있습니다. SPIFFS 영역이 많이 필요하지 않다면 바꾸는 것이 좋겠지요. 여기서 Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)로 설정하면 프로그램 영역은 기본값 보다 700KB를 더 사용할 수 있습니다. (SPIFFS는 환경설정 등 텍스트 파일로.. 2022. 8. 1.
(Arduino) ESP32, WiFi 접속 설정을 변경하고 기억하기 WIFI STA 모드로 접속할 때 접속하려는 AP 인증이 달라질 때마다 펌웨어를 업데이트 해야 하는 귀차니즘을 다음과 같이 해결하였다. BT(BLE), Serial 연결은 확실하므로 PC나 스마트 폰으로 ESP32에 연결을 하고 WiFi 접속 정보를 블루투스 또는 시리얼 통신으로 보낸다. ESP32는 수신된 데이터를 별도의 공간에 저장한다. 재부팅을 하거나 WiFi 재접속을 한다. 아래는 시리얼 통신 화면 Serial Terminal *help?$ Serial Monitor ==== HELP ==== ---- SET Commands ---- *SETDATE:yyyymmdd$ *SETDATETIME:yyyymmddhhiiss$ *RESTART:1$ *SETWIFISSID:your ssid$ *SETWIFI.. 2022. 7. 30.
(Arduino) ESP32 BLE Server에서 데이터 수신하기 불특정 기기가 ESP32에 접속하려면 ESP32는 Server가 되어야 한다. Server에 접속한 기기에게 데이터를 보내는 센서에서 많이 사용하는데, 명령어 등 데이터 수신을 처리하려면 READ 기능을 활성화 해야 한다. BLE Server 모드로 동작하면서 데이터 수신을 해본다. UUID는 Online UUID Generator Tool 에서 생성하면 된다. #include #include #include #include #define SERVICE_UUID "a4a2f593-76de-47ba-9133-7e908188c5af" #define CHARACTERISTIC_UUID "303d6f69-a751-43f0-9165-bdbb7601cdda" class MyCallbacks: public BLECh.. 2022. 7. 30.
(Arduino) GPS 전자종이 달력 준비물 IDE: Arduino, VSCode(PlatformIO, ESP-IDF) MCU: Keyestudio ESP32-WROOM-32 Module (AliExpress Store) Display: Waveshare ePaper 5.56" 7Color, Waveshare RGB OLED 1.5" (AliExpress Store) GPS: NEO-M8N RTC: DS3231 라이브러리 GxEPD2: ePaper에 그릴 때 사용. Adafruit_GFX: RGB OLED에 그릴 때 사용. TinyGPSPlus: GPS 모듈용. Arduino-Timer: 타이머 태스크 생성용. Time: RTC, 현재 시각 클래스. 관련 글 ePaper: 🛒 Waveshare EPD 5.65" 7C (600x448), e-.. 2022. 7. 27.
(Arduino) DIYMORE(DM) ESP32 0.96 OLED 모듈 사용법 U8g2 라이브러리 사용시 U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ 15, /* data=*/ 4, /* reset=*/ 16); 발열 너무 뜨거워서 열화상 촬영을 해봤다. USB 포트 바로 옆에 있는 IC 발열이 심각할 정도로 뜨겁다. 70도 이상은 화상을 입을 수 있는 온도이다. Spec 뒷면에 마름모꼴로 땜이 되어있는 칩이 ESP32이다. Datasheet Espressif_Systems_01292021_esp32-1991551.pdf (mouser.kr) 2022. 1. 2.
(Arduino) ESP32, Modbus TCP 통신 성능 Test ESP32 서버 모드 Client가 Server에 접속해서 정보를 가져오는 방식 modbus-esp8266 라이브러리 설치 modbus 예제의 IP-server-AnalogInput 열기 WiFi 정보 입력 후 컴파일 업로드 Modbus Client에서 ESP32로 접속 후, 주소를 100으로 설정하고 Read Input Register를 하면 됨. 소스 변경 delay(); 삭제해서 최대 성능을 낸다. Coil, Hreg, Ists, Ireg 각각 4개씩 데이터를 기록한다. (3개씩은 타이머 분할 기록) 남은 1개의 103번 주소엔 millis(); 값을 실시간으로 기록한다. C#으로 작성한 Modbus TCP Client에서 테스트 해보니 103번 값이 매우 빠른 속도로 갱신이 됐다. Task Tim.. 2021. 12. 28.
(Arduino) ESP32 WiFi Event 상수 WiFi 이벤트를 사용할 때 예제를 따라하면 컴파일 오류가 발생한다. ESP32는 아래와 같은 상수를 사용해야 한다. typedef enum { ARDUINO_EVENT_WIFI_READY = 0, ARDUINO_EVENT_WIFI_SCAN_DONE, ARDUINO_EVENT_WIFI_STA_START, ARDUINO_EVENT_WIFI_STA_STOP, ARDUINO_EVENT_WIFI_STA_CONNECTED, ARDUINO_EVENT_WIFI_STA_DISCONNECTED, ARDUINO_EVENT_WIFI_STA_AUTHMODE_CHANGE, ARDUINO_EVENT_WIFI_STA_GOT_IP, ARDUINO_EVENT_WIFI_STA_GOT_IP6, ARDUINO_EVENT_WIFI_STA_L.. 2021. 12. 19.
(Arduino) Adafruit GFX Canvas 사용, 깜빡이 방지 글자를 갱신할 때 전체를 배경색으로 칠하면 Flicker(깜빡이) 현상이 나타난다. 글자 부분만 배경색으로 칠해도 당연히 깜빡일 수 밖에 없다. 누가 이런 방법을 팁이라고 ㅡㅡ^ (ON-OFF-ON-OFF 무반 반복 깜빡임) 깜빡임을 방지하려면 출력할 내용으로 덮어쓰기 해야 한다. Adafruit GFX 라이브러리에는 버퍼 처럼 사용할 수 있는 GFXcanvas1 클래스가 있다. // In global declarations: GFXcanvas1 canvas(128, 32); // 128x32 pixel canvas // In code later: canvas.println("I like cake"); tft.drawBitmap(x, y, canvas.getBuffer(), 128, 32, foregro.. 2021. 12. 14.
반응형