欢迎光临散文网 会员登陆 & 注册

ESP8266 天气小工具 V2.0

2021-08-30 16:07 作者:RunesKee  | 我要投稿


在本教程中,我将向您展示如何使用 ESP8266 和 2.8" 触摸屏显示器制作天气小部件。该设备 通过 WLAN从https://openweathermap.org/检索本地化的天气信息,并将其显示在显示模块上。


小部件显示以下内容:

1. 带日期的当前时间

2. 当日天气信息,如温度、压力、湿度和降雨量。

3.未来7天预测


第 1 步:所需零件和工具

使用的零件:

1. Wemos D1 Mini Pro

2. 2.8" TFT 显示屏

3. 电线

4. USB 数据线(

5. PLA 长丝


使用的工具 :

1. 3D 打印机

2. 烙铁

3.线切割机

4. 剥线钳


第 2 步:准备电线


计划将天气显示电路放置在 3D 打印外壳内。但是要使用的外壳非常紧凑,几乎没有空间将 Wemos 板和连接线放在外壳内。

因此,我们必须选择细线来连接显示单元和 Wemos Board。在这里,选择了30 AWG单股线。

使用钳子切割 14 根等长的电线。

然后使用剥线钳剥去电线的绝缘层。


第 3 步:将电线焊接到显示单元


TFT 显示器具有预焊接的直头针,可将其安装到面包板或任何其他屏蔽上。你有两个选择

1. 将排针从 PCB 上拆下,然后将电线焊接到焊盘上

2.直接焊接到排针

我更喜欢第二个选择,它更容易,不需要什么技巧。

在焊接之前,在所有插头引脚上涂抹少量助焊剂。然后在烙铁头上使用少量焊料对头针进行镀锡。镀锡是必需的,因为它使焊接过程更容易,并且导线和插头引脚之间的结合更牢固。

最后,将电线焊接到所有插头引脚,如上图所示。


第 4 步:3D 打印

参考了 Thingiverse 中一个由smily77设计的漂亮模型,修改了 Autodesk Fusion 360 中的外壳。所有部件的尺寸均由游标卡尺测量,然后在设计过程中考虑到相同的尺寸。

外壳有3个部分:

1. 房屋本体

2. 封底

3. 底盖

从Thingiverse下载 STL 文件

使用 Creality CR-10 Mini 3D 打印机和 1.75 毫米白色 PLA 灯丝打印零件。

设置是:

打印速度:60 毫米/秒

层高:0.2mm

填充密度:20%

挤出机温度:210 摄氏度

床温:60 摄氏度


步骤 5:安装显示器


2. 先将显示器和Wemos板接线,然后再安装到壳中。

上面的图片中展示了两种方式。


第 6 步:接线图

必须按照原理图将 TFT 显示模块 (ILI9341) 引脚与 Wemos 引脚连接起来。示意图如上所示。也可以按照以下引脚映射

TFT 显示-> Wemos ( ESP8266 )

VIN -> 3.3V

地 -> 地

CS -> D1

重置 -> RST

直流 -> D2

SDI -> D7

SCK - D5

LED -> D8

SDO -> D6

T_CLK -> D5

T_CS -> D3

T_DIN -> D7

T_DO -> D6

T_IRQ -> D4

第 7 步:制作电路

首先,下载原理图,然后打印输出。焊接过程还是比较简单的。重要的是连接中的任何错误都可能损坏显示模块或 Wemos 板。绝对不要焊错了。


步骤 8:准备 Arduino IDE

ESP8266 模块不是 Arduino-IDE 的一部分,所以我们必须先安装它。您可以通过以下步骤操作:

1. 启动 Arduino IDE 并打开 Preferences 窗口。

2.在 Arduino IDE 的 File>Preferences>Additional Boards Manager URLs 字段中输入https://arduino.esp8266.com/stable/package_esp826...。可以添加多个 URL,用逗号分隔。

3. 使用 OK 按钮关闭此窗口。从工具 > 开发板菜单打开开发板管理器,然后选择正确的 ESP8266 开发板。

4. 现在选择 LOLIN(WEMOS) D1 R2 & mini。将 CPU 频率设置为 80MHz,Flash Size 设置为“4MB (FS:3MB OTA:~512KB)”,以及 COM 端口。

步骤 9:下载代码和库

可以从以下链接下载 Arduino 代码和支持库。

Arduino代码:

https://github.com/ThingPulse/esp8266-weather-stat...

图书馆:

1. Daniel Eichhorn 的Mini Grafx

2. ESP8266 WeatherStation by Daniel Eichhorn

3. Daniel Eichhorn 的Json Streaming Parser

4. ThingPulse XPT2046 Touch 由 ThingPulse(从 Paul Stoffregen 分叉),如果您之前安装了原始的 XPT2046_Touchscreen,那么您需要卸载那个!

下载库后解压缩它并在
Sketch > Include Library > Manage Libraries 中使用您的 Arduino Library Manager 安装它


步骤 10:获取 OpenWeatherMap API 密钥

气象站实时数据来自OpenWeatherMap网站。所以必须获得 OpenWeatherMap API Key。

可以在第一列中选择免费计划。申请免费计划无需任何费用,足以满足我们的要求。使用免费计划的唯一限制是每分钟只能拨打 60 次电话。

现在点击获取“API 密钥”,然后通过填写您的凭据创建一个新帐户。

记下下一步代码中所需的 API 密钥。

第 11 步:上传软件

设置 Arduino IDE 并安装所有库后,将代码上传到 ESP8266 板(Wemos D1 Mini Pro 或任何其他板)

首先,必须解压缩在前面步骤中下载的代码,然后将其保存在 PC 或笔记本电脑上的某个位置。去掉文件夹名称中的master,命名为“esp8266-weather-station-color”

现在打开文件夹并点击“ esp8266-weather-station-color.ino ”

在其中一个选项卡中,IDE 打开settings.h。浏览文件并调整两个配置参数。它们都直接记录在文件中。最重要的是,需要设置在上一步中获得的 OpenWeatherMap API 密钥。

现在已准备好上传代码,只需点击上传箭头按钮即可。


第 12 步:安装盖子

安装好显示单元和电路板后,我们可以使用两个盖板来装箱。外壳设计有非常紧密的间隙,因此不需要任何胶水或螺丝来固定盖子。

将盖子与外壳中的插槽对齐,然后将其压在四周就完成了。较小的盖子用于底座部分,较大的盖子用于显示部分的背面。


第 13 步:测试

如果成功将代码上传到 ESP8266,会立即通过搜索 WiFi 网络连接在首页上看到显示。将设备连接到 WiFi 路由器后,它将从网络更新时间和天气数据。

现在可以在 TFT 显示屏上看到所有天气信息以及所有其他参数。使用触控笔或用手指触摸在不同页面之间切换。

注意:在开始时,需要触摸屏幕以校准触摸屏显示。


ESP8266 天气小工具 V2.0的评论 (共 条)

分享到微博请遵守国家法律