- 2024-12-17
-
上传了资料:
带健康提醒的86盒桌面助手代码
- 2024-10-31
-
发表了主题帖:
【2024 DigiKey 创意大赛】带健康提醒的86盒桌面助手
**一、作品简介**
设计名称:带健康提醒的86盒桌面助手
作者:pomin
项目用到的板卡:使用 ESP32-S3-LCD-Ev-Board开发板,采用的是ESP32-S3这款 MCU,板卡板载了4寸的电容触摸屏,功能强悍,做HMI应用十分合适。
作品功能介绍:借此次得捷大赛的机会,制作了一款带健康提醒的86盒桌面助手,86盒可以摆在桌子上,实时地检测前方的温度,也就是监测使用者的体表温度,并显示在屏幕上面,并可通过网络来获取时间、天气等显示在屏幕上,给使用者提供出行建议等,软件采用LVGL开源GUI界面库,使使用者更加感到可视化、智能化设备带来的便捷。
**二、系统框图**
本项目使用ESP32-S3-LCD-Ev-Board开发板来制作,用LVGL完成了十分美观的界面的绘制,采用欧姆龙D6T-01a传感器来监测体表温度,接入到 HomeAssistant 家庭自动化,搭配 Node-RED 来实现温度监控上传到HomeAssistant,系统框图如下图所示。
**三、各部分功能说明**
ESP32-S3-LCD-Ev-Board板卡支持外接的排针接口,所以将欧姆龙的D6T温度传感器连接到开发板,使用I2C接口和板卡通讯,采用MQTT协议与服务器来通讯。
使用ESP-IDF进行开发,在开发板上电的时候自动联网、连接家庭 MQTT 服务器,并订阅指定主题,定时上传D6T采集数据
使用ESP32-S3-LCD-Ev-Board 板卡板载的4寸电容触摸屏来实现HMI,使用LVGL完成了十分美观的界面的绘制,实时的监控当前使用者的体温,并且接入到HomeAssistant。
使用 Node-RED,将开发板上传的温度数据通过Javascript脚本解析然后映射到HomeAssistant。
**六、项目总结**
总结:用LVGL搭配GUI Guider完成了界面的绘制,采用 MQTT 协议与家庭服务器来通讯,通过 MQTT 接入到 HomeAssistant 家庭自动化,搭配 Node-RED 来实现家庭自动化流的创建,操控家中各种智能设备。
帖子分享链接汇总:
[【2024 DigiKey 创意大赛】开箱贴(ESP32-S3-LCD、D6T传感器)](https://bbs.eeworld.com.cn/thread-1289930-1-1.html)
[【2024 DigiKey 创意大赛】D6T非接触温度传感器调试](https://bbs.eeworld.com.cn/thread-1291214-1-1.html)
[【2024 DigiKey 创意大赛】搭建环境、运行86盒demo](https://bbs.eeworld.com.cn/thread-1295847-1-1.html)
[【2024 DigiKey 创意大赛】开发板读取D6T传感器值、LVGL显示](https://bbs.eeworld.com.cn/thread-1297965-1-1.html)
[localvideo]b54c0d08f5e0d29a2d6894de774dd88f[/localvideo]
源码:https://download.eeworld.com.cn/detail/pomin/635329
-
发表了主题帖:
【2024 DigiKey 创意大赛】开发板读取D6T传感器值、LVGL显示
为了把 D6T 传感器连接到开发板,先查看原理图,开发板有一些预留的 IO 接口,但是大多数都不能随意使用
然后查看原理图可以知道 IO47 和 IO48 这两个引脚是作为了 IIC 使用,外接的是屏幕板的电容触摸芯片 FT5406,在代码中也可以看到:
然后查了查文档,FT5406 的 IIC 七位地址是 0x38,而 D6T 的 IIC 七位地址是 0x0A,所以可以把这两个器件都接在 IO47、IO48,然后把 D6T 模块接在开发板的 IO47、IO48上面,代码如下
```c
/*
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: CC0-1.0
*/
#include "core/lv_disp.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
#include "esp_check.h"
#include "nvs_flash.h"
#include "nvs.h"
#include "bsp_board_extra.h"
#include "bsp/esp-bsp.h"
#include
#include
#include "driver/i2c.h"
static char *TAG = "app_main";
#define LOG_MEM_INFO (0)
/* defines */
#define D6T_ADDR 0x0A // for I2C 7bit address
#define D6T_CMD 0x4C // for D6T-44L-06/06H, D6T-8L-09/09H, for D6T-1A-01/02
#define N_ROW 1
#define N_PIXEL 1
#define N_READ ((N_PIXEL + 1) * 2 + 1)
uint8_t rbuf[N_READ];
double ptat;
double pix_data[N_PIXEL];
uint8_t calc_crc(uint8_t data) {
int index;
uint8_t temp;
for (index = 0; index < 8; index++) {
temp = data;
data convert a 16bit data from the byte stream.
*/
int16_t conv8us_s16_le(uint8_t* buf, int n) {
uint16_t ret;
ret = (uint16_t)buf[n];
ret += ((uint16_t)buf[n + 1])
-
加入了学习《【2024DigiKey创意大赛】基于AIOT的智能家居设备开发演示视频》,观看 【2024DigiKey创意大赛】基于AIOT的智能家居设备开发
- 2024-10-30
-
加入了学习《ESP32-S3-LVGL》,观看 自行车智能灯
- 2024-10-29
-
加入了学习《 【2024 DigiKey创意大赛】 《智能起居室环境控制台》任务报告汇总》,观看 【2024 DigiKey创意大赛】 《智能起居室环境控制台》任务报告汇总
- 2024-10-17
-
加入了学习《Followme-3 XIAO开发板作业视频》,观看 Followme3-作业提交
- 2024-10-11
-
发表了主题帖:
【2024 DigiKey 创意大赛】搭建环境、运行86盒demo
# 搭建环境
Linux下配置 ESP-idf 还是很轻松的,先 clone 并安装一下,我这里用的是 Ubuntu 18.04 的虚拟机
先装点软件包
```sh
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
```
然后 clone 并运行安装程序
```bash
git clone -b v5.1 --recursive https://github.com/espressif/esp-idf.git
cd esp-idf
./install.sh
. ./export.sh
```
此时工具链就安装完成了,可以看到比 Windows 要方便许多
试一下编译 `cd examples/get-started/blink/ && idf.py build`
编译成功
为了方便,再添加一个快捷命令,配置脚本到 bash 或者 zsh ( 我这里用的是 zsh )
```bash
#zsh
nano ~/.zshrc
#bash
nano ~/.bashrc
```
添加重定向脚本
```bash
alias idf='idf.py'
alias iidf='. ~/esp/esp-idf/export.sh'
export IDF_TOOLS_PATH=~/.espressif
export idf
export iidf
```
更新 bash 或 zsh 配置
```bash
#zsh
source ~/.zshrc
#bash
source ~/.bashrc
```
然后要在当前终端初始化的话就 `iidf`、idf 重定向到 idf.py,编译直接 `idf build` 就行
# 运行 86 盒 demo
先把这个开发板的官方代码仓库克隆下来,官方的仓库包含有很很多开发板的 demo 程序,这里只留 esp32-s3-lcd-ev-board 这个开发板的 demo 程序
```sh
git clone https://github.com/espressif/esp-dev-kits.git
cd esp-dev-kits
mv esp32-s3-lcd-ev-board ..
rm -rf esp-dev-kits
cd esp32-s3-lcd-ev-board
```
可以看到目录中有许多的 demo 程序,这里编译 86box_demo 这个 demo
```sh
cd examples/86box_demo
idf build
```
然后烧录并打开串口监视
```sh
idf flash -p /dev/ttyUSB0 -b 921600 && idf monitor -p /dev/ttyUSB0 -b 115200
```
同时可以看到板子上的屏幕已经运行 86 盒的 demo 了
- 2024-08-22
-
发表了主题帖:
【2024 DigiKey 创意大赛】D6T非接触温度传感器调试
本帖最后由 pomin 于 2024-8-22 00:28 编辑
这次活动选的传感器是欧姆龙的 D6T-1A-02,下载了规格书看到是 I2C 接口通讯
接口座子的型号是 GH1.25 4P 带锁扣,开发板的排针都是 2.54 间距的,所以还需要整一根 GH1.25 转 2.54 间距的转接线
打开 D6T 的 user manual 可以看到示例电路图,这模块居然没有板载 I2C 的上拉电阻??
也可以看到 D6T-1A-02 的 I2C 协议数据包,从机地址是 0x0A,时钟速度 100kHz,写一个 0x4C 的命令后读取 5 个字节的数据
然后查到官方提供的有 arduino 的驱动代码, [https://github.com/omron-devhub/d6t-2jcieev01-arduino/blob/master/examples/d6t-1a/d6t-1a.ino](https://github.com/omron-devhub/d6t-2jcieev01-arduino/blob/master/examples/d6t-1a/d6t-1a.ino)
然后用 USB 转 I2C 调试器连接到 D6T 传感器,同时在板子底部的 I2C 接口飞两个4.7k的上拉电阻,复制官方的arduino代码然后修改一下,使用 I2C 协议读取到模块的温度采集数据。
[localvideo]135775d94635f981c51a88baf858526f[/localvideo]
- 2024-08-08
-
回复了主题帖:
【2024 DigiKey 创意大赛】开箱贴(ESP32-S3-LCD、D6T传感器)
wangerxian 发表于 2024-8-8 13:53
欧姆龙的D6T传感器是做什么检测的?
非接触式温度传感器
-
发表了主题帖:
【2024 DigiKey 创意大赛】开箱贴(ESP32-S3-LCD、D6T传感器)
这次报名参加了今年的得捷创意大赛,很荣幸入选了,在得捷商城下单了一个ESP32-S3-LCD和欧姆龙的D6T传感器,没想到这次得捷的物流如此迅速,收到货还是十分的激动的,开始拆箱。
严严实实的包装盒
ESP32-S3-LCD开发板有着非常精致的包装盒,D6T是欧姆龙的非接触式温度传感器
拆开盒子,ESP32-S3-LCD这开发板还蛮大的
插上电,就是官方的一个运行LVGL界面库的86界面
- 2024-05-17
-
发表了主题帖:
【2023 DigiKey大赛参与奖】开箱帖 Raspberry Pi 5 4G
本帖最后由 pomin 于 2024-5-17 02:12 编辑
> 这次参加了2023得捷大赛,虽然没有获得大奖,最后也有了一个参与奖,很开心。下单了一个4GB内存的树莓派5开发板,快递今天到了,板子很不错。
快递袋
树莓派5的盒子,还是这一贯的玫红色包装盒
打开盒子就是树莓派5了,这代虽然没有之前的好看些,不过性能确实提高了不少
感谢EEWorld和得捷举办的本次活动。
希望EEWorld和得捷越办越好!!!
- 2024-04-24
-
加入了学习《【DigiKey创意大赛】多通道微型气相色谱采集单元》,观看 多通道微型气相色谱采集单元
- 2024-04-15
-
回复了主题帖:
【STM32F411Nucleo测评】驱动 1.3 寸 LCD 屏幕
deng0713 发表于 2024-4-14 22:26
请问这个扩展版是嘉立创元件库里的吗还是大佬自己画的(☆▽☆)
自己画的