주요 변경사항
하드웨어 연결
RTC DS3231: I²C (SDA: GPIO25, SCL: GPIO26)
추가된 기능
1. RTC 초기화 및 관리
DS3231 RTC 자동 감지
전원 손실 감지 및 경고
RTC에서 시스템 시간 자동 동기화
2. 웹 인터페이스 (모니터 페이지)
RTC 읽기 버튼: RTC의 현재 시간 확인
RTC 설정 버튼: 웹 브라우저 시간을 RTC에 설정
RTC→시스템 버튼: RTC 시간을 ESP32 시스템 시간에 동기화
RTC 사용 가능 여부 실시간 표시
RTC 시간 실시간 표시
3. 시간 동기화 옵션
웹 시간 동기화: 브라우저 시간으로 ESP32 동기화 (기존)
RTC 시간 설정: 브라우저 시간을 RTC에 저장
RTC→시스템: RTC 시간으로 ESP32 동기화
필요한 라이브러리
Arduino IDE에서 다음 라이브러리를 설치하세요:
RTClib by Adafruit
동작 방식
ESP32 부팅 시 RTC 자동 감지
RTC가 있으면 자동으로 시스템 시간 동기화
웹페이지에서 RTC 상태 확인 가능
로깅 파일명에 정확한 시간 반영
이제 인터넷 없이도 RTC를 통해 정확한 시간 관리가 가능합니다! 🕰️
하드웨어 연결
RTC DS3231: I²C (SDA: GPIO25, SCL: GPIO26)
추가된 기능
1. RTC 초기화 및 관리
DS3231 RTC 자동 감지
전원 손실 감지 및 경고
RTC에서 시스템 시간 자동 동기화
2. 웹 인터페이스 (모니터 페이지)
RTC 읽기 버튼: RTC의 현재 시간 확인
RTC 설정 버튼: 웹 브라우저 시간을 RTC에 설정
RTC→시스템 버튼: RTC 시간을 ESP32 시스템 시간에 동기화
RTC 사용 가능 여부 실시간 표시
RTC 시간 실시간 표시
3. 시간 동기화 옵션
웹 시간 동기화: 브라우저 시간으로 ESP32 동기화 (기존)
RTC 시간 설정: 브라우저 시간을 RTC에 저장
RTC→시스템: RTC 시간으로 ESP32 동기화
esp32와 mcp2515로 can data 실시간 로깅(sd spi) 하는 프로그램 코드인데 로깅은 잘돼 하지만 그래프 웹페이지에서 변수를 선택한 후 start누르면 그래프가 실시간 그려지지 않아 실시간 그래프 그려지도록 데이터 수정해줘
ESP32가 인터넷에 연결되지 않은 상태라서 다른 방법 없을까?
graph 웹페이지에서 dbc 넣은 다음 그래프 잘 출력되는데 그래프의 x축 에 대한 값 sec을 표현해주었으면 하고 다른페이지 이동 클릭한다음 graph 페이지 오면 넣었던 dbc가 없어져 다시 넣어야 하는데 넣었던 dbc는 다른 페이지 이동해도 유지할 수 있도록 수정해줘
can graph창도 핸드폰 감응형으로 바꾸어 주고 db파일 등록 후 다른 창 접속 한다음 graph 창 복귀시 db파일이 사라져 다시 등록하지 않게 (등록한 dbc파일 지속) 그리고 dbc파일의 id 값을 잘못 읽어 오는 것 같은게 예를들어 0x90060002로 읽혀지는 ID 를 dbc파일로 읽어보니 0x10060002였어
여전히 메인 웹페이지에서 monitor, Transmit 밖에 선택지가 없는데 다시한번 누락되어 있는 부분 확인해줘, 그리고 핸드폰 에서 웹페이지 접속시 가로창 넘게 표시되어 이미지가 짤리는데 핸드폰 화면에 맞추어 글자와 이미지들이 들어갈 수 있게 자동 조절하게 해줄 수 있어? 특히 전송 웹페이지에 data byte(hex) 입력 칸들이 화면에 다 안들어가서 짤린상태로 전체 값들을 넣을 수 가 없어
웹페이지 하나 더 추가 하고 싶은데 (포트생성) 이 신규 페이지는 can data를 송신 하는 목적의 페이지로 can 신호id, messagy type, message data(hex) 를 설정할 수 있게 하고 여러 신호들을 조합으로 송신할 수 있게, 그리고 특정 시간마다 송신할 수 있게 기능을 추가 할 수 있어? 해당페이지는 차후 수정이 용이하게 파일도 추가했으면 좋겠어
웹페이지 하나 더 추가 하고 싶은데 (포트생성) 이 신규 페이지는 can data를 송신 하는 목적의 페이지로 can 신호id, messagy type, message data(hex) 를 설정할 수 있게 하고 여러 신호들을 조합으로 송신할 수 있게, 그리고 특정 시간마다 송신할 수 있게 기능을 추가 할 수 있어? 해당페이지는 차후 수정이 용이하게 파일도 추가했으면 좋겠어
웹페이지 하나 더 추가 하고 싶은데 (포트생성) 이 신규 페이지는 can data를 송신 하는 목적의 페이지로 can 신호id, messagy type, message data(hex) 를 설정할 수 있게 하고 여러 신호들을 조합으로 송신할 수 있게, 그리고 특정 시간마다 송신할 수 있게 기능을 추가 할 수 있어? 해당페이지는 차후 수정이 용이하게 파일도 추가했으면 좋겠어
Z:\byun_work\01.codings\250928_esp32_spi_sdcard_ads8688_mcp\03.wifi_can\ESP32_CAN_Logger\ESP32_CAN_Logger.ino: In function 'void canRxTask(void*)':
Z:\byun_work\01.codings\250928_esp32_spi_sdcard_ads8688_mcp\03.wifi_can\ESP32_CAN_Logger\ESP32_CAN_Logger.ino:261:13: error: 'recentMessages' was not declared in this scope
261 | recentMessages[recentMsgIndex] = msg;
| ^~~~~~~~~~~~~~
Z:\byun_work\01.codings\250928_esp32_spi_sdcard_ads8688_mcp\03.wifi_can\ESP32_CAN_Logger\ESP32_CAN_Logger.ino:261:28: error: 'recentMsgIndex' was not declared in this scope; did you mean 'recentDataIndex'?
261 | recentMessages[recentMsgIndex] = msg;
| ^~~~~~~~~~~~~~
| recentDataIndex
Z:\byun_work\01.codings\250928_esp32_spi_sdcard_ads8688_mcp\03.wifi_can\ESP32_CAN_Logger\ESP32_CAN_Logger.ino: In function 'void webUpdateTask(void*)':
Z:\byun_work\01.codings\250928_esp32_spi_sdcard_ads8688_mcp\03.wifi_can\ESP32_CAN_Logger\ESP32_CAN_Logger.ino:491:21: error: 'recentMessages' was not declared in this scope
491 | if (recentMessages[i].timestamp > 0) {
| ^~~~~~~~~~~~~~
"mcp2515.h"를 위한 복수개의 라이브러리가 발견되었습니다
사용됨: C:\Users\sinla\OneDrive\문서\Arduino\libraries\autowp-mcp2515
사용되지 않음: C:\Users\sinla\OneDrive\문서\Arduino\libraries\esp32-mcp2515-master
"SD.h"를 위한 복수개의 라이브러리가 발견되었습니다
사용됨: C:\Users\sinla\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.3.0\libraries\SD
사용되지 않음: C:\Users\sinla\AppData\Local\Arduino15\libraries\SD
exit status 1
Compilation error: 'recentMessages' was not declared in this scope
결과 확인해보니 웹페이지의 Real-time CAN messages(by ID) 의 count 작동이 데이터 보내지 않음에도 카운트 되는데 이부분 잘못 된것 같아 can신호가 수집된 갯수를 count 하게 수정해줘, 그리고 logging status, sd card, messages, speed 추가로 현재 로깅되고 있는 파일 명도 추가 해줘
결과 확인해보니 웹페이지의 Real-time CAN messages(by ID) 의 count 작동이 데이터 보내지 않음에도 카운트 되는데 이부분 잘못 된것 같아 can신호가 수집된 갯수를 count 하게 수정해줘, 그리고 logging status, sd card, messages, speed 추가로 현재 로깅되고 있는 파일 명도 추가 해줘