OpenClaw는 이제 SignalK와 함께 Raspberry Pi 5에서 실행되어, 선주들이 Telegram으로 선박에 메시지를 보내고 몇 초 만에 실시간 텔레메트리(telemetry)를 받을 수 있게 해줍니다. 이 조합은 즉시 사용 가능하지만, 몇 가지 설정상의 특이점 때문에 데몬(daemon)이 멈추거나 토큰 크레딧이 낭비될 수 있습니다.

선원들에게 Pi 기반 LLM이 중요한 이유

소형 선박은 클라우드 기반 AI 서비스를 이용할 대역폭이나 예산이 부족한 경우가 많습니다. Raspberry Pi 5는 오픈 소스 LLM 기반 어시스턴트인 OpenClaw를 호스팅할 수 있는 충분한 연산 능력을 제공하며, SignalK는 해양 데이터를 위한 표준화된 API를 제공합니다. 이 둘이 결합하면 배를 떠나지 않고도 “내 속도가 얼마지?” 또는 “수심이 얼마나 되지?”와 같은 질문에 답할 수 있는 저비용의 온보드(on-board) 채팅 인터페이스를 제공합니다.

시스템이 작동하는 구성 요소

  • OpenClaw는 로컬 모델 스택을 사용하여 Pi의 OS에서 직접 실행됩니다.
  • SignalK는 Docker 컨테이너에서 실행되며, 센서 판독값을 JSON 형식으로 게시하는 REST (HTTP) API를 노출합니다.
  • 두 프로그램은 서로 격리된 상태를 유지합니다. OpenClaw는 SignalK의 엔드포인트를 호출하고, SignalK는 LLM의 내부 프로세스를 전혀 알 수 없습니다.

통신이 순수 HTTP 방식이므로 별도의 복잡한 네트워킹 기술이 필요하지 않습니다. 단일 이더넷 또는 Wi-Fi 연결만으로도 루프를 유지하기에 충분합니다.

초보 구축자가 빠지기 쉬운 함정

  1. Gateway mode must stay defined – OpenClaw 설정에는 데몬이 API를 어떻게 노출할지 알려주는 gateway.mode 키가 포함되어 있습니다. 이를 삭제하면 서비스가 시작되지 않고 조용히 종료됩니다. 안전한 해결 방법은 다음과 같습니다:

    openclaw config set gateway.mode local
    
  2. Unit conversion is not automatic – SignalK는 국제 단위계(SI)를 따릅니다. 속도는 m/s(미터 매 초)로, 수심은 m(미터)로 전달됩니다. LLM에 “knots(노트)”나 “feet(피트)”를 물어보면 원시 숫자를 그대로 출력하여 잘못된 답변을 줄 수 있습니다. 에이전트의 프롬프트에 변환 로직을 추가하거나, 사용자에게 전달하기 전에 JSON을 후처리하십시오.

  3. Historical data is a separate plugin – 기본적으로 OpenClaw는 최신 스냅샷만 볼 수 있습니다. 추세에 대해 질문하려면(“지난 한 시간 동안 바람이 강해졌나요?”) SignalK의 InfluxDB history 플러그인이 필요합니다. 이를 설치 및 활성화한 다음, 히스토리 엔드포인트를 에이전트에 노출하십시오.

  4. jq is missing on Raspberry Pi OS – 많은 튜토리얼이 명령줄 JSON 프로세서인 jq가 설치되어 있다고 가정합니다. 하지만 Pi 이미지는 이를 포함하지 않습니다. 추가 패키지를 설치하는 대신 OpenClaw가 직접 원시 JSON을 파싱하도록 하십시오. 최신 LLM은 대부분의 텔레메트리 쿼리에 대해 중첩된 구조를 충분히 잘 처리합니다.

  5. Don’t disable the Ollama plugin – Ollama는 로컬 언어 모델을 위한 런타임을 제공합니다. 이를 끄면 모델 백엔드가 차단되어 에이전트가 답변을 생성할 수 없게 됩니다. 추가 도구를 사용하지 않더라도 플러그인을 활성화된 상태로 유지하십시오.

유용성을 유지하면서 토큰 비용 절감하기

