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개의 작품을 고르기 위해 옵션을 최적화한 것이다.
- –highlight: The Met가 주요 소장품(Highlights)으로 선정한 작품만 검색 대상으로 제한합니다.
MetObjects.csv의Is Highlight필드를 기준으로 하며, 작품의 인기도나 이미지 품질을 평가하는 기능은 아닙니다. 옵션을 지정하지 않으면 일반 작품도 검색 대상에 포함됩니다.
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
5. 바로크 시대의 극적인 명암과 표현
python GET_MET_ART_KEYWORD.py --type painting --artist "Caravaggio,Artemisia Gentileschi,Orazio Gentileschi,Peter Paul Rubens,Anthony van Dyck,Jacob Jordaens,Jusepe de Ribera,Francisco de Zurbaran,Diego Velazquez,Bartolome Esteban Murillo,El Greco,Guido Reni,Guercino,Annibale Carracci,Luca Giordano,Mattia Preti,Bernardo Strozzi,Domenico Fetti,Valentin de Boulogne,Georges de La Tour,Nicolas Poussin,Simon Vouet,Hendrick ter Brugghen,Gerrit van Honthorst,Salvator Rosa" --year 1590-1700 --no-color --subject 1 --query= --dry-run #83
6. 낭만주의 풍경화
python GET_MET_ART_KEYWORD.py --type all --object any --subject 1 --no-color --query "romanticism,romantic landscape,sublime,picturesque,caspar david friedrich,turner,ruysdael,thomas cole,frederic edwin church,albert bierstadt,john constable" --dry-run
7. 일본 우키요에와 목판화
8. 한국의 회화, 도자기, 공예
9. 중국 산수화, 문인화, 서예
10. 인도 및 남아시아 미술
python GET_MET_ART_KEYWORD.py --type all --object any --subject 1 --no-color --department "Asian Art,Islamic Art" --query "india,indian,mughal,rajput,deccan,nepal,nepalese,tibet,tibetan,pakistan,bengal,kashmir,sri lanka,ceylon" --highlight --dry-run #126
11. 고대 이집트 유물과 장식미술
12. 이슬람 미술의 기하학적 문양과 장식
13. 시대와 지역을 넘나드는 초상화
14. 여성 인물과 여성 예술가의 작품
15. 꽃과 식물을 소재로 한 미술
16. 정물화와 일상 사물
17. 동물을 소재로 한 회화, 판화, 공예
18. 바다, 강, 항구, 배를 소재로 한 작품
19. 도시 풍경과 건축
20. 밤, 달빛, 그림자의 표현
21. 판화, 에칭, 목판화, 석판화
22. 역사적 사진과 예술사진
23. 도자기, 유리, 장식공예
24. 메트로폴리탄 미술관의 대표 소장품
[참고] 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 기기 전체 재부팅
앱 설치 후 반드시 전체 재부팅이 필요한 것은 아니다. 변경 사항을 확인하는 목적이라면 앱만 재시작해도 되는 경우가 많다.
