You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP8266向Firebase推送DHT11数据时自动生成子节点问题求助

解决Firebase自动生成AutoChild的问题

嘿,这问题我熟!你现在用的Firebase.pushFloat()方法本身就是Firebase专门用来生成自动子节点的API,它会自动创建带时间戳的唯一ID作为子节点,用来存储多条不重复的时序数据。但你想要直接把数据写入指定路径、不生成自动子节点的话,只需要把pushFloat换成setFloat就可以啦!

修改后的代码示例:

int humidity = dht.readHumidity(); 
float h = dht.readHumidity(); 
float t = dht.readTemperature(); 

Serial.print("Current humidity = "); 
Serial.print(h); 
Serial.print("% "); 
Serial.print("temperature = "); 
Serial.print(t); 
Serial.println("C "); 

// 把pushFloat换成setFloat,直接写入指定路径
Firebase.setFloat("/devices/sensors/humid", h);
// 如果需要写入温度,同理用setFloat
// Firebase.setFloat("/devices/sensors/temp", t);

补充说明:

  • set系列方法(包括setFloat、setInt、setString等)的作用就是直接将值写入你指定的路径,如果该路径已有数据,会直接覆盖旧值,完全不会生成自动子节点。
  • 如果你之后需要存储历史数据(比如每10分钟的湿度记录、不想覆盖旧数据),再用push系列方法就合适了,它会自动帮你生成唯一的子节点来区分每条记录。

内容的提问来源于stack exchange,提问作者kirimi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:32:47