CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·주식한당 ·MaClien ·방탄소년당 ·일본산당 ·소시당 ·개발한당 ·자전거당 ·이륜차당 ·AI당 ·안드로메당 ·소셜게임한당 ·골프당 ·바다건너당 ·걸그룹당 ·곰돌이당 ·나스당 ·콘솔한당 ·가상화폐당 ·키보드당 ·클다방 ·패스오브엑자일당 ·리눅서당 ·퐁당퐁당 ·물고기당 ·전기자전거당 ·노젓는당 ·디아블로당 ·찰칵찍당 ·라즈베리파이당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·사과시계당 ·육아당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·개판이당 ·동숲한당 ·날아올랑 ·e북본당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·IoT당 ·KARA당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·PC튜닝한당 ·그림그린당 ·소풍간당 ·심는당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·여행을떠난당 ·터치패드당 ·트윗당 ·창업한당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

팁과강좌

PDA
th55 revival project - Part 2 (BtLib 살리기) 18

4
Vintage68
5,097
2026-03-13 11:53:14 수정일 : 2026-03-13 17:48:39 175.♡.4.34

안녕하세요.. 


아래 편에 이어, 추억의 소55 감성을 이어가는 (부족한) 강좌 Part 2 들어가 봅니다^^

https://www.clien.net/service/board/lecture/19154234


오늘은 블루투스 깨워보기편 입니다. 그 전에 지난 편에서의 성과를 잠시 리캡해 보면,


1. 개발환경

전체구조

~/PalmDev

 ├─ prc-tools-remix/

 │   └─ dist/                ← cross compiler

 │

 ├─ palm-os-sdk/

 │   ├─ sdk-5r3/

 │   └─ sdk-5r4/

 │

 ├─ sony-sdk-5.0/

 │   └─ Incs/

 │

 └─ Project

       ├─ clie-hello/

       └─ btdebug/


(소니 클리에 SDK를 하나 더 풀어 두었습니다. 클리에 특화 라이브러리 호출을 위해~)

해당 SDK는 지난편에 알려 드린 아래 링크에서 받을 수 있고, 헤더파일 외에도 도큐먼트와 몇가지 샘플이 있습니다. 

https://palmdb.net/app/palm-os-sdk


위에 표시한 핵심 디렉토리 외에 포함하는 내용은 아래와 같은 구성입니다^^

sony-sdk-5.0

/home/user/PalmDev/sony-sdk-5.0/Documentation

/home/user/PalmDev/sony-sdk-5.0/Incs

    /home/user/PalmDev/sony-sdk-5.0/Incs/Libraries

    /home/user/PalmDev/sony-sdk-5.0/Incs/System

/home/user/PalmDev/sony-sdk-5.0/Samples


개발환경의 핵심 3종세트는 다음과 같아요~

prc-tools : PalmOS 앱, 즉 모토롤라 68k 계열 CPU용 실행파일 빌드를 위한 크로스 컴파일러 (리눅스용)

PalmOS SDK : PalmOS 앱 개발을 위한 헤더파일과 라이브러리 입니다. 가장 최근의 버전은 5r4 이지만 리눅스에서는 5r3의 호환성이 좋습니다. 

Sony Clie SDK : 클리에 전용 헤더파일 (조그다이얼 등의 컨트롤용)


이 구조면 PalmOS 3.x~5.x 앱 개발 전부 가능하고, 더 자세한 내용은 GPT가 작성해 준 요약문서로 올렸습니다~


2. 블루투스 통신

먼저 제가 가지고 있는 유럽버전의 TH55의 가장 큰 장점인 블루투스를 살려보기로 하고, 계획을 세웁니다.

TH55 유럽버전(블루투스 내장)의 블투 스택으로 확인 또는 구현이 가능한 것들은 다음과 같습니다. 


1️⃣ Bluetooth device discovery 

2️⃣ Bluetooth name lookup

3️⃣ SPP connection

4️⃣ Serial terminal

5️⃣ GPS receiver 연결

6️⃣ Bluetooth keyboard

7️⃣ Bluetooth file transfer (OBEX)


이걸로 할 수 있는 응용 분야는,


•ESP32 Bluetooth SPP 콘솔

•Arduino HC-05 모듈 콘솔

