功能介绍:
-
驱动ili9341
-
从京东获取天气数据
开始使用
拿到钥匙
1.从京东注册账号
2.从网站获取密钥
安装ESP32 SDK
ESP-IDF Programming Guide - ESP32 - — ESP-IDF Programming Guide latest documentation
笔记:
该项目兼容 ESP-IDF 3.X 分支和 4.0 分支。对于 4.0 分支,您可以使用 make 或 CMake,但建议使用 CMake。这里给出了使用最新工具链idf.py
(调用 CMake)的说明,但很容易转换为 make。例如,不用运行idf.py menuconfig
,只需运行make menuconfig
。
独立构建此存储库并运行演示。
首先尝试此操作以确保您的硬件受支持、接线和配置正确。
-
获取这个项目:
git clone --recurse-submodules https://github.com/donny681/ESP32_Weather_station.git
-
从它的根运行
idf.py menuconfig
-
选择您的显示套件或板以及其他选项 - 请参阅配置选项
-
将key填入main/my_https.c,可以看到define
KEY
-
idf.py build
-
idf.py -p (YOUR PORT) flash
(使用 make 这只是make flash
- 在 3.x 中配置 PORTmenuconfig
)
将此项目作为库子模块安装在您自己的项目中
建议将此存储库作为子模块安装在 IDF 项目的 git 存储库中。配置系统的设计使您无需复制或编辑此存储库中的任何文件。通过保持子模块目录干净,您可以确保从这个上游存储库进行可重复的构建和轻松的更新。
CMake
以下示例取自 ESP-IDF Blink示例,您可以复制该示例并将其用作您自己的项目的基础。项目根 CMakeLists.txt 文件需要在项目之前添加一行,以将额外的组件目录添加到路径中,如下所示:
#CMakeLists.txt
cmake_minimum_required(VERSION 3.5)include($ENV{IDF_PATH}/tools/cmake/project.cmake)set(EXTRA_COMPONENT_DIRS externals/lv_port_esp32_ili9341/components)project(blink)
在您或使用 LVGL 的组件的 CMakeLists.txt 文件中,/main
您需要将此项目的驱动程序和 lvgl 本身的 REQUIRES 指令添加到函数中,idf_component_register
例如
#main/CMakeLists.txt
idf_component_register(SRCS "blink.c"INCLUDE_DIRS "."REQUIRES lvgl_ili9341 lvgl
)
生成文件
如果您使用 make,则只需在项目的根 Makefile 中添加 EXTRA_COMPONENT_DIRS:
PROJECT_NAME := blink
EXTRA_COMPONENT_DIRS := externals/lv_port_esp32_ili9341/componentsinclude $(IDF_PATH)/make/project.mk
配置选项
有许多可用的配置选项,所有选项都可以通过idf.py menuconfig
-> 组件 -> LittlevGL (LVGL) 访问。
选项包括:
- 显示分辨率-设置显示器的高度和宽度
- 存在触摸控制器
- 反转显示 - 如果文本和对象向后,您可以启用此功能
- 通过 GPIO 启用背光控制(与硬接线打开相比)
- 背光源高电平或低电平有效 - 某些显示器期望高 (1) 信号来启用背光,其他显示器则期望高 (1) 信号(默认) - 如果您的背光灯不亮,请尝试切换此选项
根据您的 ESP32 开发板分配正确的引脚分配
有多种基于 ESP32 芯片的开发板,请确保为与 TFT 显示板接口的信号分配正确的引脚号。建议使用下面的预定义配置,但您也可以为显示控制器和触摸控制器设置单独的引脚。
预定义的显示配置
对于已连接显示器的开发套件,所有正确的设置都是已知的,并且可以menuconfig
从第一个选项“选择预定义的显示器配置”中进行选择。一旦选择,所有其他选项将被默认并且不会出现在菜单中。
我们目前以这种方式定义的董事会是:
具有 38 个 GPIO 的 ESP32 开发板
ILI9341-HSPI
莫西 | 时钟脉冲 | CS | 直流 | 快速恢复时间 | BCKL |
---|---|---|---|---|---|
13 | 14 | 5 | 19 | 18 | 23 |
XPT2046-VSPI
莫西 | 味噌 | 时钟脉冲 | CS | 中断请求 |
---|---|---|---|---|
32 | 35 | 26 | 33 | 25 |
具有 30 个 GPIOS 的 ESP32 DevKit v1
还有另一种开发套件,只有 30 个 GPIO 可用:
ILI9341
对于使用 ILI9341 HSPI,将引脚配置修改components/drv/disp_spi.h
为:
ILI9341-HSPI
莫西 | 时钟脉冲 | CS | 直流 | 快速恢复时间 | BCKL |
---|---|---|---|---|---|
13 | 14 | 15 | 2 | 4 | 21 |
XPT2046-VSPI
莫西 | 味噌 | 时钟脉冲 | CS | 中断请求 |
---|---|---|---|---|
23 | 19 | 18 | 5 | 25 |
具有 38 个 GPIO 的 ESP32 DevKit v4
有关更多信息,请参阅此 pdf:https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32d_esp32-wroom-32u_datasheet_en.pdf
ILI9341-HSPI
莫西 | 时钟脉冲 | CS | 直流 | 快速恢复时间 | BCKL |
---|---|---|---|---|---|
13 | 14 | 15 | 17 号 | 25 | 26 |
XPT2046-VSPI
莫西 | 味噌 | 时钟脉冲 | CS | 中断请求 |
---|---|---|---|---|
23 | 19 | 18 | 5 | 27 |
其他板
menuconfig
当然,如果可用的预定义不符合您的电路板或项目要求,则可以配置所有单独的引脚。默认情况下,预定义选项被禁用,并且 30 引脚开发板的引脚设置为默认值。
生成 spiffs bin
-
下载 spiffs 工具
-
编译并生成bin,请检查spiffs说明( GitHub - igrr/mkspiffs: Tool to build and unpack SPIFFS images )
-
将输出bin下载到闪存地址0x310000
或者您可以刷新“spiffs1.img”
python esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 --port /dev/ttyUSB1 --baud 2000000 write_flash 0x1000 spiffs1.img
完整代码下载链接
链接:https://pan.baidu.com/s/1XZOgO1bQYR82eWaA5cCe5Q
提取码:m4ml