Libreria FirebaseESP8266.h

Buenas tardes.
EStoy utilizando esta libreria para gestionar datos desde un ESP8266 y arduino.
Cuando envio datos a firebase aparentemente va correcto.

envio esto:

datos:"nan% humedad ambiente; nanº de temperatura ambiente; 1024.00% humedad de suelo; "

ves = Firebase.setString(firebaseData, path0+"/datos",temp);

pero si quiero leer de firebase con:

val1= Firebase.getString(firebaseData, path0+"/datos");

me devuelve esto:

El valor de datos es:

¿Que estoy haciendo mal?.

Gracias

Lee tu mensaje de nuevo y

  1. Agrega todo el código
  2. Indica de donde se descarga tu libreria para poder entender con qué estas trabajando.
  3. Dices

Y no se lee nada.

Ahora NO EDITES tu hilo inicial.
Responde en un nuevo post con lo que te solicito.

Buenas dias.
EStoy utilizando esta libreria,

name=ESP8266 Firebase
version=1.1.0
author=Rupak Poddar
maintainer=Rupak Poddar poddarrupak2808@gmail.com
sentence=Library for ESP8266 to read and write data to Firebase Realtime Database.
paragraph=A reliable low latency library to read, write, update and delete data from Firebase Realtime Database.
category=Communication
url=GitHub - Rupakpoddar/ESP8266Firebase: Arduino library to read and write data to Google Firebase Realtime Database.
architectures=esp8266

para gestionar datos desde un ESP8266 y arduino.
Cuando envio datos a firebase aparentemente va correcto.
El codigo es el siguiente:

#include "FirebaseESP8266.h"
#include <ESP8266WiFi.h>
#include <ArduinoJson.hpp>
#include <ArduinoJson.h>
const char* ssid = "****";
const char* password = "****";
// FIREBASE
#define FIREBASE_HOST "****"
#define FIREBASE_AUTH "****"
FirebaseData firebaseData;
String path1 = "/control";
String path0 = "/riego";
StaticJsonDocument<300> doc;
//
#include "DHTesp.h"
#define sensoluz  5
#define DHTpin    14    //   D5 
#define releagua  12    //   D6
#define relevent  13    //   D7
#define releluz   2 //D2  
#define SensorPin A0    //   A0 
String val1 ="";
// 
String estaluz="";
String estatie="";
String ves  ="";
String jsonStr = "";
String valorjson="";
String valor ="";
String vzona ="";
String vtiempo="";
String vestado="";
String vparada="";
String a ="";
String b ="";
String c ="";
unsigned int lvalor = valor.length();
float temperature =0;
//
DHTesp dht;
int luz = 0;
unsigned long hmedida =0;
//
// Tiempo entre lecturas
unsigned long tiempo1=0;
unsigned long tiempo2=0;
unsigned long entreseg = 0; 
// Fin tiempo entre lecturas
int contadatos = 0; // 
int lectura;
String temp;
const int dry = 595; // 
const int wet = 239; // 
const int AirValue = 3620;   //
const int WaterValue = 1680;  //
int soilMoistureValue = 0;
int soilmoisturepercent=0;
int vrel=0; // rele bomba apagado
int vven=0; // rele ventilador apagado
boolean priemavez = true;
boolean automod = false;
// Medias de control temepratrura, humedad, humedad tierra
int stemp= 50; // temperatura media
int shuma=50; // humedad ambiente
int shumt=50; // humedad tierra
boolean v1,v2,v3 = false; 

void setup()
{
  pinMode(4, INPUT); //  D2
  pinMode(2, OUTPUT); //  D4
  pinMode(5, INPUT); //  D1
  Serial.begin(115200);
  // RED
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(100); //500
    Serial.print(".");
  }
  Serial.println(WiFi.localIP()); 
  Serial.println();
  Serial.println("Status\tHumidity (%)\tTemperature (C)\t(F)\tHeatIndex (C)\t(F)"); 
  dht.setup(DHTpin, DHTesp::DHT11); // DHT11
  lectura = 0;
  temp=" ";
  tiempo1 = millis(); //Defino el incio de tiempos
  pinMode(releagua,  OUTPUT) ;
  pinMode(relevent,  OUTPUT) ;
  pinMode(releluz,  OUTPUT) ;
  digitalWrite(releagua, LOW);
  digitalWrite(relevent, LOW);
  digitalWrite(releluz, LOW);
  delay(5000);
  digitalWrite(releagua, HIGH);
  digitalWrite(relevent, HIGH);
  digitalWrite(releluz, HIGH);
  // Firebase
  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
  Firebase.reconnectWiFi(true);
  Firebase.setReadTimeout(firebaseData, 1000 * 60);
  Firebase.setwriteSizeLimit(firebaseData, "tiny");
  val1= Firebase.getString(firebaseData, path0+"/ariego");
  Serial.println("El valor de ariego es: "+ val1);
  
  //
}

