카우치베이스 모바일

비콘 및 카우치베이스 라이트 안드로이드 시작하기

altbeacon비콘. 이 작은 기기는 앞으로 어디에나 있을 수 있는 기기가 될 것입니다. 비콘은 Apple의 iBeacon, AltBeacon에서 시작되었으며, 이제 Google은 자체 플랫폼인 에디스톤. 흥미로울 것 같습니다.

비콘이 무엇인지 모른다면 세상에 자신의 존재를 알리는 방법만 아는 멍청한 물건일 뿐입니다. 그것이 비콘의 유일한 목적입니다. 범위 내에서 듣고 있는 사람에게 내가 여기 있고 내 이름은 e9ae6b9f-7238-4df6-8497-dec29ebf4184(또는 그와 비슷한 이름)라고 알려주는 것입니다. 이를 위해 다음을 사용합니다. 블루투스 LE (또는 Bluetooth 저에너지, BLE, Bluetooth 스마트).

즉, 비콘은 비콘의 존재에 반응하는 방법을 알고 있는 애플리케이션이 있을 때 유용합니다. 앱은 사용자가 비콘을 마주쳤을 때 무엇을 해야 할지 알아야 합니다. 그리고 시간이 지나면 해야 할 일이 바뀔 수도 있습니다. 사용자가 슈퍼마켓에서 비콘을 발견하면 앱이 현재 판매 중인 상품을 보여줄 수 있습니다. 물론 이 역시 시간이 지나면 바뀔 것입니다. 따라서 비콘으로 작업할 때 좋은 점은 비콘의 용도를 변경할 수 있다는 것입니다. 이는 Couchbase Mobile이 제공할 수 있는 기능입니다. 특정 비콘에 대한 새로운 동작을 쉽게 다시 동기화할 수 있습니다.

물론 오프라인에서 작동하기 때문에 사용자가 네트워크에 연결되어 있지 않더라도 항상 의도한 작업을 수행할 수 있습니다. 또한 비콘 범위 내에 있는 사용자에 대한 정보가 포함된 문서를 로컬에 저장하고 나중에 서버에 다시 동기화할 수도 있습니다. 네트워크 연결이 되지 않거나 연결 상태가 좋지 않은 장소에서의 사용자 행동에 대한 흥미로운 데이터를 얻을 수 있습니다. 예를 들어 대규모 야외 이벤트를 생각해 보세요.

다양한 컨퍼런스와 밋업에서 이러한 아이디어를 가지고 놀기 시작했는데, 비콘과 Android를 시작하는 방법은 다음과 같습니다.

비콘 테스트

비콘을 테스트하는 것이 제가 가장 먼저 하고 싶었던 일이었습니다. 그 이유는 제가 비콘이 없기 때문입니다.) 이상하게 들릴 수도 있겠죠. 하지만 비콘은 저에너지 블루투스 장치일 뿐입니다. 제 Mac에는 블루투스가 있고, BLE 동글과 라즈베리파이도 있으니 모든 것이 괜찮을 겁니다.

Radius Networks의 훌륭한 직원들은 아주 간단하게 비콘 역할을 할 수 있는 VM 이미지를 구축했습니다. 모든 것은 그들의 웹사이트. Mac을 사용하는 경우 VirtualBox에서 Bluetooth 하드웨어를 사용하려면 먼저 VM 호스트에 대해 해당 하드웨어를 비활성화해야 합니다. 블루투스 동글을 사용하는 경우 VirtualBox가 이를 사용하도록 구성되어 있는지 확인하세요.

그들은 또한 PiBeacon을 만들었습니다. 이것은 라즈베리파이에 기반한 비콘 개발 키트입니다. 그리고 라즈베리용 이미지를 다운로드할 수 있습니다. 여기. 전체 지침은 웹사이트.

이미지가 있는 Raspberry를 실행하고 나면, SSH로 접속하여 다음과 같은 작업을 실행할 수 있습니다.

