권경환.

RTOS, 부트로더와 같은 로우레벨 프로그래밍을 좋아하는 16년차 개발자입니다.

업무상 주로 IoT 제품을 개발해왔습니다.

양질의 제품을 만들기 위해서는 개발 인프라 구축이 선행되어야 한다고 생각합니다.

주도적으로 업무를 진행할 수 있는 환경을 선호합니다.

Work Experience.

모난.

대표 - 현재

파직.

- 현재
Description.

전기차 충전 솔루션 파직(Pazzk)을 운영 및 공급하고 있습니다.

What did I do.
  • 오픈소스 커뮤니티 에디션 및 상업용 버전의 듀얼 라이선스 운영
  • ISO 15118 표준 지원
  • 환경부 화재예방형 충전기 지원
  • OCPP 지원
  • 레퍼런스용 하드웨어 제공
Tech Stack.

C, Golang, ISO 15118, IEC 61851, OCPP, WebSocket, HomePlug Green PHY

마디 개발보드.

-
Description.

마이크로컨트롤러 기반 제품 개발을 쉽게 시작할 수 있도록 돕는 개발보드를 제작했습니다.

What did I do.
Tech Stack.

ESP32, nRF52, STM32, C, Python, WiFi, BLE, USB, DFU

에바.

Principal Engineer - 2022. 08

완속충전기 개발.

-
Description.

기존 완속 충전기에 잔재하는 이슈를 해결하고, 보다 유지보수가 용이한 소프트웨어 구조로 개선하기 위해 새로운 완속 충전기를 개발했습니다.

What did I do.
  • 보드 브링업 및 하드웨어 검증
  • 전체 펌웨어 개발
  • 서울시 연동
  • 전체 소스 라인수 7.6배 감소
  • 순환복잡도 9배 감소
Tech Stack.

BLE Mesh, WiFi, nRF52, ESP32, OCPP1.6, WebSocket, J1772, IEC61851

충전기 프로비저닝 서버.

-
Description.

충전기 생산부터 납품, 설치, 등록, 그리고 운행까지 참여자들의 경험을 개선하고, 유지보수를 용이하게 하는 프로비저닝 프로세스를 설계하고 개발했습니다.

What did I do.
  • 생산, 충전 사업자, 시공업체의 요구사항과 문제점 파악
  • 제품 출하전 필요한 정보와 설치전 결정되기 어려운 정보 파악
  • 프로비저닝 서버 기획
  • 프로토콜 설계 및 구현
  • 가이드 문서 작성
Tech Stack.

BLE Mesh, WiFi, nRF52, ESP32

개발환경과 개발 프로세스 구축.

-
Description.

파편화되어 있는 개발자산들을 취합하고, 공통의 개발환경과 개발 프로세스를 구축했습니다.

What did I do.
Tech Stack.

GitHub, Make, CMake, Docker, GCC, Keil, IAR, STM32CubeMX

OCPP 1.6 라이브러리.

-
Description.

환경부 요구사항인 OCPP 1.6 클라이언트 라이브러리를 구현하고 OCA Subset 인증을 받았습니다.

What did I do.
  • OCPP1.6 Core Profile 구현
  • OCPP1.6 Security Profile 구현
  • OCA 인증 진행
Tech Stack.

C, WebSocket, WiFi

인코어드
테크놀로지스.

-

에너톡.

Description.

스마트 전력량계 에너톡 디바이스를 개발했습니다. 형식승인 인증을 받았습니다.

What did I do.
  • 미터링 모듈 개발
  • 통신 모듈 개발
  • 전체 펌웨어 개발
Tech Stack.

STM32, ESP8266, FOTA, WiFi

MQTT PoC.

Description.

프로토콜 오버헤드를 줄이고 표준화된 통신방식을 채택하기 위해 MQTT PoC 를 진행했습니다. 개발보드로 더미 데이터를 전송하는 수준에서 종료했습니다. 레거시 시스템의 복잡성 때문에 전환은 보류되었습니다.

What did I do.
  • AWS IoT Core 설정
  • MQTT 토픽 설계
  • RPi 와 ESP8266 클라이언트 구현
Tech Stack.

AWS IoT Core, RPi, ESP8266, MQTT

보안 취약점 분석.

Description.

디바이스 보안 취약점과 통신 종단간의 보안 취약점을 분석했습니다.

What did I do.
  • MITM 취약점 분석
  • 디바이스 플래시 메모리 readout protection 취약점 분석
  • 디바이스 EEPROM 메모리 readout protection 취약점 분석
  • 배포 이미지 취약점 분석
  • 디바이스 인증 취약점 분석
Tech Stack.

TLS, X509, PKI

개발환경 구축.

Description.

Keil 개발환경 의존성을 제거하고 GCC와 Make 기반 빌드시스템을 구축했습니다. 이로써 CI 도입과 Docker 활용이 용이해졌습니다.

What did I do.
  • Docker 기반 개발 프로세스 세미나 진행
  • 유닛테스트 프레임워크 채용
  • 상용 프로그램 의존성 제거
Tech Stack.

GitHub, GCC, Make, Docker, TDD, Keil

Other Experiences.

오픈소스 활동.

Maintainer - 현재

아래와 같은 오픈소스 프로젝트를 개발 및 관리하고 있습니다.

기술블로그.

Author - 현재

비정기적으로 기술 관련 내용을 글로 작성해 공유하고 있습니다:

Zephyr 커널 분석 스터디.

Organizer -

Zephyr 커널 분석 스터디를 진행했습니다.

Skills.

Language.

  • C, Python, Golang, Assembly

RTOS & Microcontroller.

  • FreeRTOS, Zephyr, yaos, RT-Thread, Keil RTX
  • STM32, ESP32, nRF52, A33G5, AVR, RA4

Networking Protocol & Encoding Format.

  • WiFi, BLE, LTE Cat-M1
  • MQTT, HTTP, CoAP, WebSocket, HomePlug, ISO15118, Modbus
  • CBOR, COBS, JSON, Protocol Buffers