- 2008년식 득점 시스템을 그대로 교체하면 8만~12만 달러가 필요해, ESP32와 범용 부품으로 레인 한 쌍당 약 200달러부터 구현하는 OpenLaneLink를 개발함
- 센서 이벤트와 제어 명령은 ESPNow 스타 토폴로지 메시로 주고받고, 무선 간섭이 심한 환경에서는 RS485 유선 연결을 예비 수단으로 사용함
- Raspberry Pi 레인 컴퓨터가 ESP32 게이트웨이의 패킷을 Redis 이벤트로 변환하며, 상태 머신과 WebSocket·발행/구독 구조를 거쳐 React UI와 애니메이션에 연결됨
- 릴레이·옵토커플러·IR 빔 차단 센서 같은 기성 부품을 사용해 고장 난 장치는 약 5분, 레인 한 쌍의 장비는 10분 이내에 교체할 수 있음
- 하드웨어·펌웨어·소프트웨어 전체를 오픈소스로 공개해 벤더 종속과 기능별 추가 비용을 줄이고, 운영자가 UI와 데이터를 직접 통제하도록 할 계획임
고가의 기존 시스템을 직접 교체한 이유
- 가족과 함께 미국 중서부 시골의 버려진 8레인 볼링장을 10만5천 달러에 인수함
- 지붕 누수와 반복적인 전기 서지가 있었고, 70년 된 볼링 장비도 완벽하게 작동하지 않았음
- 2008년에 설치된 득점 시스템은 당시 여섯 자릿수 비용이 들었음
- 기존 시스템은 공의 속도와 궤적 계산, 카메라 기반 핀 감지, 파울 판정, 애니메이션, 핀 세팅 장치와 볼 리턴 제어를 담당함
- 같은 수준의 시스템으로 일괄 교체하려면 기능·벤더·장비 연식에 따라 8만~12만 달러가 들고, 업그레이드와 서비스 계약은 포함되지 않음
- 기능과 맞춤 설정마다 별도 비용이 추가됨
- 교체 부품만으로도 레인 한 쌍당 4천 달러가 필요함
- 전자 시스템이 70년 된 기계 장치에서 담당하는 핵심 작업은 단일 릴레이 작동이며, 나머지 과정은 기계적으로 처리됨
- 오픈 하드웨어와 컴퓨터 비전, 실시간 이벤트 스트리밍, 오픈소스를 활용해 기존 기능을 직접 구현할 수 있다고 판단함
OpenLaneLink의 구성과 운영 방식
- 프로토타입 비용은 레인 한 쌍당 약 200달러이며, 고급 구성도 약 400달러 수준임
-
ESP32 기반 제어 계층
- 각 노드는 센서 이벤트를 내보내고 제어 명령을 받음
- ESPNow 스타 토폴로지 메시의 게이트웨이 노드는 UART를 통해 Raspberry Pi와 연결됨
- 수신 패킷은 Redis로 전달되고, 필요한 명령은 다시 메시 네트워크로 전송됨
- RF 잡음이 많은 환경에서는 RS485가 유선 예비 연결로 동작함
-
범용 부품과 펌웨어
- 하드웨어는 릴레이·옵토커플러·IR 빔 차단 센서에 연결된 범용 마이크로컨트롤러로 구성되며, 각 장치는 역할에 맞는 펌웨어를 실행함
- 구현 과정에서 가장 어려운 부분은 펌웨어와 프로토콜 작성임
- 예비 ESP32를 미리 플래싱하거나 즉시 준비할 수 있어 수리가 간단함
-
웹 기술 기반 소프트웨어
- Redis 이후 계층에는 상태 머신, 미들웨어, React, WebSocket, 발행/구독 같은 일반적인 웹 기술을 사용함
- React 개발자가 자체 UI와 볼링 애니메이션을 만들 수 있음
- 운영자는 모든 데이터를 소유하고 원하는 기능과 테마를 직접 적용할 수 있음
- 수리는 약 5분, 레인 한 쌍의 장비 교체는 10분 이내에 가능함
- 비슷한 볼링장이라면 처음부터 1~2시간 안에 가동할 수 있을 것으로 봄
- OpenLaneLink가 준비되면 하드웨어·펌웨어·소프트웨어 전체를 오픈소스로 공개할 계획임
- 폐쇄형 시스템, 사소한 문제에도 필요한 고객 지원, 자체 장비의 화이트 라벨 비용에서 비롯되는 벤더 종속을 피하려는 목적임
- 저렴하고 자유롭게 맞춤 설정할 수 있는 시스템으로 소규모 볼링장의 운영을 돕고자 함