•OBD2 Bluetooth 데이터 읽기

•GPS NMEA Raw 보기


등인데 이 중, 도전과제 1순위는 시리얼 터미널이고, 그 다음 여력이 되면 OBD2를 연결해 차량 상태 모니터링 프로그램을 짜 보는 것입니다^^

그럴려면 일단 양방향 통신부터 뚫어 봐야지요~


1) 페어링

맥북으로 개발할 거니 일단 맥과 클리에의 페어링이 필요합니다. 이건 생각보다 간단하게 되네요,, 그런데 HID(키보드, 마우스 등), 오디오장치와 달리 페어링이 유지 되지는 않습니다. 

맥에서는 클리에가 장치에서 등록해 둔 이름이 아닌 PDA로 보이고, 클리에에서는 맥이 보이긴 하는데 장치명이 제대로 안나와서(언노운 디바이스), 맥에서 연결을 합니다. 

맥에 뜨는 보안코드 6자리를 클리에에서 입력하면 연결이 되고, 이후에는 맥에서 클리에에 등록해 둔 장치명으로 내 기기에 표시되네요..

스크린샷 2026-03-13 오후 5.47.53.png


클리에에서도 신뢰장치로 맥을 지정하지만, 여전히 장치명은 “언노운 디바이스“ㅎㅎ

IMG_9286.jpg


2) 코딩

서로간에 신뢰장치로 등록이 됬으니… 교신을 뚫어 봐야죠~

블루투스 장치들은 자신이 어떤 서비스를 할 수 있는지 광고(advertise)를 하는데, 클리에는 단말기라 서비스를 받는 입장이어서인지 이걸 안하고, 그래서 맥에서도 나의 기기에 클리에가 보이지만 페어링 이후에 연결은 끊어진 상태로 있게 됩니다. 이떄문에 테스트에 애를 좀 먹었지만.. 지피티가 결국 뚫어 냈네요^^


코딩 내용은 사실 저도 잘 이해하기 어려운 부분들이 많아 지피티가 정리한 요약본으로 대체하고 여긴 결과만 공유 드립니다.

클리에와 맥간에 비동기(ACL) 링크를 열고, 서로 양방향 통신을 했다는 게 핵심입니다~


원래는 맥 터미널의 screen 기능(시리얼 포트 같은 입출력 포트를 통해 외부 장치를 원시적인 터미널로 활용하는 기능)을 이용해 클리에를 원격 터미널로 동작시켜보려 했는데, 위에 말씀 드린 것 처럼 맥이 클리에를 서비스가 없는 기기로 보고 페어링을 유지하지를 않고있어 맥에서의 상시 포트를 할당받지 못하는 바람에 이 방법은 아쉽게도 구현이 안되었고, 대신 맥에 아주 간단한 프로그램(clang, obj-c)을 올려 클리에와 비동기 방식의 양방향 통신에는 성공했습니다. 


3) 결과

클리에에서

IMG_9289.jpg

아이콘도 급조해서 넣었습니다 ㅎㅎ 아래는 맥이 보낸 인사말^^

IMG_9288.jpg


맥에서

스크린샷 2026-03-12 오후 5.34.54.jpg


이것의 의미는 클리에의 블루투스 스택(이건 이미 클리에에 올라가 있습니다)을 자유롭게 이용할 수 있게 되었다는 것이고, 이제 의도했던 터미널, OBD2 모니터 등등을 만들어 볼 수 있게 된 것이죠^^ 


응용 앱으로 발전이 되면 또 공유해 보겠습니다.


3. 여담

재미로 시작해 본 클리에 리바이벌 프로젝트 였지만, 사실 지피티가 없었다면 가능하지 않았을 겁니다. 일례로 이게 지금 맥에서 제대로 포트가 열리긴 하는건지 확인을 해야 하는데, 테스트 프로그램을 잠시 돌려본 30초 남짓한 시간에 맥에 들어오는 블루투스 신호를 로그해 보니 거의 1천라인에 육박하는데, 지피티는 이걸 몇 초만에 판독해 코딩 방향성을 잡아 주네요^^ 주변의 수두룩한 블투 장치들이 뿌려대는 광고 같은게 전부 다 잡히기 때문에, 이걸 실시간으로 보면서 필터링 한다는 것은 인간계의 영역이 아니죠^^