void regar(){
  // V1 
  int lhumedad = digitalRead(4);
    if (lhumedad == 1){
      digitalWrite(releagua, LOW);
    } else {
     // Serial.println("Fin riego");
   }    
}

void ventilar(){
  // v2
  float humidity = dht.getHumidity();
    if (humidity == 1){
      digitalWrite(relevent, LOW);
    } else {
     //Serial.println("Fin ventilo");
   } 
    
}

void luces(){
   // v3
    int luz = digitalRead(5);   // Led ON
    if (luz == HIGH){
      digitalWrite(releluz, LOW);   
    } else {
     digitalWrite(releluz, HIGH);
   }     
}

void loop(){
  tiempo2= millis();
  if(tiempo2 > (tiempo1 + 360000)){
    tiempo1= millis();
    float humidity = dht.getHumidity();
    float temperature = dht.getTemperature();
    //sensor humedad tierra
    float htierra = analogRead(SensorPin);
    int humedad_tierra = map(htierra, wet, dry, 100, 0);
    Serial.println(humedad_tierra);
    //
    temp = String (humidity,1);
    temp.concat(" %humedad ambiente;");
    temp.concat(temperature);
    temp.concat("º de temperatura ambiente;");
    temp.concat(humedad_tierra);
    temp.concat("% humedad de suelo;");   
    Serial.println(temp);
    int lhumedad = digitalRead(4);
    if (lhumedad== 1){
      Serial.println("Voy a regar");
    } else {
      Serial.println("No Riego ");
      digitalWrite(releagua, HIGH);
    }
   luz = digitalRead(5);   // Led ON 
   if (luz == HIGH) {
    Serial.println("No hay luz");
  } else {
   Serial.println("Si hay luz");
  }
    humidity = dht.getHumidity();
    temperature = dht.getTemperature();
    htierra = analogRead(SensorPin);
    humedad_tierra = map(htierra, wet, dry, 100, 0);
    //
    temp = String (humidity,1);
    temp.concat("% humedad ambiente; ");
    temp.concat(temperature);
    temp.concat("º de temperatura ambiente; ");
    temp.concat(htierra);
    temp.concat("% humedad de suelo; ");   
    Serial.println(temp); 
  luz = digitalRead(2);   // Led ON
   if (luz == HIGH) {
    Serial.println("No hay luz");
  } else {
    Serial.println("Si hay luz");
  }
  int lht = digitalRead(4);
  if (lht == HIGH) {
    estatie="Suelo seco";
  } else {
    estatie="Suelo humedo";
  }
  ves = Firebase.setString(firebaseData, path0+"/datos",temp);
  ves = Firebase.setString(firebaseData, path0+"/humeamb",String(humidity,3));
  ves = Firebase.setString(firebaseData, path0+"/temperatura",String(temperature,3));
  ves = Firebase.setString(firebaseData, path0+"/luz", estaluz);
  ves = Firebase.setString(firebaseData, path0+"/humetierradig", estatie);
  val1= Firebase.getString(firebaseData, path0+"/datos");
  Serial.println("El valor de datos es: "+ String(val1));
 } // fin comprobacion del tiempo
  regar();
  ventilar();
  luces();
}

Envio esto:

datos
:"56.0% humedad ambiente; 28.70º de temperatura ambiente; 1024.00% humedad de suelo; "

pero si quiero leer de firebase con:

val1= Firebase.getString(firebaseData, path0+"/datos");

me devuelve esto:

El valor de datos es: (valor no visible cuando edito este post)

¿Que estoy haciendo mal?.

Gracias

Moderador:
Por favor, lee las Normas del foro y evita doble postear.
Esto ese considera un posteo cruzado.
Consultas de cuestiones similares se pueden evacuar en el mismo hilo ya creado.
Tienes una primera advertencia por ello.
Evita hacerlo en el futuro.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.