갤럭시S20+를 서버로
후면 케이스 벗기고 120mm arctic 쿨링팬으로 바람도 좀 쐬주고
usb 기가랜 pd 100w hub에 연결해서
필요없는 안드로이드, 삼성앱 다 중단시키고
termux 에서 rust app, redis, 경량모델들(예측, 임베딩, OCR…) 다 가동하려고 했는데
igpu와 npu 사용은 안드로이드 네이티브 앱에서만 가능하네요
그래서 termux에서는 ssh로 adb 시스템 제어하고 리눅스에서 rust, redis 정도만 가동하고
AI모델들은 안드로이드 네이티브 앱(apk)으로 각각 만들어서 실행한 뒤 termux rust앱과 gRPC로 통신하도록 해야겠습니다
안드로이드 네이티브 앱 만들때도 rust로 AI모델 호출하고 명령하고 통신하는 프로그램을 so파일 만들어서 kotlin으로 껍데기만 씌우면 되기 때문에 오히려 더 간단한겁니다. 구글 플레이에 올릴 것도 아니고. 예전같으면 UI디자인 하고 구글 플레이에 등록한다고 난리법석이었겠죠. 요즘은 정식등록하려면 평가단도 필요하고 훨씬 까다로워진 것 같은데
예전에 안드로이드스튜디오 java, kotlin 그리고 flutter(dart)로 안드로이드 앱, IOS 앱 만들던 때가 생각나네요
구글이 내 계정을 폐쇄한 이후(물론 몇년간 방치해놔서 폐쇄된거지만) 그쪽으로 눈길도 안주고 웹앱(rust wasm)을 만들었지만
예전에 만들던 안드로이드 앱은 주로 스마트폰의 특성 그러니까 터치스크린, 센서 등을 이용한 UIUX형 앱이었다면
이제부터 만드는 앱은 리눅스 headless 프로그램 실행파일처럼 백그라운드에서 작동되는 서버용 앱이라는 것이 다르네요
그야말로 안드로이드를 엣지 서버로 쓰겠다는건데 아두이노, 라즈베리파이의 초호화판이랄까
(눈,귀,다양한센서,강력한 통신, gpu npu 프로세서 다 있으니까요)
주로 안드로이드 앱이라고 하면 사용자와 밀착되어 손안에서 터치스크린으로 활용하는 앱이라고 생각했는데
생각을 조금만 다르게 해 보니까 또 다른 것들이 보입니다