mirror of
https://git.beihong.wang/wangbeihong/iot-bedroom-environment-controller.git
synced 2026-04-24 01:33:04 +08:00
feat: 智能家居控制系统 v1.0 初始版本
- 环境监测:温湿度/光照/空气质量传感器采集 - 智能控制:时间段/降温/通风三种自动模式 - 闹钟系统:3个闹钟+温和唤醒功能 - 远程控制:MQTT双向通信 - 本地显示:LVGL图形界面 - 双MCU架构,FreeRTOS 10任务并行 - 完整的1250行README文档
This commit is contained in:
33
components/lvgl_st7735s_use/include/lvgl_st7735s_use.h
Normal file
33
components/lvgl_st7735s_use/include/lvgl_st7735s_use.h
Normal file
@@ -0,0 +1,33 @@
|
||||
|
||||
/* LCD size */
|
||||
#define EXAMPLE_LCD_H_RES (160)
|
||||
#define EXAMPLE_LCD_V_RES (80)
|
||||
|
||||
/* LCD SPI总线配置 */
|
||||
#define EXAMPLE_LCD_SPI_NUM (SPI2_HOST) // 使用SPI2主机接口进行通信
|
||||
|
||||
/* LCD显示参数配置 */
|
||||
#define EXAMPLE_LCD_PIXEL_CLK_HZ (40 * 1000 * 1000) // 像素时钟频率设置为40MHz,控制数据传输速度
|
||||
|
||||
/* LCD命令和参数配置 */
|
||||
#define EXAMPLE_LCD_CMD_BITS (8) // 命令位数为8位,用于发送LCD控制命令
|
||||
#define EXAMPLE_LCD_PARAM_BITS (8) // 参数位数为8位,用于发送命令参数
|
||||
|
||||
/* LCD颜色和缓冲区配置 */
|
||||
#define EXAMPLE_LCD_BITS_PER_PIXEL (16) // 每个像素使用16位颜色(RGB565格式)
|
||||
#define EXAMPLE_LCD_DRAW_BUFF_DOUBLE (1) // 启用双缓冲模式,提高显示流畅度
|
||||
#define EXAMPLE_LCD_DRAW_BUFF_HEIGHT (50) // 绘图缓冲区高度为50行,影响刷新性能
|
||||
|
||||
/* LCD背光配置 */
|
||||
#define EXAMPLE_LCD_BL_ON_LEVEL (1) // 背光开启电平为高电平(1)
|
||||
|
||||
/* LCD pins */
|
||||
#define EXAMPLE_LCD_GPIO_SCLK (GPIO_NUM_2)
|
||||
#define EXAMPLE_LCD_GPIO_MOSI (GPIO_NUM_3)
|
||||
#define EXAMPLE_LCD_GPIO_RST (GPIO_NUM_9)
|
||||
#define EXAMPLE_LCD_GPIO_DC (GPIO_NUM_8)
|
||||
#define EXAMPLE_LCD_GPIO_CS (GPIO_NUM_7)
|
||||
#define EXAMPLE_LCD_GPIO_BL (GPIO_NUM_6)
|
||||
|
||||
|
||||
void start_lvgl_demo(void);
|
||||
38
components/lvgl_st7735s_use/include/ui_display.h
Normal file
38
components/lvgl_st7735s_use/include/ui_display.h
Normal file
@@ -0,0 +1,38 @@
|
||||
#ifndef UI_DISPLAY_H
|
||||
#define UI_DISPLAY_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief 初始化UI界面
|
||||
*
|
||||
* 该函数负责创建LVGL的用户界面元素,用于显示传感器数据
|
||||
*/
|
||||
void ui_display_init(void);
|
||||
|
||||
/**
|
||||
* @brief 更新传感器数据显示
|
||||
*
|
||||
* 该函数用于更新LVGL界面上的传感器数据
|
||||
*
|
||||
* @param temperature 温度值(°C),-1.0表示无效
|
||||
* @param humidity 湿度值(%),-1.0表示无效
|
||||
* @param lux 光照强度(lx),-1.0表示无效
|
||||
* @param ppm 空气中有害气体浓度(ppm)
|
||||
* @param quality_level 空气质量等级描述
|
||||
*/
|
||||
void ui_update_sensor_data(float temperature, float humidity, float lux, float ppm, const char* quality_level);
|
||||
|
||||
/* Time page APIs */
|
||||
void ui_show_time_page(void);
|
||||
void ui_show_sensor_page(void);
|
||||
void ui_time_update(void);
|
||||
void ui_toggle_page(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* UI_DISPLAY_H */
|
||||
Reference in New Issue
Block a user