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

如何用MicroPython实现NodeMCU ESP32向Firebase传输数据

用MicroPython在ESP32上传数据到Firebase实时数据库

前置准备

  • ESP32已刷入MicroPython固件
  • Firebase控制台创建项目,启用实时数据库,设置读写权限(测试阶段可临时设为{ "rules": { ".read": true, ".write": true } },正式环境需修改为安全规则)
  • 获取你的Firebase实时数据库URL(格式类似https://xxx-default-rtdb.firebaseio.com/)和项目API密钥

代码实现步骤

1. 连接WiFi

先编写WiFi连接逻辑,确保ESP32接入网络:

import network
import time

def connect_wifi(ssid, password):
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    if not wlan.isconnected():
        print('Connecting to WiFi...')
        wlan.connect(ssid, password)
        while not wlan.isconnected():
            time.sleep(0.5)
    print('WiFi connected. IP:', wlan.ifconfig()[0])

# 替换为你的WiFi信息
connect_wifi("你的WiFi名称", "你的WiFi密码")

2. 上传数据到Firebase

Firebase实时数据库支持REST API,我们用urequests库发送HTTP请求完成上传。部分MicroPython固件已内置该库,若没有可通过Thonny或mpremote安装。

以下是传感器数据上传的示例代码:

import urequests
import time

# 替换为你的Firebase信息
FIREBASE_DB_URL = "https://xxx-default-rtdb.firebaseio.com/"
FIREBASE_API_KEY = "你的项目API密钥"

def upload_to_firebase(sensor_data):
    # 自定义上传节点,这里用"sensor_data"作为示例
    url = f"{FIREBASE_DB_URL}/sensor_data.json?auth={FIREBASE_API_KEY}"
    
    try:
        # PUT请求会覆盖节点数据,POST请求会生成带自动ID的新条目,按需选择
        response = urequests.put(url, json=sensor_data)
        print("Upload success. Response:", response.text)
        response.close()
        return True
    except Exception as e:
        print("Upload failed:", str(e))
        return False

# 模拟传感器数据(替换为你的实际传感器读取逻辑)
def read_sensor():
    return {
        "temperature": 25.6,
        "humidity": 60.2,
        "timestamp": time.time()
    }

# 循环上传数据
while True:
    data = read_sensor()
    upload_to_firebase(data)
    time.sleep(5)  # 每5秒上传一次

关键说明

  • 请求方式:PUT用于覆盖指定节点数据,适合更新同一份数据;POST会在节点下生成新的自动ID条目,适合存储时序类数据。
  • 安全规则:测试完成后务必修改Firebase实时数据库的安全规则,禁止公开读写,可配置为仅认证用户访问或基于特定条件的权限。
  • 异常处理:实际部署时需补充WiFi重连、请求超时等异常处理逻辑,提升稳定性。
  • 库依赖:若固件无urequests,可手动将urequests.py文件上传至ESP32,或通过Thonny的包管理器安装。

内容的提问来源于stack exchange,提问作者Keyboard's_Slave

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 21:45:08