This is an old revision of the document!
Table of Contents
Museum Artwork Curation Commands for EO1-Museum
The Met Open Access: 24 Curated Collection Themes
| No. | Collection Theme | 큐레이션 주제 |
|---|---|---|
| 1 | Impressionist Light | 인상주의 회화와 빛의 표현 |
| 2 | Post-Impressionist Visions | 반 고흐, 세잔, 고갱 등 후기인상주의 |
| 3 | Dutch Golden Age | 17세기 네덜란드 회화 |
| 4 | Italian Renaissance | 이탈리아 르네상스 회화 |
| 5 | Baroque Drama | 바로크 시대의 극적인 명암과 표현 |
| 6 | Romantic Landscapes | 낭만주의 풍경화 |
| 7 | Japanese Ukiyo-e | 일본 우키요에와 목판화 |
| 8 | Korean Art & Heritage | 한국의 회화, 도자기, 공예 |
| 9 | Chinese Painting & Calligraphy | 중국 산수화, 문인화, 서예 |
| 10 | Indian & South Asian Art | 인도 및 남아시아 미술 |
| 11 | Ancient Egypt | 고대 이집트 유물과 장식미술 |
| 12 | Islamic Patterns | 이슬람 미술의 기하학적 문양과 장식 |
| 13 | Portraits Across Centuries | 시대와 지역을 넘나드는 초상화 |
| 14 | Women in Art | 여성 인물과 여성 예술가의 작품 |
| 15 | Flowers & Botanical Beauty | 꽃과 식물을 소재로 한 미술 |
| 16 | Still Life & Everyday Objects | 정물화와 일상 사물 |
| 17 | Animals in Art | 동물을 소재로 한 회화, 판화, 공예 |
| 18 | Seascapes & Rivers | 바다, 강, 항구, 배를 소재로 한 작품 |
| 19 | Cities & Architecture | 도시 풍경과 건축 |
| 20 | Night, Moonlight & Shadows | 밤, 달빛, 그림자의 표현 |
| 21 | Prints & Engravings | 판화, 에칭, 목판화, 석판화 |
| 22 | Photography Through Time | 역사적 사진과 예술사진 |
| 23 | Ceramics & Decorative Arts | 도자기, 유리, 장식공예 |
| 24 | The Met Highlights | 메트로폴리탄 미술관의 대표 소장품 |
다음에 나열한 명령어는 100개의 작품을 고르기 위해 옵션을 최적화한 것이다.
1. 인상주의 회화와 빛의 표현
python GET_MET_ART_KEYWORD.py --type painting --artist "Monet,Renoir,Pissarro,Sisley,Degas,Morisot,Manet,Caillebotte,Cassatt,Boudin" --no-color --subject 1 --query= --dry-run python GET_MET_ART_KEYWORD.py --filter filtered.csv --target 100 python .\make_gallery.py python .\make_pan_videos.py
2. 반 고흐, 세잔, 고갱 등 후기인상주의
python GET_MET_ART_KEYWORD.py --type painting --artist "Van Gogh,Cezanne,Cézanne,Gauguin,Seurat,Signac,Toulouse-Lautrec" --no-color --subject 1 --query= --dry-run # 70 python GET_MET_ART_KEYWORD.py --type painting --artist "Van Gogh,Cezanne,Cézanne,Gauguin,Seurat,Signac,Toulouse-Lautrec,Bonnard,Vuillard,Rousseau" --no-color --subject 1 --query= --dry-run #83
3. 17세기 네덜란드 회화
python GET_MET_ART_KEYWORD.py --type painting --artist "Rembrandt,Vermeer,Frans Hals,Ruisdael,Ruysdael,Jan Steen,Pieter de Hooch,Gerard ter Borch,Gerard Dou,Meindert Hobbema,Jacob van Ruisdael" --year 1600-1700 --no-color --subject 1 --query= --dry-run #84 python GET_MET_ART_KEYWORD.py --type painting --artist "Rembrandt,Vermeer,Frans Hals,Ruisdael,Ruysdael,Jan Steen,Pieter de Hooch,Gerard ter Borch,Gerard Dou,Meindert Hobbema,Adriaen van Ostade,Isaack van Ostade,Salomon van Ruysdael,Aelbert Cuyp,Jan van Goyen,Pieter Claesz,Willem Claesz Heda,Rachel Ruysch,Jan Davidsz de Heem,Judith Leyster" --year 1600-1700 --no-color --subject 1 --query= --dry-run #103
4. 이탈리아 르네상스 회화
python GET_MET_ART_KEYWORD.py --type painting --artist "Botticelli,Raphael,Raffaello,Leonardo da Vinci,Michelangelo,Titian,Tiziano,Fra Angelico,Giovanni Bellini,Andrea Mantegna,Perugino,Filippo Lippi,Filippino Lippi,Domenico Ghirlandaio,Piero della Francesca,Carpaccio,Veronese,Tintoretto,Correggio,Giorgione,Lorenzo Lotto,Andrea del Sarto,Antonello da Messina,Masaccio,Paolo Uccello" --year 1400-1600 --no-color --subject 1 --query= --dry-run #64 python GET_MET_ART_KEYWORD.py --type painting --artist "Botticelli,Raphael,Raffaello,Leonardo da Vinci,Michelangelo,Titian,Tiziano,Fra Angelico,Giovanni Bellini,Andrea Mantegna,Perugino,Filippo Lippi,Filippino Lippi,Domenico Ghirlandaio,Piero della Francesca,Carpaccio,Veronese,Tintoretto,Correggio,Giorgione,Lorenzo Lotto,Andrea del Sarto,Antonello da Messina,Masaccio,Paolo Uccello,Carlo Crivelli,Giovanni di Paolo,Sassetta,Benozzo Gozzoli,Jacopo Bellini,Jacopo Bassano,Giovanni Battista Cima,Giovanni Girolamo Savoldo,Moretto da Brescia,Paris Bordone,Domenico Veneziano,Andrea del Castagno,Luca Signorelli,Pinturicchio,Francesco Francia,Ercole de Roberti,Cosimo Tura,Giovanni Battista Moroni" --year 1400-1600 --no-color --subject 1 --query= --dry-run #116
[참고] EO1-Museum: ADB를 이용한 빌드, 설치 및 재시작
개요
EO1-Museum 앱을 수정한 뒤에는 PC에서 APK를 빌드하고 ADB(Android Debug Bridge)를 이용하여 EO1에 설치할 수 있다. 마우스나 키보드를 EO1에 직접 연결할 필요가 없다.
아래 명령어는 Windows PowerShell을 기준으로 하며, 작업 디렉터리는 C:\EO1-Museum이다.
- ADB 실행 파일:
C:\platform-tools\adb.exe - EO1 디바이스 시리얼 번호:
115343222 - 빌드 도구: Gradle Wrapper (
gradlew.bat) - EO1-Museum의 패키지명:
com.dan.eo1
1. 연결된 디바이스 확인
C:\platform-tools\adb.exe devices
출력 예:
List of devices attached 115343222 device emulator-5562 offline
115343222가 실제 연결된 EO1이다. emulator-5562는 offline 상태이므로 ADB 명령에 -s 115343222 옵션을 붙여 대상 기기를 명시한다.
2. APK 빌드
cd C:\EO1-Museum .\gradlew.bat assembleDebug
Gradle 빌드가 성공하면 일반적인 Android 앱 프로젝트에서는 다음 위치에 APK가 생성된다.
app\build\outputs\apk\debug\app-debug.apk
실제 APK 경로는 프로젝트 구성에 따라 다를 수 있다.
3. APK 설치
USB로 연결된 디바이스가 하나라면 -s <device ID> 없이 -d 옵션만으로 제어 가능하다.
C:\platform-tools\adb.exe -s 115343222 install -r .\app\build\outputs\apk\debug\app-debug.apk
또는
C:\platform-tools\adb.exe -d install -r .\app\build\outputs\apk\debug\app-debug.apk
-r 옵션은 기존 앱을 삭제하지 않고 업데이트한다. 일반적으로 기존 앱 데이터도 유지된다.
4. EO1 전체 재부팅
C:\platform-tools\adb.exe -s 115343222 reboot
기기 전체를 재부팅한다. 부팅이 완료될 때까지 ADB 연결이 일시적으로 끊어진다.
5. 앱만 재시작
기기 전체를 재부팅하지 않고 앱만 종료한 뒤 다시 실행할 수 있다.
C:\platform-tools\adb.exe -s 115343222 shell am force-stop com.dan.eo1 C:\platform-tools\adb.exe -s 115343222 shell monkey -p com.dan.eo1 -c android.intent.category.LAUNCHER 1
패키지명은 실제 EO1-Museum 앱의 Android package ID로 바꿔야 한다. monkey로 실행되지 않는 앱은 실제 Activity 이름을 확인하여 am start -n으로 실행할 수 있다.
6. 빌드, 설치, 재부팅을 한 번에 실행
cd C:\EO1-Museum .\gradlew.bat assembleDebug if ($LASTEXITCODE -ne 0) { throw "Build failed" } C:\platform-tools\adb.exe -s 115343222 install -r .\app\build\outputs\apk\debug\app-debug.apk if ($LASTEXITCODE -ne 0) { throw "Install failed" } C:\platform-tools\adb.exe -s 115343222 reboot
빌드나 설치가 실패하면 다음 단계로 진행하지 않는다.
7. Wi-Fi를 이용한 무선 ADB 연결
EO1과 개발용 PC가 동일한 Wi-Fi 네트워크에 연결되어 있다면 USB 케이블 없이 ADB 명령을 실행할 수 있다.
EO1은 Android 4.4.2를 사용하므로 최신 Android의 무선 디버깅 페어링 기능을 사용할 수 없다. 대신 USB ADB 연결을 통해 TCP/IP 모드를 활성화한 다음 Wi-Fi로 접속한다.
7.1. USB 연결 상태에서 TCP/IP 모드 활성화
먼저 USB 케이블로 EO1을 PC에 연결하고 다음 명령을 실행한다.
C:\platform-tools\adb.exe -s 115343222 tcpip 5555
정상적으로 실행되면 다음과 비슷한 메시지가 출력된다.
restarting in TCP mode port: 5555
이제 EO1은 TCP 포트 5555에서 ADB 연결을 기다린다.
7.2. EO1의 IP 주소 확인
USB 케이블을 분리하기 전에 EO1의 Wi-Fi IP 주소를 확인한다.
C:\platform-tools\adb.exe -s 115343222 shell ip addr show wlan0
출력에서 inet 항목을 확인한다.
예를 들어 다음과 같다면:
inet 192.168.0.123/24
EO1의 IP 주소는 192.168.0.123이다.
7.3. 무선 ADB 연결
이제 USB 케이블을 분리하고 PC에서 다음 명령을 실행한다.
C:\platform-tools\adb.exe connect 192.168.0.123:5555
IP 주소는 실제 EO1의 주소로 변경해야 한다.
정상적으로 연결되면 다음과 같은 메시지가 출력된다.
connected to 192.168.0.123:5555
연결 상태 확인:
C:\platform-tools\adb.exe devices
출력 예:
List of devices attached 192.168.0.123:5555 device emulator-5562 offline
7.4. 무선으로 앱 재시작
무선 연결 이후에는 기존 시리얼 번호 대신 IP주소:5555를 사용한다.
C:\platform-tools\adb.exe -s 192.168.0.123:5555 shell am force-stop com.dan.eo1 C:\platform-tools\adb.exe -s 192.168.0.123:5555 shell am start -n com.dan.eo1/.MainActivity
7.5. 무선으로 APK 설치
C:\platform-tools\adb.exe -s 192.168.0.123:5555 install -r .\app\build\outputs\apk\debug\app-debug.apk
무선 ADB에서도 USB 연결과 동일하게 APK를 설치할 수 있다.
7.6. 무선으로 EO1 재부팅
C:\platform-tools\adb.exe -s 192.168.0.123:5555 reboot
주의: EO1을 재부팅하면 무선 ADB 연결이 끊어진다. 현재 EO1 구성에서는 TCP/IP 모드가 재부팅 후 유지되지 않으므로, 다시 무선 ADB를 사용하려면 USB로 연결하여 adb tcpip 5555를 실행해야 한다.
7.7. 무선 연결 해제
C:\platform-tools\adb.exe disconnect 192.168.0.123:5555
이 명령은 PC의 ADB 연결만 해제한다. EO1의 TCP/IP 디버깅 서비스 자체를 종료하는 것은 아니다.
USB ADB 모드로 되돌리려면 USB 연결 상태에서 다음 명령을 실행한다.
C:\platform-tools\adb.exe -s 192.168.0.123:5555 usb
이 명령을 실행하면 무선 ADB 연결이 종료된다.
무선 ADB 사용 시 주의사항
- EO1과 PC는 서로 통신할 수 있는 동일한 로컬 네트워크에 있어야 한다.
- 방화벽이나 공유기의 클라이언트 격리 기능 때문에 연결이 차단될 수 있다.
- TCP 포트 5555는 인증되지 않은 접근에 노출되지 않도록 신뢰할 수 있는 사설 네트워크에서만 사용한다.
- 외부 인터넷에 포트 5555를 공개하거나 공유기에서 포트 포워딩하지 않는다.
- EO1 재부팅 후에는 무선 ADB 활성화 절차를 다시 수행해야 한다.
참고
adb devices: 연결된 Android 디바이스 확인-s 115343222: 명령을 실행할 대상 디바이스 지정assembleDebug: 디버그 APK 빌드install -r: 기존 앱 업데이트am force-stop: 앱 강제 종료adb reboot: Android 기기 전체 재부팅
앱 설치 후 반드시 전체 재부팅이 필요한 것은 아니다. 변경 사항을 확인하는 목적이라면 앱만 재시작해도 되는 경우가 많다.
