[Raspberry pi] - 1편 스마트 콘센트? Smart Plug!
[Raspberry pi] - 2편 스마트 콘센트? Smart Plug!
[Raspberry pi] - 3편 스마트 콘센트? Smart Plug!
[Raspberry pi] - 4편 스마트 콘센트? Smart Plug! + 앱위젯
[Raspberry pi] - 5편 스마트 콘센트? Smart Plug! + 터치스위치
[Raspberry pi] - 6편 스마트 콘센트? Smart Plug! + Node.js Push 서버 (개요편)
[Raspberry pi] - 7편 스마트 콘센트? Smart Plug! + Node.js Push 서버 (Firebase 등록)
[Raspberry pi] - 8편 스마트 콘센트? Smart Plug! + Node.js Push 서버 (서버편)
[Raspberry pi] - 9편 스마트 콘센트? Smart Plug! + Node.js Push 서버 (App편)
전편에 이이서...
우선 GCM Push 서비스는 FCM이라는 이름으로 바뀌었고, 클라이언트 단(Android) 구현이 매우 심플해졌다.
하지만, 나는 내 폰과 와이프의 구형폰(젤리빈)이 모두 동작해야 하므로, 구지 최신버전의 API를 적용하지 않았다.
적외선 리모콘 4편에서 적용한 음성인식 API 도 와이프 폰과 내 폰에서 동작이 약간 다른 것으로 봐서는 API를 아예 구형으로 사용하는게 더 나을 것이라는 판단이다.
우선 기존의 Google 프로젝트가 없다면 Firebase 가입부터 시작해야 한다.
기존 Google 계정은 있다고 가정한다.
GCM이 FCM으로 바뀐 것도 Firebase Cloud Messaging 이라는 이름으로 바뀌었기 때문이다.
Firebase가 뭔지는 논점이 흐려지는 관계로 따로 언급하진 않겠다.
자세한 내용은 아래를 참고하시라.
https://developers-kr.googleblog.com/2016/05/firebase-8-firebase-google43.html
자 시작하자.
firebase.google.com 에 접속한다.
[무료로 시작하기] 클릭.
Google 에 로그인
첫화면이 보인다.
여기서 기존에 Google 프로젝트가 있다면 가져오기로, 없다면 프로젝트 추가로 선택한다.
원하는 프로젝트 이름을 입력하고, 국가/지역을 선택한다.
[프로젝트 만들기]를 클릭한다.
잠시 기다리면 프로젝트가 생성된다.
메뉴가 많아보이지만 화면 가운데 [Android 앱에 Firebase 추가] 선택
만들어 놓은, 혹은 앞으로 만들 Android 앱의 패키지 이름을 입력하고 [앱 등록] 클릭
화면에 안내되는대로 google-services.json 파일을 다운로드 받아서 앱 프로젝트에 추가 한다.
깜박했는데, Android Studio 기준으로 설명한다.
다른 개발툴을 사용한다면 우측 작은 글씨의 "다른방법"을 참고하시라.
우선 다운로드 받았다면 [계속]을 클릭한다.
사실 이번에 받지 않아도, 나중에 언제든 다시 받을 수 있다.
마지막 화면이다.
Gradle에 넣을 플러그인 내용을 알려주는데, 난 구닥다리? GCM을 사용할 것이므로 그대로 하지 않았다.
이부분은 다음 편에..
우선 [완료]를 누른다.
앱이 등록되었다.
앱 우측을 확장하여 [설정]으로 들어가자.
그러면, 프로젝트 ID와 웹 API 키가 보인다.
그리고, 등록중에 다운로드 받으라고 했던 google-services.json 파일도 다시 다운로드 받을 수 있는 버튼이 있다.
google-services.json 파일은 프로젝트 ID와 웹 API 키를 저장한 파일이다.
따라서 Android 앱 프로젝트에서는 프로젝트 ID와 웹 API 키가 따로 필요하지는 않다.
Android 앱 Push 관련 코드 작성은 다음편에...
'Raspberry pi' 카테고리의 다른 글
3편 PLEX 최적화 - PLEX Media Server 재설치 (2) | 2017.04.29 |
---|---|
2편 PLEX 최적화 - 라즈비안(Raspbian) 재설치 (0) | 2017.04.29 |
6편 스마트 콘센트? Smart Plug! + Node.js Push 서버 (개요편) (0) | 2017.04.25 |
라즈비안(Raspbian) 시간동기화 (0) | 2017.04.23 |
1편 라즈베리파이(Raspberry Pi) PLEX 최적화 (0) | 2017.04.23 |