먼저 파이어베이스에 접속하여 로그인한다.
파이어베이스 주소 : https://firebase.google.com/?hl=ko
Firebase
Firebase는 고품질 앱을 빠르게 개발하고 비즈니스를 성장시키는 데 도움이 되는 Google의 모바일 플랫폼입니다.
firebase.google.com

먼저 콘솔로 이동을 클릭한다. 그리고 자신의 프로젝트를 선택하여 들어간 뒤

옆에 톱니바퀴 우리가 흔히 설정의 아이콘으로 알고 있는 저 익숙한 아이콘을 선택하면 프로젝트 설정과 사용자 및 권한이 나오게 되는 데 그 중에 '프로젝트 설정'을 누르면 된다.

그 후 서비스 계정을 누르고 밑으로 내려보면 '데이터베이스 비밀번호'라고 써 있는 곳이 있는데 거기를 클릭한다.

클릭하면 저렇게 비밀번호가 동그라미로 나오게 되는 데 가장 오른쪽에 마우스를 가져다 놓으면 표시라는 것이 뜨게 된다. 그것을 꾹 클릭하면 복사하기 라는 아이콘이 나오는데 그걸 클릭한 후 저기 아두이노 코드에 붙여넣기 하면 된다.

여기서 환경설정(Ctrl + Comma)를 누른다. 그러면

이런 화면이 나오게 되는데 여기서 저기 추가적인 보드 매니저 URLs 줄에 있는 파란색 네모를 누른다(네모 두개 겹쳐져있는 거 말하는 거임.)
그걸 누르면

이런 화면이 나오는데(원래 있었는데 설명하느라 지워버림. ㅎ) 저 화면 흰색 부분에 http://arduino.esp8266.com/stable/package_esp8266com_index.json 를 삽입하고 확인을 누른다.
+ 2020-11-26
요즘 새로 파이어베이스 라이브러리가 바뀌면서 기존코드가 안되고 있는 상황이라고 들었는데 그래서 나도 열심히 여러 사람들의 포스팅을 참고해서 보드 매니저에 dl.espressif.com/dl/package_esp32_index.json
도 추가해보고 툴-> 보드매니저에서 esp8266를 검색해서 설치했더니 된다. (진짜 식은땀 좔좔)

툴 -> 라이브러리 관리를 눌러준다. 그러면

이런 화면이 나오는데 여기서 json 이라고 친다. 그러면 ArduinoJson by Benoit Blanchon를 누르고 설치를 눌러준다.
그리고 나서 파이어베이스 라이브러리를 추가해줘야하는데
https://github.com/mobizt/Firebase-ESP8266
mobizt/Firebase-ESP8266
ESP8266 Firebase RTDB Arduino Library. Contribute to mobizt/Firebase-ESP8266 development by creating an account on GitHub.
github.com
여기로 들어가서 다운받으면 된다. 하지만 나는 귀찮고 이 글을 보시는 분들중에 아주 귀찮아 하시는 분들이 있을 수 있으니까 파일을 올려드리겠습니다.
이걸 다운받으신 후에 'libraries'폴더 안에 압축을 풀면 된다. (사람마다 경로가 다를 수 있다. 왜냐하면 아두이노를 어디에 설치했는지 모르니까?)
풀코드
#include <ESP8266WiFi.h>
#include "FirebaseArduino.h" // 파이어베이스 라이브러리
#define FIREBASE_HOST "파이어베이스아이디"
#define FIREBASE_AUTH "비밀번호"
#define WIFI_SSID " "
#define WIFI_PASSWORD " "
#include "DHT.h"
#define DHTPIN 5 // what digital pin we're connected to
#define DHTTYPE DHT11 // DHT 22 (AM2302), AM2321
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
// connect to wifi.
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("connected: ");
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Serial.println("DHT11 test!");
dht.begin();
}
int n = 0;
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.print("Error");
return;
}
Firebase.setFloat("Humidity",h);
Firebase.setFloat("Temperature",t);
n++;
// set value
Firebase.setFloat("number", n);
// handle error
if (Firebase.failed()) {
Serial.print("setting /number failed:");
Serial.println(Firebase.error());
return;
}
delay(1000);
}
'2019~2020 > 아두이노(Arduino)' 카테고리의 다른 글
스위치 이용하여 전구에 불켜기 (0) | 2019.09.06 |
---|---|
스위치 이용하여 전구에 불켜기 (0) | 2019.09.06 |
char를 int로 변환후 짝수인지 홀수인지 판단하기 (0) | 2019.09.05 |