네트워크 끊김 시험, 그리고 libocpp 버그 하나 — 연결 2 ms 만에 온 요청이 BootNotification을 막았다 (M8-5)
충전기와 서버 사이의 네트워크가 끊기면 어떻게 되는지 보려 했다. 그런데 시험을 시작하기도 전에, 서버에 접속은 했지만 등록되지 않는 문제가 나타났다. 원인은 EVerest OCPP 라이브러리의 경쟁 조건이었다. 4줄 패치로 고친 뒤 끊김 시험 네 가지를 모두 통과했다.
충전기와 서버 사이의 네트워크가 끊기면 어떻게 되는지 보려 했다. 그런데 시험을 시작하기도 전에, 서버에 접속은 했지만 등록되지 않는 문제가 나타났다. 원인은 EVerest OCPP 라이브러리의 경쟁 조건이었다. 4줄 패치로 고친 뒤 끊김 시험 네 가지를 모두 통과했다.
title: “OCPP 1.6J 붙이기 — SteVe 시험 서버, 원격 시작·정지, 비상정지 보고 (M8-1~M8-4)” date: 2026-11-05 categories: [embedded, ev-charger] tags: [stm32mp157, everest, ocpp, ...
어제 만든 BSP를 이번에는 실제 EVerest에 붙였다. 첫 실행에서 BSP가 EVerest의 기대와 다르게 동작하는 버그를 하나 고친 뒤, 저항 지그만으로 차량 연결부터 충전, 일시 중지, 종료까지 두 번 돌렸다. 그 전에 레이어와 작업 기록을 펌웨어를 뺀 채 GitHub 비공...
BSP에 비상정지(EM_INT)와 누전(RCD_INT) 입력을 넣었다. 충전 중 비상정지를 걸자 감지한 같은 밀리초에 주 릴레이가 떨어졌다. 다만 비상정지를 풀면 EVerest가 아무 조작 없이 충전을 다시 시작했다. 이건 코드가 아니라 제품 요구사항으로 정할 문제였다.
오전에 손으로 설치한 것을 레시피로 옮긴 데 이어, 오후에는 시스템 설정을 정리했다. 호스트 이름이 왜 그렇게 길었는지, PLC 모뎀이 왜 DHCP를 시도했는지 원인을 찾았고, MAC 세 개를 고정했으며, 블루투스가 초기화에 실패하면 스스로 복구하게 만들었다.