【2024 DigiKey创意大赛】【智能家居控制中心】【EP02】ESP32-S3-LCD-EV + BME680整合
[复制链接]
本帖最后由 Netseye 于 2024-9-12 13:26 编辑
【EP02】ESP32-S3-LCD+ BME680整合
本次项目需要用到重要的库:
BME680官方驱动:
esp-bsp:
esp-rainmaker:
esp-sr:
lvgl: https://lvgl.io/
Adafruit_BME680
Adafruit_BME680本身提供的对应Arduino的驱动代码库地址: ,由于我们使用了idf就需要自己去找或者移植对应的驱动库.还在博世官方的是一个纯c的代码.只需要自己实现一个bme68x_dev结构体.就完成的驱动的移植.
首次接触Adafruit的东西.就大概了解了下这个模块.收到模块是他们最新的版本.
模块提供的有STEMMA QT连接器.还可以自己焊接排针去使用spi或者i2c方式来使用模块.由于焊工一般就研究了下连接器.线序如下:
随后在某多多上买了连接线.
ESP32-S3-LCD-EV-BOARD
ESP32-S3-LCD-EV-BOARD是乐鑫推出的一款带屏的智能家居验证板.有较为完善的demo和官方的bsp支持.首先我们要考虑如何去组合ESP32-S3-LCD-EV-BOARD和BME680.
通过原理图我们可以知道.ESP32-S3-LCD-EV-BOARD提供一个TCA9554扩展IO,有一个I2C 和几个IO 所以我们选择使用I2C的方式去使用BME680.正好家里有一个扬声器可以直接插接在这个板子上.最终连接如下
ok硬件部分组合完成接下来就是代码实现.
在官方例子的基础上目前实现的功能:
1. 通过I2C 实时读取bme680数据显示在屏幕上.
2.同时接入esp-rainmaker,远程查看温度信息和控制板子的led
3. 基于官方例子调整esp-sr的代码.
在这个过程中遇到的一些问题:
确实如之前预料到的牵涉的库比较多都还是相对复杂的库.工程复杂度略高.需要学习的知识点比较多.
bme680模块i2c 默认地址是0X77
bsp默认的i2c使用的是旧版驱动.我使用新的I2C驱动调试完成迁移到bsp中无法使用.不得不重新改一下.
接下来要做的事情:
1. ble 读取家里已有的蓝牙设备完成了一半.
2. 通过esp-sr 指令播放bme680温度语音播报.
3. lvgl UI 的设计
补充内容 (2024-9-12 13:28):
恰巧就在前几天乐鑫全球开发者大会上.乐鑫公布了RainMaker in China..试了下.看起来还不太好使.https://rainmaker.espressif.com/zh-hans/docs/china-rainmaker
|