GPIO 코드 컴파일(Build)
이제 실제 앱을 이용하여 BBB의 GPIO를 컨트롤해보자.
이전 글에서 만들었던 안드로이드 프로젝트 대신에 이미 구현이 되어 있는 첨부 파일을 사용할 것이다.
이 첨부 파일 안에 라이브러리는 이전 글에서 만들었던 것과 동일한 so 파일이 담겨져 있다. 첨부 파일을 다운로드 받고 적당한 위치에 압축을 풀고 Eclipse ADT를 실행한다.
1. 'File' → 'Import'를 선택하고,
2. 'Android' → 'Existing Android Code Into Workspace'를 선택 한 후, 'Next'를 누른다.
3. 하기 빨간 네모 안 'Browse'를 선택하여, 압축을 해제한 폴더 'gpio'를 클릭 한 후 '폴더선택' 버튼을 누른다.
4. 'Finish' 버튼을 눌러 끝낸다.
이제 프로젝트를 Build 하기 위해서 "gpio에서 오른쪽 클릭" → 'Run As' → 'Android Applicaiton' 선택.
하지만, 보기 좋게 Error 발생.
이 Error에 대해서 검색을 해보니 다음과 같이 해결 방안을 찾을 수 있었다.
https://m.blog.naver.com/kkson50/221208277244
그래서 Eclipse에서 'Window → Android SDK Manager'를 실행.
Android SDK Build-tools 25.0.3을 체크하고 'install 1 package'를 실시.
Accept License를 체크하고 Install 버튼을 누른다.
인스톨을 마친 이후에 Eclipse SDK가 위치한 폴더로 이동 후 build-tools\25.0.3\lib\dx.jar 파일을 복사하여 build-tools\29.0.2\lib\dx.jar 파일을 대체 하도록 덮어 씌우기를 한다.
그 다음 다시 build를 실시하면 정상적으로 build가 완료된다.
그러나 Android Virtual Device(ADB)에서 다음과 같이 문제 발생. 우리가 만든 gpio 앱이 정지되었다.
이 문제는 ADB 설정시 Intel CPU로 셋팅을 해서 발생한 문제이다. 그래서 ARM CPU로 변경하였다.
그리고 다시 build 하면 정상적으로 GPIO 앱이 화면에 display 되는 것을 확인할 수 있다.
여기까지 컴파일(build)한 GPIO 코드가 Emulator에서 잘 동작하는 것을 확인했다.
GPIO 앱을 BeagleBone Black에 넣기
이제, BBB에 컴파일 하고 만들어진 앱(apk)를 넣는 일만 남았다.
넣는 방법은 이전에 hacktHAL을 BBB에 넣었던 것과 동일하게 ADB를 사용하는 것이다.
참고로, 하기 글을 참고하면 hacktHAL을 BBB에 어떻게 넣었는지 확인 할 수 있다.
다음과 같은 순서로 실행을 하면 BBB에 adb 명령어를 이용하여 생성한 앱 즉, .apk 파일을 BBB에 넣을 수 있다.
1. 컴파일 후 생성된 .apk 파일을 확인한다. 안드로이드 프로젝트 안에 \gpio\bin 폴더 안에 있을 것이다. 본인의 경우는 하기 그림과 같이 확인 가능했다.
2. Window에서 CMD 창을 열고 adb.exe가 있는 파일로 경로를 변경 한다.
3. BBB 보드를 USB로 PC와 연결한 후 정상적으로 연결되어 adb 명령어를 사용할 수 있는지 다음과 같이 adb devices 명령어를 입력하여 확인 한다.
4. 정상적으로 BBBANDROID가 확인이 되었다면, adb install -d 명령어를 이용하여 #1의 경로에 있는 gpio.apk 파일을 BBB의 Android system에 install 한다.
adb install -d D:\02_Dev_Tools\01_Android\eclipse_workspace\gpio\bin\gpio.apk
위와 같이 Success가 보여진다면, 앱이 정상적으로 BBB에 install 되었다는 것이다.
실제로 BBB를 HDMI 케이블을 이용하여 모니터에 연결 하였을때 메인 화면에 gpio 앱이 깔려 있음을 확인 할 수 있었다.
그리고 마우스를 BBB에 연결하여 gpio 앱을 실행을 하면 다음과 같이 보여진다.
실제로 마우스로 Turn light on을 클릭하면 GPIO30인 P9의 11번 핀이 High로, Turn light off를 클릭하면 Low로 변경되는 것을 확인할 수 있었다.
- 끝.
'안드로이드 임베디드 > Android for the BeagleBone Black' 카테고리의 다른 글
Eclipse ADT를 이용한 앱으로 BeagleBoneBlack GPIO 컨트롤하기 (1/2) (0) | 2019.12.19 |
---|---|
BeagleBone Black에서 GPIO Control 하기 (0) | 2019.12.18 |
Window10에서 ADB Tool을 이용하여 PacktHAL files을 동작하는 Beaglebone Black(BBB)에 넣기 (0) | 2019.12.12 |
Beaglebone Black에 Android 이미지 올리기 (0) | 2019.12.02 |
Ubuntu에 ADB 설치하기 (0) | 2019.12.02 |