FirebaseDemo
FirebaseDemo is a sample that shows basic usage of the
FirebaseArduino
API.Software setup
- Install Arduino 1.6.9
- Install Arduino ESP8266 core
- Download FirebaseArduino library
- Start Arduino
- Click
Sketch > Include Library > Add .ZIP Library...
- Choose
firebase-arduino-master.zip
downloaded in step3.
Configuration
- Start Arduino
- Open
File > Examples > FirebaseArduino > FirebaseRoom_ESP8266
- In
FirebaseRoom_ESP8266
: ReplaceWIFI_SSID
andWIFI_PASSWORD
with WiFi credentials - Go to https://firebase.google.com/console/ and create a new Firebase Project
- Go to
Database
- Copy the
Database hostname
(Database URL withouthttps://
and trailing/
) - In
FirebaseRoom_ESP8266
: replaceFIREBASE_HOST
with theDatabase Hostname
- Go to
⚙ > Project Settings > Database > Database secrets
- Click
Firebase Secrets > Show
- Copy the
Database Secret
- In
FirebaseRoom_ESP8266
: ReplaceFIREBASE_AUTH
withDatabase Secret
- Select the board
Board > ESP8266 Modules > NodeMCU 1.0
- Select the serial port
Port > /dev/tty...
- Select the upload speed
Upload Speed > 115200
- Click
Sketch > Upload
Play
- Go to the Firebase console
Data
section - Watch the data being modified as the sketch runs
源自於 https://github.com/FirebaseExtended/firebase-arduino/blob/master/examples/FirebaseDemo_ESP8266/FirebaseDemo_ESP8266.ino
// | |
// Copyright 2015 Google Inc. | |
// | |
// Licensed under the Apache License, Version 2.0 (the "License"); | |
// you may not use this file except in compliance with the License. | |
// You may obtain a copy of the License at | |
// | |
// http://www.apache.org/licenses/LICENSE-2.0 | |
// | |
// Unless required by applicable law or agreed to in writing, software | |
// distributed under the License is distributed on an "AS IS" BASIS, | |
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
// See the License for the specific language governing permissions and | |
// limitations under the License. | |
// | |
// FirebaseDemo_ESP8266 is a sample that demo the different functions | |
// of the FirebaseArduino API. | |
#include <ESP8266WiFi.h> | |
#include <FirebaseArduino.h> | |
// Set these to run example. | |
#define FIREBASE_HOST "example.firebaseio.com" | |
#define FIREBASE_AUTH "token_or_secret" | |
#define WIFI_SSID "SSID" | |
#define WIFI_PASSWORD "PASSWORD" | |
void setup() { | |
Serial.begin(9600); | |
// 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); | |
} | |
int n = 0; | |
void loop() { | |
// set value | |
Firebase.setFloat("number", 42.0); | |
// handle error | |
if (Firebase.failed()) { | |
Serial.print("setting /number failed:"); | |
Serial.println(Firebase.error()); | |
return; | |
} | |
delay(1000); | |
// update value | |
Firebase.setFloat("number", 43.0); | |
// handle error | |
if (Firebase.failed()) { | |
Serial.print("setting /number failed:"); | |
Serial.println(Firebase.error()); | |
return; | |
} | |
delay(1000); | |
// get value | |
Serial.print("number: "); | |
Serial.println(Firebase.getFloat("number")); | |
delay(1000); | |
// remove value | |
Firebase.remove("number"); | |
delay(1000); | |
// set string value | |
Firebase.setString("message", "hello world"); | |
// handle error | |
if (Firebase.failed()) { | |
Serial.print("setting /message failed:"); | |
Serial.println(Firebase.error()); | |
return; | |
} | |
delay(1000); | |
// set bool value | |
Firebase.setBool("truth", false); | |
// handle error | |
if (Firebase.failed()) { | |
Serial.print("setting /truth failed:"); | |
Serial.println(Firebase.error()); | |
return; | |
} | |
delay(1000); | |
// append a new value to /logs | |
String name = Firebase.pushInt("logs", n++); | |
// handle error | |
if (Firebase.failed()) { | |
Serial.print("pushing /logs failed:"); | |
Serial.println(Firebase.error()); | |
return; | |
} | |
Serial.print("pushed: /logs/"); | |
Serial.println(name); | |
delay(1000); | |
} |
沒有留言:
張貼留言