Getting Started
시작하기
The example Android project developed in this chapter interfaces with the low-cost SensorTag device (“SensorTag” on page 91) manufactured by Texas Instruments (TI).
이 장에서 개발한 예제 안드로이드 프로젝트는 Texas Instruments (TI)에서 제조한 저가형 SensorTag 장치 (91페이지의 "SensorTag")와 인터페이스합니다.
The SensorTag offers many sensors and is a great example of a complex sensor device that can provide lots of information to be processed and visualized.
SensorTag는 많은 센서를 제공하며 처리하고 시각화할 많은 정보를 제공할 수 있는 복잡한 센서 장치의 좋은 예입니다.
Because the GUI side of Android can get a bit complex and is generally beyond the scope of this book, this chapter focuses on getting you to the point where you can extract data out of the SensorTag and receive it via Bluetooth Low Energy.
안드로이드의 GUI 측면은 다소 복잡할 수 있으며 일반적으로 이 책의 범위를 벗어나므로, 이 장에서는 SensorTag에서 데이터를 추출하여 Bluetooth Low Energy를 통해 수신하는 단계까지 안내하는 데 중점을 둡니다.
At that point, many other available resources can demonstrate ways to present data.
이 시점에서 사용 가능한 다른 많은 리소스를 통해 데이터를 표시하는 방법을 보여줄 수 있습니다.
Get the Hardware
하드웨어 구입
For hardware, you’ll need an Android device running Android version 4.3 or later.
하드웨어는 안드로이드 버전 4.3 이상이 실행되는 안드로이드 기기가 필요합니다.
While Android began supporting BLE version 4.3, we recommend a device running at least version 4.4, which includes an updated and more stable version of the BLE protocol stack.
Android는 BLE 버전 4.3을 지원하기 시작했지만 업데이트되고 더욱 안정적인 BLE 프로토콜 스택 버전이 포함된 버전 4.4 이상을 실행하는 기기를 권장합니다.
You’ll also need to make sure the hardware supports Bluetooth Low Energy.
또한 하드웨어가 Bluetooth Low Energy를 지원하는지 확인해야 합니다.
This example project uses a Google Nexus 7 running Android 4.4.
이 예제 프로젝트는 Android 4.4를 실행하는 Google Nexus 7을 사용합니다.
To confirm whether your device supports BLE, see Blueooth’s Smart Devices List.
장치가 BLE를 지원하는지 확인하려면 Blueooth의 스마트 장치 목록을 참조하세요.
You’ll also need to pick up a TI SensorTag, which will serve as the peripheral device in this project.
또한 이 프로젝트에서 주변 장치 역할을 할 TI SensorTag를 선택해야 합니다.
See “SensorTag” on page 91 for more information about the SensorTag device.
SensorTag 장치에 대한 자세한 내용은 91페이지의 "SensorTag"를 참조하십시오.
For this project, you’ll need three main pieces of software:
이 프로젝트에는 세 가지 주요 소프트웨어가 필요합니다:
Eclipse Android Development Tools (ADT)
이클립스 안드로이드 개발 도구 (ADT)
Available at the Android Developer site
Android 개발자 사이트에서 사용 가능
Bluetooth Application Accelerator
블루투스 애플리케이션 가속기
Available at the Bluetooth SIG website
Bluetooth SIG 웹사이트에서 사용 가능
TI SensorTag Android app source code
TI SensorTag 안드로이드 앱 소스 코드
Available at TI’s website
TI 웹사이트에서 이용 가능
The most important and most time-consuming part of the setup is installing the Android Development Tools, which also requires understanding a bit about how to use the Eclipse IDE.
설정에서 가장 중요하고 시간이 많이 걸리는 부분은 Android 개발 도구를 설치하는 것이며, 이를 위해서는 Eclipse IDE 사용 방법에 대한 약간의 이해도 필요합니다.
Your best bet is to go to the Android Developer site for detailed instructions on setting up your working environment.
가장 좋은 방법은 작업 환경 설정에 대한 자세한 지침을 보려면 Android 개발자 사이트로 이동하는 것입니다.
You’ll need to download the latest SDKs and any updates to the Android Developer Tools.
최신 SDK와 Android 개발자 도구 업데이트를 다운로드해야 합니다.
Configure the Hardware
하드웨어 구성
The Android device needs a bit of configuration before it can be used as a development device.
Android 장치를 개발 장치로 사용하려면 먼저 약간의 구성이 필요합니다.
First, you’ll need to enable Developer mode, if it’s not already enabled.
먼저 개발자 모드가 아직 활성화되어 있지 않은 경우 활성화해야 합니다.
Go to the Settings menu, scroll down to the bottom, and select Settings About.
설정 메뉴로 가서 아래로 스크롤하여 설정 정보를 선택합니다.
On the About screen (shown in Figure 8-1), tap “Build number” seven times in rapid succession to turn on Developer mode. 98 | Chapter 8:
정보 화면 (그림 8-1 참조)에서 "빌드 번호"를 빠르게 7번 탭하여 개발자 모드를 켭니다. 98 | 8장:
Enabling Developer mode from the About screen You should now see a new “Developer options” item in the Settings menu.
정보 화면에서 개발자 모드 활성화 이제 설정 메뉴에서 새로운 "개발자 옵션" 항목을 볼 수 있습니다.
Now, you’ll need to enable the “USB debugging” and “Stay awake” options, as shown in Figure 8-2.
이제 그림 8-2와 같이 "USB 디버깅" 및 "깨어있기" 옵션을 활성화해야 합니다.
Finally, go to the Settings menu, select Storage→Options→“USB computer connection,” and enable the Camera option (as shown in Figure 8-3)to allow you to transfer files.
마지막으로 설정 메뉴로 이동하여 저장소→옵션→“USB 컴퓨터 연결”을 선택한 다음 카메라 옵션 (그림 8-3 참조)을 활성화하여 파일을 전송할 수 있습니다.
This might sound counterintuitive, but the device needs to be in Camera mode for the development tools to work.
반직관적으로 들릴 수도 있지만 개발 도구가 작동하려면 장치가 카메라 모드에 있어야 합니다.
To start a new application, you’ll first need to import the Bluetooth Application Accelerator’s Android files into the project.
새 애플리케이션을 시작하려면 먼저 Bluetooth 애플리케이션 가속기의 Android 파일을 프로젝트로 가져와야 합니다.
Open Eclipse ADT, select File/Import, navigate to the directory that contains the Application Accelerator, and select the Android/ BLEDemo folder.
이클립스/Eclipse ADT를 열고 파일/가져오기를 선택한 다음 애플리케이션 가속기가 포함된 디렉터리로 이동하고 Android/BLEDemo 폴더를 선택합니다.
Press OK to import the project into the workspace.
확인을 눌러 프로젝트를 작업 공간으로 가져옵니다.
At this point, you might want to look through the Application Accelerator files a bit to see how the code is laid out.
이 시점에서 코드가 어떻게 배치되어 있는지 확인하기 위해 애플리케이션 가속기 파일을 잠시 살펴볼 수 있습니다.
If it looks foreign to you, don’t worry.
낯설게 보이더라도 걱정하지 마세요.
Rather than spending too much time inside the Application Accelerator, you’re going to move the main class files for the BLE library into your own project.
애플리케이션 가속기 내에서 너무 많은 시간을 소비하는 대신 BLE 라이브러리의 기본 클래스 파일을 자신의 프로젝트로 이동하겠습니다.
Now it’s time to create your own Android project.
이제 자신만의 안드로이드 프로젝트를 만들 차례입니다.
In Eclipse, go to File→New→Android Application Project.
이클립스에서 파일→새로 만들기→Android 애플리케이션 프로젝트로 이동합니다.
For the Application Name, use BleSensorTag.
애플리케이션 이름은 BleSensorTag를 사용합니다.
For Minimum Required SDK, specify Android 4.3.
최소 필수 SDK의 경우 Android 4.3을 지정하세요.
This is the minimum version of Android that supports Bluetooth Low Energy.
Bluetooth Low Energy를 지원하는 최소 Android 버전입니다.
For Target SDK and Compile With, use the latest version of Android the device supports.
타깃 SDK 및 Compile With의 경우 기기가 지원하는 최신 버전의 Android를 사용하세요.
Click Next for the rest of the windows to accept the defaults.
나머지 윈도우에서는 기본값을 적용하려면 다음을 클릭하세요.
Finally, the project wizard should create a new Android project for you called BleSensorTag.
마지막으로 프로젝트 마법사는 BleSensorTag라는 새로운 Android 프로젝트를 생성해야 합니다.
As shown in Figure 8-4 (which shows the project directory structure on the left and the main code window in the right), an Android project contains many folders and files, but you’ll be working in only a few.
그림 8-4 (왼쪽에 프로젝트 디렉터리 구조, 오른쪽에 기본 코드 창 표시)에 표시된 것처럼 Android 프로젝트에는 많은 폴더와 파일이 포함되어 있지만 작업할 폴더는 몇 개에 불과합니다.
The main source code file is located in the /src directory.
주요 소스 코드 파일은 /src 디렉토리에 있습니다.
Each project also includes a manifest, called AndroidManifest.xml, that details essential information about the application to the Android system.
각 프로젝트에는 Android 시스템에 대한 애플리케이션에 대한 필수 정보를 자세히 설명하는 AndroidManifest.xml이라는 매니페스트도 포함되어 있습니다.
Android requires this information before it can run any code on the system.
Android는 시스템에서 코드를 실행하기 전에 이 정보가 필요합니다.
Beyond that, you’ll also be working in the /res folder, which contains XML files that handle the layout and menus that you will be using.
그 외에도 사용할 레이아웃과 메뉴를 처리하는 XML 파일이 포함된 /res 폴더에서도 작업하게 됩니다.
Android programming is a huge topic in itself, far beyond the scope of this chapter, which focuses only on the context of integrating Bluetooth Low Energy into an Android app.
Android 프로그래밍은 Bluetooth Low Energy를 Android 앱에 통합하는 맥락에만 초점을 맞춘 이 장의 범위를 훨씬 넘어서는 그 자체로 큰 주제입니다.
For more complex GUI applications, we recommend consulting other Android programming texts.
보다 복잡한 GUI 애플리케이션의 경우 다른 Android 프로그래밍 텍스트를 참조하는 것이 좋습니다.
Before you begin any actual coding, you’ll need to enable BLUETOOTH and BLUETOOTH_ADMIN permissions inside the Android manifest.
실제 코딩을 시작하기 전에 Android 매니페스트 내에서 BLUETOOTH 및 BLUETOOTH_ADMIN 권한을 활성화해야 합니다.
Double-click the AndroidManifest.xml file and select the Permissions tab (shown in Figure 8-5).
AndroidManifest.xml 파일을 두 번 클릭하고 권한 탭을 선택합니다 (그림 8-5 참조).
Choose “Add…”→“Uses Permission” and type android.permission.BLUETOOTH in the Name field.
“추가…”→“권한 사용”을 선택하고 이름 필드에 android.permission.BLUETOOTH를 입력합니다.
Do the same to add another “Uses Permission,” this time giving it the name android.permission.BLUETOOTH_ADMIN.
또 다른 "권한 사용"을 추가하려면 동일한 작업을 수행합니다. 이번에는 android.permission.BLUETOOTH_ADMIN이라는 이름을 지정합니다.
These two entries request permission from the user to access the named services when the application is installed.
이 두 항목은 애플리케이션이 설치될 때 지정된 서비스에 액세스할 수 있도록 사용자에게 권한을 요청합니다.
Now, you need to move class files from the Bluetooth Application Accelerator into your project.
이제 Bluetooth 애플리케이션 가속기의 클래스 파일을 프로젝트로 이동해야 합니다.
That will make the classes and methods available to you, many of which make BLE programming much easier.
그러면 클래스와 메서드를 사용할 수 있게 되며 그 중 다수는 BLE 프로그래밍을 훨씬 쉽게 만들어줍니다.
Select and copy the following files:
다음 파일을 선택하고 복사합니다:
Paste the files into the /src directory of the BleSensorTag project (or drag and drop them into that directory).
파일을 BleSensorTag 프로젝트의 /src 디렉토리에 붙여넣습니다 (또는 해당 디렉토리로 끌어서 놓습니다).
Once you’ve added these files, the /src directory should look like Figure 8-6.
이러한 파일을 추가하고 나면 /src 디렉토리는 그림 8-6과 같아야 합니다.
The Android /src directory BleWrapper is the main part of the Application Accelerator library issued by the Bluetooth SIG.
Android /src 디렉터리 BleWrapper는 Bluetooth SIG에서 발행한 애플리케이션 가속기 라이브러리의 주요 부분입니다.
It’s a simplified wrapper into the Android Bluetooth Low Energy library that makes accessing and using the library much simpler, because it handles a lot of the complicated processing.
Android Bluetooth Low Energy 라이브러리에 대한 단순화된 래퍼로, 복잡한 처리를 많이 처리하므로 라이브러리에 액세스하고 사용하는 것이 훨씬 간단해집니다.
This takes care of the prep work for the project.
프로젝트 준비 작업을 담당합니다.
Now that you’ve created the project, configured the manifest, installed the class libraries, you’re ready to get into the meat of the Android code.
이제 프로젝트를 생성하고, 매니페스트를 구성하고, 클래스 라이브러리를 설치했으므로 Android 코드의 핵심을 살펴볼 준비가 되었습니다.