项目简介
本项目主要由两部分构成。一是针对ESP8266微控制器的Google Firebase Realtime Database Arduino库,可对Firebase实时数据库开展多种操作,具备数据备份恢复、消息推送等功能;二是借助Arduino的I2C接口控制LCD显示器的项目,封装了LCD显示器的基本操作。
项目的主要特性和功能
Firebase部分
- 数据操作:支持对Firebase实时数据库进行读、存、追加、更新和删除数据,支持基本数据类型、JSON、BLOB和文件流数据。
- 规则操作:支持读写数据库规则,以及ETag、优先级、数据限制、时间戳、过滤等操作。
- 事件回调:支持流事件回调和多路径流,实时监听数据库变化。
- 认证方式:支持邮箱/密码、自定义和使用服务账户的访问令牌认证。
- 数据管理:支持数据备份和恢复,可将数据备份到SD卡或闪存内存。
- 消息推送:支持Firebase云消息推送,可向单个或多个设备发送通知和自定义数据。
- JSON处理:内置简单易用的非递归JSON解析器和构建器。
- 错误处理:具备错误重试和队列机制,处理操作失败。
LCD控制部分
- 对象初始化:可通过构造函数初始化LCD显示器对象。
- 基本操作:支持初始化LCD显示器、清空屏幕、移动光标、控制显示和光标、创建和显示自定义字符以及控制背光等操作。
安装使用步骤
Firebase部分
依赖安装
本库需要ESP8266 Core SDK版本2.4.0及以上。Arduino IDE可通过“Boards Manager”安装;PlatfoemIO IDE可通过“PIO Home” > “Platforms” > “Espressif 8266”安装。
库安装
- 使用库管理器:
- Arduino IDE:依次点击菜单“Sketch” -> “Include Library” -> “Manage Libraries...”,搜索“firebase”,选择“Firebase ESP8266 Client”并安装。
- PlatformIO IDE:使用命令“pio lib install "Firebase ESP8266 Client""”,或在“PIO Home” -> “Library” -> “Registry”中搜索安装。
- 手动安装:略
使用
具体使用方法可参考所有示例和函数描述,初始化示例如下: ```C++
include
include
FirebaseData fbdo; FirebaseAuth auth; FirebaseConfig config;
config.host = FIREBASE_HOST; config.api_key = API_KEY; auth.user.email = USER_EMAIL; auth.user.password = USER_PASSWORD;
Firebase.begin(&config, &auth); Firebase.reconnectWiFi(true); Firebase.setMaxRetry(fbdo, 3); Firebase.setMaxErrorQueue(fbdo, 30); Firebase.enableClassicRequest(fbdo, true); fbdo.setBSSLBufferSize(1024, 1024); fbdo.setResponseSize(1024); ```
LCD控制部分
- 导入库:将
LiquidCrystal_I2C.cpp
和LiquidCrystal_I2C.h
文件导入到Arduino项目中。 - 创建对象:创建一个
LiquidCrystal_I2C
对象,并传入LCD显示器的I2C地址、列数、行数、字符大小以及背光值。 - 初始化LCD:调用
begin
函数初始化LCD显示器。 - 控制LCD:使用
clear
、home
、setCursor
、noDisplay
、display
、noCursor
、cursor
、noBacklight
、backlight
、createChar
和printstr
等函数控制LCD显示器。 - 上传代码:将代码上传到Arduino板,并连接LCD显示器,即可控制显示内容、光标、自定义字符和背光。
注意:此项目假设你已经熟悉Arduino编程和I2C通信,并且知道如何连接LCD显示器到Arduino板。使用前,请确保Arduino板支持I2C通信,且LCD显示器的规格和参数与LiquidCrystal_I2C
类中的参数相匹配。若使用ESP8266 Arduino Core SDK版本2.6.1,需更新到2.6.2或更高版本以避免已知的BearSSL库问题。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】