언어 모델을 로컬에서 실행하더라도 모델이 요청을 처리할 때마다 토큰 비용이 발생합니다. 다음 두 가지 실질적인 조정만으로 사용량을 약 4분의 1 정도 줄일 수 있었습니다.

  • 도구 세트 축소(Trim the toolset) – OpenClaw는 개발자용 도구 모음(코드 실행, 파일 브라우징 등)을 포함하고 있습니다. 선박 관련 어시스턴트에는 런타임 및 파일 시스템 액세스 이상의 기능이 거의 필요하지 않습니다. 최소 프로필(minimal profile)로 전환하면 불필요한 토큰 소모를 줄일 수 있습니다.

  • 캐시 유지 시간 연장(Extend cache retention) – 설정을 통해 시스템 프롬프트와 최근 컨텍스트를 메모리에 더 오래 유지할 수 있습니다. 캐시가 길어지면 모델이 매 Telegram 메시지마다 동일한 지침을 다시 인코딩할 필요가 없어, 매 왕복 시 발생하는 토큰을 절약할 수 있습니다.

조용한 모니터링을 선호하는 선주를 위해, 내장된 cron 기능을 사용하여 중요한 센서(배터리 전압, 수심 알람)를 정해진 일정에 따라 폴링(poll)할 수 있습니다. 에이전트는 임계값을 넘었을 때만 Telegram 알림을 보내므로 채팅 채널을 깔끔하게 유지할 수 있습니다.

승자와 주의할 점

  • **선주(Boat owners)**는 저렴한 온보드 대화형 인터페이스를 얻게 됩니다. 구독료도 없고 셀룰러 데이터에 의존할 필요도 없습니다.
  • **오픈 소스 유지 관리자(Open-source maintainers)**는 제한된 환경에서 OpenClaw와 SignalK를 모두 테스트하여, 평소라면 발견되지 않았을 버그를 찾아낼 수 있는 실제 배포 사례를 보게 됩니다.
  • **클라우드 LLM 제공업체(Cloud LLM providers)**는 틈새 시장을 잃게 되지만, Pi가 처리할 수 없는 고성능 추론이나 멀티모달 입력에 대해서는 여전히 우위를 점하고 있습니다.

주요 위험 요소는 신뢰성입니다. 전력 문제나 Docker 충돌로 인해 어시스턴트가 작동을 멈출 수 있습니다. 중복 구성(두 번째 Pi, UPS 백업)으로 문제를 완화할 수 있지만 비용이 추가됩니다. 또한 사용자는 Telegram 봇 토큰을 잘 보호해야 합니다. 토큰이 유출되면 누구나 선박의 센서에 쿼리를 보낼 수 있습니다.

다음에 주목할 점

  • 모델 업데이트 – 더 새롭고 효율적인 양자화된 모델이 등장함에 따라, Pi의 ARM 코어에서 더 빠르게 실행되어 지연 시간을 더욱 줄여줄 것입니다.
  • SignalK 확장 기능 – AIS, 레이더 또는 기상 예보를 위한 커뮤니티 제작 플러그인을 LLM에 연결함으로써 대화 범위를 확장할 수 있습니다.
  • 보안 강화 – 이미 여러 프로젝트에서 SignalK-OpenClaw API에 대한 종단간 암호화(end-to-end encryption)를 실험하고 있으며, 이는 공해를 항해하는 모든 선박에 있어 현명한 조치입니다.

요약

SignalK와 함께 Raspberry Pi 5에 OpenClaw를 배포하면 소박한 보트를 채팅이 가능한 플랫폼으로 변모시킬 수 있지만, 성공 여부는 게이트웨이 모드 유지, 단위 변환 처리, 히스토리 저장 활성화, 그리고 Ollama 플러그인의 활성 상태 유지에 달려 있습니다. 토큰 사용량을 낮게 유지하려면 툴셋을 간소화하고 캐시 보존 기간을 늘리며, 중요한 상황이 발생하기 전까지는 cron 알람을 사용하여 조용히 유지하십시오. 그 결과, 완전히 선상에서 작동하는 저비용 실시간 텔레메트리 어시스턴트가 탄생하며, 선원들에게 클라우드 서비스의 비용 부담 없이 챗봇의 편리함을 제공합니다.