Android Blufi 연결(Connect)하기 (1)
친구들과 '간편 통합 대기질 측정 장치'를 제작하면서 Blufi를 사용할 일이 생겼다. (이름이 나만 이상하게 보이나...)
이 프로젝트는 조만간 프로젝트 카테고리에도 글을 자세히 올리도록 하겠다.
이번 글에서는 대락적인 요약 정도로만 하고, 그 다음에서 실제 연결하는 방법에 대해 글을 쓰도록 하겠다.
대략적인 구조
ESP32인가 뭔가... 를 사용한다. 임베디드에 관심이 많다며 평소 소리치고 다녔는데, 이에 관련해서는 아는 것이 별로 없다. 분발해야 겠다.
아무튼, BLE GATT를 이용하고 특성(Characteristic)을 이용하여 빠르게 연결을 수립한다. 그리고 근처 Wifi를 검색하고 해당 SSID에 연결하여 서버와 통신하는 구조이다.
처음에는 GATT나 Characteristic 등과 같은 것에 대한 이해가 부족하여 많은 자료를 찾아봤었는데 도움이 되었던 자료들을 아래 첨부한다.
정리하자면,
BLE연결 - Wifi SSID, PW 전송 - 서버 통신
블루투스는 Wifi데이터를 보내기 위해 연결하는 것이고, 서버와 센서 디바이스가 항상 데이터를 주고 받기 때문에 앱에서는 서버 데이터를 불러온다.
Blufi가 무엇인가?
이에 대한 설명을 아직 안 했단 것을 망각하고 있었다.(...) 필자도 알게된지 얼마 안 되었기 때문에 누락된 정보나 잘못된 정보는 댓글로 정보를 알려주시면 고맙겠(습니)다.
눈치가 빠른 사람들은 이름에서 약간 냄새가 나는 것을 눈치챘을 것이다. Bluetooth to WiFi Gateway 라고 하는데, Bluetooth를 이용해 Wifi와 Connect(연결)을 시켜주는 것이다.
필자가 사용하는 ESP32라는 저전력의 굉장히 작은 칩이 들어가있는 흔히 아는 아두이노와 비슷한 물건이 있다. 이를 사용할건데, espressif라는 회사에서 Blufi for ESP32 라는 라이브러리를 통해 쉽게 연결할 수 있도록 문서와 함께 제공하고 있다. 다음 편에서는 이를 활용해 직접 연결을 시도해 볼 것이다.

BluFi 플로우차트
보시는 바와 같이, ESP32와 모바일 기기 사이에서 GATT 커넥션이 이루어 진다. 그 다음 기기들 사이에 보안연결을 구성한다.(그러는 것 같다...) 구성이 끝나면, 연결할 Wifi의 SSID와 PW를 전송하고, ESP32에서 연결을 시도하게 된다.
그럼 끝이다!
본인의 프로젝트에서는, Wifi에 연결을 하게 되면 대기질 데이터를 서버와 주고 받게 되는 것이다.
이번 편은 여기까지
아무튼, 다음 편에서 직접 연결과정을 보면 위의 플로우차트나 다른 것들도 이해가 잘 될 것이다.
또 새롭게 알게된 정보나 잘못된 정보가 있다면 바로 수정을 하도록 하겠다.
아직 한국어로 된 정보들이 별로 없어서 처음 알게 되었을 때 문서나 Github에서 예제를 제공중인 앱의 소스를 보면서 만들었다. 처음에는 힘들었는데 알고보니 생각보다 간단했다. 이 글이나 다음 글을 통해 ESP32로 BluFi를 구현하는 사람들이 시간을 절약했으면 좋겠다.
'Android' 카테고리의 다른 글
레이아웃 디자인에 도움이 되는 사이트 (0) | 2018.12.22 |
---|---|
Android Vector Drawable(Asset) 사용하기 (0) | 2018.11.26 |
Android Permission Dispatcher로 권한 얻기 (1) | 2018.10.08 |
AndroidX 사용하기 (0) | 2018.10.05 |
'Android resource compilation failed' 에러 해결 (4) | 2018.09.30 |
댓글
이 글 공유하기
다른 글
-
레이아웃 디자인에 도움이 되는 사이트
레이아웃 디자인에 도움이 되는 사이트
2018.12.22 -
Android Vector Drawable(Asset) 사용하기
Android Vector Drawable(Asset) 사용하기
2018.11.26 -
Android Permission Dispatcher로 권한 얻기
Android Permission Dispatcher로 권한 얻기
2018.10.08 -
AndroidX 사용하기
AndroidX 사용하기
2018.10.05