이것은 비콘 송신기를 시뮬레이션합니다. 비콘에는 세 가지 식별자가 있습니다. UUID, 메이저 버전, 마이너 버전입니다. 이는 AltBeacon(개방형 포맷), iBeacon(Apple), EddyStone(Google)과 같은 모든 비콘 포맷 간의 공통 계층의 일부입니다. 그리고 이것이 앱이 비콘을 식별하는 데 사용하는 것입니다.

모든 것이 제대로 작동하는지 확인하고 싶어서 Mac에는 BeaconScanner를, 휴대폰에는 다른 비콘 스캐닝 앱을 설치했습니다. 두 앱 모두 신호를 수신했기 때문에 앱에서 작업할 준비가 되었습니다.

 Android 및 비콘

모든 것을 가능한 한 단순하게 유지하고 싶었기 때문에 AltBeacon 스택. 모든 것이 오픈 소스 그리고 그들은 멋진 Android 라이브러리. 또한 이해하기 쉽고 멋진 코드 샘플 를 사용하여 쉽게 시작할 수 있습니다. 따라서 가장 먼저 앱에 올바른 종속성을 포함하세요. JCenter maven 저장소를 추가하는 것으로 시작하세요:

그런 다음 실제 라이브러리를 추가합니다:

권한을 수정할 수 있는 또 다른 방법은 애플리케이션에 올바른 권한을 추가하는 것입니다. AndroidManifest.xml:

카우치베이스 모바일로 할 수 있는 일은 기본적으로 두 가지입니다. 클라이언트 역할을 하여 비콘의 존재에 반응하거나 백엔드 역할을 하여 비콘을 구성할 수 있습니다.

비콘 백그라운드 서비스를 초기화하는 코드부터 시작해 보겠습니다. 애플리케이션에서 생성 시 다음 코드를 실행할 수 있습니다:

테스트 목적으로 공격적인 타이밍을 설정했습니다. 프로덕션에서는 더 긴 기간을 사용할 것입니다. 제 애플리케이션 클래스에는 BootstrapNotifier 인터페이스도 구현되어 있습니다. didEnterRegion 메서드를 사용하면 비콘 범위 내에 들어올 때 특정 활동을 실행할 수 있습니다.

이 활동에는 예를 들어 비콘 ID에 따라 표시하려는 코드가 포함됩니다. 또는 현재 사용자가 특정 비콘의 범위 내에 있었다는 것을 기록하기 위해 문서를 저장하고 싶을 수도 있습니다. 이것이 제가 가장 먼저 하고 싶은 일입니다. 그래서 저는 비콘컨슈머 인터페이스.

이것은 매우 기본적인 코드이지만 아이디어를 얻으실 수 있습니다. 이때 비콘의 식별자의 이름을 딴 채널을 동기화할 수도 있습니다. 이렇게 하면 사용자에게 의미 있는 정보를 표시하는 데 필요한 모든 정보를 얻을 수 있습니다. 시간이 지남에 따라 이 정보가 변경되면 비콘 동작이 포함된 문서를 수정하고 모든 사용자에게 다시 동기화하기만 하면 됩니다. 비콘 백엔드를 구축하는 것은 매우 쉽습니다. 동기화 게이트웨이 REST API :)

비콘에 대해 어떻게 생각하시나요? 이미 비콘을 사용하고 계신가요? 비콘에 대해 더 자세히 이야기하고 싶으신가요? 여러분의 의견을 알려주세요!

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

Author

Posted by 로랑 도귄

Laurent는 파리에 사는 괴짜 금속공학도입니다. 주로 Java로 코드를 작성하고 AsciiDoc으로 구조화된 텍스트를 작성하며 데이터, 리액티브 프로그래밍 및 기타 유행어에 대해 자주 이야기합니다. 또한 Clever Cloud와 Nuxeo의 개발자 옹호자로 활동하며 해당 커뮤니티가 더 크고 강력하게 성장할 수 있도록 자신의 시간과 전문성을 바쳤습니다. 현재 Couchbase에서 개발자 관계를 운영하고 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.