충전기에 화면과 카드 리더를 붙이다 — sc6-hmi(DWIN 모니터)와 sc6-rfid(카드 리더)
DWIN 모니터를 EVerest 충전 상태에 맞춰 움직이는 sc6-hmi, 카드 리더를 EVerest 인증에 붙이는 sc6-rfid를 만들었다. 꽂자마자 ‘충전 중’ 화면이 뜬 이유는 거래 시작과 충전 시작을 같은 것으로 본 데 있었다. 하룻밤 사이 빌드 PC 주소가 바뀌어 서버 ...
DWIN 모니터를 EVerest 충전 상태에 맞춰 움직이는 sc6-hmi, 카드 리더를 EVerest 인증에 붙이는 sc6-rfid를 만들었다. 꽂자마자 ‘충전 중’ 화면이 뜬 이유는 거래 시작과 충전 시작을 같은 것으로 본 데 있었다. 하룻밤 사이 빌드 PC 주소가 바뀌어 서버 ...
손으로 실행하던 충전기 소프트웨어를 systemd 서비스로 바꿨다. 그리고 충전 중에 프로그램을 하나씩 죽여 봤다. kill -9 한 번에 릴레이가 붙은 채 남았고, EVerest를 다시 시작하자 승인 없이 릴레이가 1초 붙었다. EVerest가 ‘충전 멈추는 중’에서 영원히 맴돈...
코드 읽기 1편에서 BSP(sc6-bsp.c)를 봤다. 2편에서는 전력량계 프로그램 sc6-meter, EVerest 안쪽의 충전 상태 머신 EvseManager, 그리고 사건이 OCPP 메시지가 되어 서버로 가는 길을 따라갔다.
기능을 더 붙이기 전에 지금 돌아가는 코드를 이해하는 날로 정했다. 프로그램이 뜨는 순서, EVerest 구성 YAML, EVerest와 우리 프로그램이 MQTT로 주고받는 것, 그리고 BSP(sc6-bsp.c)의 구조·CP 판정·명령 처리를 정리했다.
OCPP 거래의 meterStop이 늘 0이었다. 보드의 전력량계 JSY-MK-163T를 EVerest에 연결하려 했는데, EVerest의 범용 전력량계 모듈은 레지스터 값을 무조건 실수(float)로 해석했다. 정수로 값을 주는 JSY는 읽을 수 없었다. sc6-bsp와 같은 방...