언어 고르기

Droidline과 통신하는 모든 방법(Python, Node.js, CLI, HTTP, 소켓 직접 연결, MCP), 각 방법이 잘 맞는 용도, 그리고 모두가 함께 쓰는 설정을 설명합니다.

번역된 페이지입니다. 영어 문서와 내용이 다르면 영어 문서가 기준입니다. English

모든 인터페이스는 127.0.0.1:8780에서 실행되는 같은 서버 droidline serve와 통신하고, 모두 같은 명령 이름과 같은 파라미터를 씁니다. touch는 어디서나 touch입니다. 작업에 맞는 것을 고르세요. 섞어 써도 됩니다. 예를 들어 정해진 루틴은 Python 스크립트로, 간단한 확인은 CLI로 할 수 있습니다.

인터페이스잘 맞는 용도필요한 것가이드
Python규모와 상관없는 스크립트, 데이터 작업, pytest로 하는 테스트Python 3.9+, pip install droidlinePython
Node.jsJavaScript나 TypeScript 스크립트, 웹 백엔드Node.js 18+, npm install droidlineNode.js
CLI간단한 확인, 셸과 PowerShell 스크립트, cron 작업추가로 필요한 것 없음. droidline 프로그램이면 됨CLI
HTTPSDK가 없는 언어, 노코드 도구, curl아무 HTTP 클라이언트HTTP
소켓 직접 연결어떤 언어로든 오래 실행되는 프로그램, 이벤트TCP 소켓과 JSON 파서다른 언어
MCPClaude나 Cursor 같은 AI 에이전트가 폰을 쓰게 하기MCP 클라이언트AI 에이전트

어디서나 같은 명령

텍스트가 "OK"인 요소를 탭하는 명령 하나를 인터페이스별로 쓰면 이렇습니다.

d.touch("text", "OK")
await d.touch("text", "OK");
droidline touch text OK
curl -s -X POST localhost:8780/devices/_/touch \
  -H 'content-type: application/json' -d '{"by":"text","value":"OK"}'
{"id":1,"cmd":"touch","by":"text","value":"OK"}

파라미터는 어디서나 같은 규칙을 따릅니다.

  • 필수 파라미터가 먼저 오고, 명령어 레퍼런스에 나온 순서를 따릅니다. 위치 인자로 넘깁니다.
  • 선택 파라미터는 빼도 됩니다. 서버가 기본값을 채웁니다. 이름으로 넘깁니다. Python에서는 timeout=30, Node.js에서는 { timeout: 30 }, CLI에서는 --timeout 30, JSON에서는 "timeout": 30입니다.
  • 어느 폰인지: 온라인인 폰이 한 대면 지정할 필요가 없습니다. 여러 대면 하나를 고릅니다. connect("shelf-01"), --device shelf-01, /devices/shelf-01/..., "device": "shelf-01"처럼 씁니다.

모두 commands.json 파일 하나에서 생성되므로, 새 명령이 생기면 모든 언어에 동시에 들어갑니다.

모든 인터페이스가 읽는 설정

다음 환경 변수는 SDK, CLI, MCP 어댑터의 기본값을 똑같이 바꿉니다.

변수기본값의미
DROIDLINE_HOST127.0.0.1서버 주소
DROIDLINE_PORT8780내 코드가 접속하는 포트
DROIDLINE_TOKEN없음클라이언트 토큰. 서버가 다른 컴퓨터에서 실행될 때 필요
DROIDLINE_DEVICE없음폰을 지정하지 않았을 때 쓸 폰

config.toml에서 client.listen을 바꾸지 않는 한 서버는 같은 컴퓨터에서 온 연결만 받습니다. 다른 컴퓨터에서 폰을 제어하려면 먼저 보안을 읽으세요. 낯선 사람을 막아 주는 것은 클라이언트 토큰입니다.