如何解决通过 Nodemcu 将温湿度传感器、NEO-6M GPS 模块和心率传感器连接到 Google firebase
我正在通过 Node MCU 1.0V 将心率脉冲传感器、DHT22/11 湿度和温度传感器以及 Ublox NEO-6M GPS 模块 连接到 Firebase 来制作设备strong> 我通过 Node MCU 将每个模块连接到 Firebase,但 3 个模块有 3 个单独的代码。但我的目标是组合所有这些模块,并通过连接所有这 3 个代码将其连接到 Firebase。
这是 3 个单独的代码。
2.温湿度传感器
#include <FirebaseArduino.h>
#include <ESP8266WiFi.h>
#include <DHT.h>
#define FIREBASE_HOST "arduino-demo-817b5-default-rtdb.firebaseio.com"
#define FIREBASE_AUTH "Tq6Hrig4DhHLX8rtCwT3EA5Tx897PIr9TbaqVUT6"
#define WIFI_SSID "***********"
#define WIFI_PASSWORD "**************"
#define DHTPIN D2 // Digital pin connected to DHT11
#define DHTTYPE DHT11 // Initialize dht type as DHT 11
DHT dht(DHTPIN,DHTTYPE);
void setup()
{
Serial.begin(115200);
dht.begin(); //reads dht sensor data
WiFi.begin(WIFI_SSID,WIFI_PASSWORD);
Serial.print("Connecting to ");
Serial.print(WIFI_SSID);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("Connected");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP()); //prints local IP address
Firebase.begin(FIREBASE_HOST,FIREBASE_AUTH); // connect to the firebase
}
void loop()
{
float h = dht.readHumidity(); // Read Humidity
float t = dht.readTemperature(); // Read temperature
if (isnan(h) || isnan(t)) // Checking sensor working
{
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
Serial.print("Humidity: ");
Serial.print(h);
String fireHumid = String(h) + String("%"); //Humidity integer to string conversion
Serial.print("% Temperature: ");
Serial.print(t);
Serial.println("°C ");
String fireTemp = String(t) + String("°C"); //Temperature integer to string conversion
delay(5000);
Firebase.pushString("/DHT11/Humidity",fireHumid); //setup path to send Humidity readings
Firebase.pushString("/DHT11/Temperature",fireTemp); //setup path to send Temperature readings
if (Firebase.failed())
{
Serial.print("pushing /logs failed:");
Serial.println(Firebase.error());
return;
}
}
1.用于心率脉搏传感器
#define heartratePin 32
#include "DFRobot_Heartrate.h"
#include <WiFi.h> //1. Include WiFi.h
#include "FirebaseESP32.h" //2. Include Firebase ESP32 library (this library)
// Set these to run example.
#define FIREBASE_HOST "test.firebaseio.com"
#define FIREBASE_AUTH "hW8qlM48dGkxxxxxxxx1Pq5UD21YgPq2E0c"
#define WIFI_SSID "Gummya"
#define WIFI_PASSWORD "testtest1"
DFRobot_Heartrate heartrate(DIGITAL_MODE); ///< ANALOG_MODE or DIGITAL_MODE
FirebaseData firebaseData; //3. Declare the Firebase Data object in the global scope
void setup() {
Serial.begin(115200);
initWifi();
}
void loop() {
uint8_t rateValue;
heartrate.getValue(heartratePin); ///< A1 foot sampled values
rateValue = heartrate.getRate(); ///< Get heart rate value
if(Firebase.setInt(firebaseData,"HeartBeat/BPM_data",rateValue)){
//if (firebaseData.dataType()== "Int")
Serial.println(rateValue);
}
delay(20);
}
void initWifi(){
WiFi.begin(WIFI_SSID,WIFI_PASSWORD);
Serial.print("Connecting to Wi-Fi");
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(300);
}
Serial.println();
Serial.print("Connected with IP: ");
Serial.println(WiFi.localIP());
Serial.println();
Firebase.begin(FIREBASE_HOST,FIREBASE_AUTH);
Firebase.reconnectWiFi(true);
//Set database read timeout to 1 minute (max 15 minutes)
Firebase.setReadTimeout(firebaseData,1000 * 60);
//tiny,small,medium,large and unlimited.
//Size and its write timeout e.g. tiny (1s),small (10s),medium (30s) and large (60s).
Firebase.setwriteSizeLimit(firebaseData,"tiny");
}
3.适用于 NEO-6M GPS 模块
#include <WiFi.h> // esp32 library
#include <IOXhop_FirebaseESP32.h> // firebase library
#define FIREBASE_HOST "led-control-4631d.firebaseio.com"// the project name address from firebase id
#define FIREBASE_AUTH "Your Firebase secret key" // the secret key generated from firebase
#define WIFI_SSID "Your SSID" // input your home or public wifi name
#define WIFI_PASSWORD "Your Passcode" //password of wifi ssid
String fireStatus = ""; // led status received from firebase
void setup() {
Serial.begin(9600);
delay(1000);
WiFi.begin(WIFI_SSID,WIFI_PASSWORD); //try to connect with wifi
Serial.print("Connecting to ");
Serial.print(WIFI_SSID);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("Connected to ");
Serial.println(WIFI_SSID);
Serial.print("IP Address is : ");
Serial.println(WiFi.localIP()); //print local IP address
Firebase.begin(FIREBASE_HOST,FIREBASE_AUTH); // connect to firebase
Firebase.setString("Your feedname","your value"); //send initial string of led status
}
在这种情况下,时间对我不利,所以我需要在 16/05/2021 之前使用此代码??
如果有人可以将这 3 个代码连接成 1 个代码,感谢您为我所做的一切都不够。但是,让我尝试一下。非常感谢您的支持!♥♥
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。