(맥로그)

스크린샷 2026-03-12 오후 5.38.41.png

로그확인방법 (맥 터미널에서)

1) 데스크탑에 로그 파일을 만듭니다.

    log stream --style compact --predicate 'subsystem == "com.apple.bluetooth"' --info > ~/Desktop/bt_th55.log

2) 필요한 문자열을 검색합니다. 

    grep -iE -C 3 'RFCOMM|SDP|ACL' ~/Desktop/bt_th55.log

    grep -i -C 5 '08:00:46:EF:53:56' ~/Desktop/bt_th55.log


참고로, 두번째 검색라인의 16진수 세트는 제 클리에의 블루투스 주소인데, 여기서 앞의 3개 08:00:46은 Sony OUI (Organizationally Unique Identifier)입니다.  즉 이것만 필터링 하면 주변에 소니 장치들이 뭐가 있는지 보이죠^^


확인을 위해 저 두개 그렙해 달라던데 그것도 너무 많아 그냥 데스크탑에 생성된 로그파일을 보냅니다 ㅋ~

30초 가량 뿌려진 거의 천줄짜리 랜덤 로그를 보더니, 몇초만에 이렇게 요약을 해 주는군요. 


(지피티 요약)

응, 이 로그는 읽을 줄만 알면 엄청 좋은 로그야 ㅎㅎ

핵심만 추려보면, 이번 테스트는 거의 교과서적으로 성공한 거 맞아.


지금 로그는 이렇게 말하고 있어:

Clie가 Mac에 ACL 연결 성공 → Mac이 Clie의 SDP 요청을 받음 → Clie가 RFCOMM(Serial Port, UUID 0x1101)으로 들어옴 → Mac이 그걸 실제로 받아줌 → 다만 macOS 쪽 pseudo-serial 디바이스 생성은 실패 → 그래도 RFCOMM 연결 자체는 성공 → 몇 초 뒤 연결 종료


재밌네요 ㅎㅎ


끝으로, 결과물 두개도 소스로 같이 공유 드려봅니다. 

프로젝트 진행하며 너덜너덜해 진 코드를 지피티가 말끔하게 정제(리팩토링)한 클리에용 코드와 

맥에서 확인차 돌린 클라이언트용 오브젝티브C 코드(이건 지피티가 뚝딱하고 작성해 준겁니다 ㅋ~)

(클리에 코드는 리소스 파일(.rcp) 함께 올립니다.)


이제부터는 뭘 더 하려면 추가 예산이 필요해(ODB2 모듈, ESP32 킷 구입 등), 구체적인 프로젝트 방향을 본격화 하기 전에는 맥에 간단한 명령을 보내 결과를 받는 정도의 축소된 터미널 정도 만들어 볼 수 있겠네요.. 유의미한 진전이 있으면 또 찾아 오겠습니다. 


CJKOS(한글화를 위한 중-일-한 폰트 및 로케일)는 안올리는걸로 ㅎㅎ


첨부 : 개발환경 세팅 가이드, 블루투스 실험 결과 요약, 소스코드(클리에용 - btDebug.c btDebug.rcp, 맥용 - bt55_client.m)

첨부파일



Vintage68 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [18] 을 클릭하면 간단한 회원메모를 할 수 있습니다.
그시절그때
IP 218.♡.203.3
03-13 2026-03-13 12:54:11 / 수정일: 2026-03-13 13:20:26
·
우와....대박.

저도 클리에랑 픽쳐북 살려서 쓰기 프로젝트 구상만 하고 있었는데요. 엄청 반가운 소식이네요.
귀한 자료 잘 받아갑니다.
Vintage68
IP 175.♡.4.34
03-13 2026-03-13 15:26:54
·
@그시절그때님 반갑습니다. 프로젝트 성공을 기원할께요^^
그시절그때
IP 223.♡.54.148
03-13 2026-03-13 16:41:26
·
@Vintage68님 당분간은 vintage68님의 작업을 보면서 대리만족 하려고 합니다^^

그나저나 Gpt가 팜os 개발환경 셋업하는 것을 어려워해서 포기했었는데 작업하신 내용을 보니 흥미진진하네요.
Vintage68
IP 175.♡.4.34
03-13 2026-03-13 17:30:39 / 수정일: 2026-03-13 17:31:50
·
@그시절그때님 우와~ 엄청난 팜들을 가지고 계시네요^^
ㅎㅎ 그게 저도 좀 해맸지요.. 며칠 지피티를 달달 볶았습니다 ㅋ~
개발환경은 맥에서 할거니 prc-tools는 명확했는데, 맥네이티브로는 gcc 2.95 크로스컴파일러가 좀 꼬여서, 우분투 가상환경 만들어서 성공했어요.. prc-tools의 문제는 팜이 공식 지원하는 코드워리어 보다 최신 버전의 헤더파일 호환성이 떨어지는 건데, 뭐 이 시점에 최신판이 의미있는게 아니라 안정적으로 동작하는 가장 마지막 버전의 sdk인 5r3으로 갔어요~
Fatal
IP 116.♡.98.235
03-14 2026-03-14 19:54:41
·
@그시절그때님 코스모커뮤니케이터인가요? 제미니인가요? 멋진 기기를 갖고 계시네요!!
그시절그때
IP 223.♡.54.148
03-14 2026-03-14 19:58:17
·
@Fatal님 아 우측하단의 녀석은 제미니 pda입니다. 이걸 알아보시네요^^
Vintage68
IP 118.♡.74.191
03-15 2026-03-15 14:32:04 / 수정일: 2026-03-15 14:32:39
·
@그시절그때님 오우야~ 진정한 수집가십니다^^ 환경셋업은 20년 전을 현대로 불러와야 해서 지피티도 많이 버벅거리긴 하는데 하다보면 방법이 생기더라구요.. 한두고비만 넘으면 어느순간 되 있어요 ^^
Fatal
IP 61.♡.247.94
03-16 2026-03-16 14:21:58
·
@그시절그때님 멋진 녀석을 가지고 계시네요. 저는 코스모 커뮤니케이터와 아스트로 슬라이드는 소장중인데 제미니만 없습니다.^^;
연필깍이
IP 129.♡.204.174
03-13 2026-03-13 15:12:19
·
잘 보고있습니다.^^
끝이 얼마나 대단할지 모르겠지만, 지금 충분히 멋진거 같습니다.응원합니다.
Vintage68
IP 175.♡.4.34
03-13 2026-03-13 15:26:14
·
@연필깍이님 감사합니다. 아직 갈길이 멀긴 해요^^
Camille
IP 221.♡.87.132
03-13 2026-03-13 18:00:55
·
AI 시대라 필요한 앱을 이젠 만들어 쓸 수 있으니 TH55도 재밌지 않을까? 싶었는데..

아무래도 너무 오래되서 CPU 파워가 현저하게 떨어지니... 아마도 이 방식은 한계가 있어 보이네요.

굳이 중고를 들여서 써볼 만한지는 좀 애매하지만.. 가지고 있다면 살려서 이것 저것 해보면 재미있을 것 같긴합니다. ㅎㅎ
Vintage68
IP 175.♡.4.34
03-13 2026-03-13 19:56:32
·
@Camille님 재밌네요^^ 20년된 체화재고품이 배터리도 쌩쌩하고 ㅎㅎ
째즈블루
IP 115.♡.49.75
03-13 2026-03-13 18:45:13
·
이런게 클리앙이죠...
대단하십니다
Vintage68
IP 175.♡.4.34
03-13 2026-03-13 19:56:51
·
@째즈블루님 지피티가 대단해요^^
innovator
IP 14.♡.46.241
03-13 2026-03-13 20:50:05
·
대학시절 클리에를 보고
클리앙을 검색해 들어왔던 그 때를 회상하는 글이었습니다.
잘읽었습니다.
Vintage68
IP 118.♡.73.202
03-15 2026-03-15 14:26:34
·
@innovator님 아직 비슷한 경로로 인연이 연결되셨던 분들이 제법 남아계시네요^^
MDLee
IP 220.♡.205.46
03-13 2026-03-13 22:01:27
·
진정 클리앙이네요
Vintage68
IP 118.♡.73.202
03-15 2026-03-15 14:25:12
·
@MDLee님 아직 클리앙이죠^^
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB
업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.