×

使用TTGO ESP32和Visuino从互联网上获取天气数据

消耗积分:0 | 格式:zip | 大小:0.01 MB | 2022-11-07

张莉

分享资料个

描述

在本教程中,我们将学习如何使用 TTGO ESP32 和 Visuino 从互联网上获取基于位置的天气数据。

第 1 步:您需要什么

第 2 步:OpeanWeatherMap API

pYYBAGNkdLiARcf5AAEOK79MJz4008.jpg

并创建一个帐户,然后导航到 API 页面以复制 API 密钥

您可以在此上找到有关 API 的更多文档

第 3 步:启动 Visuino,并选择 Arduino TTGO T-Display ESP32 Board Type

poYBAGNkXLKAXIitAAEMcDG4wUg959.jpg
1 / 2

Visuino:也需要安装。下载免费版本或注册免费试用。

启动Visuino,如第一张图所示点击Visuino中Arduino组件(图1)上的“工具”按钮出现对话框时,选择“TTGO T-Display ESP32”,如图2所示

第 4 步:在 Visuino 中设置 WiFi

pYYBAGNkdLyAdJQpAAAuKtaI5TE722.jpg
1 / 6

选择 TTGO T-Display ESP32 board 并在属性窗口中展开“Modules>WiFi>Connect To Access Points

  • 单击连接到接入点 3 点
  • 在 AccessPoints 窗口中,将“WiFi Access Point”拖到左侧
  • 在属性窗口中设置 SSID(您的 WiFi 热点或路由器的名称)
  • 在属性窗口中设置密码(您的 WiFi 热点或路由器的密码)
  • 关闭接入点窗口

选择TTGO T-Display ESP32board 并在属性窗口中展开“Modules>WiFi>Sockets

  • 点击 Sockets 3 Dots
  • 在“套接字窗口”中,TCP/IP 安全客户端 (SSL)拖到左侧
  • 在属性窗口中将主机设置为:api.openweathermap.org/
  • 关闭“套接字窗口

第 5 步:在 Visuino 设置显示中

poYBAGNkdL-AMk_rAABvkOZvPaU140.jpg
1 / 13

选择TTGO T-Display ESP32板并在属性窗口中展开“模块>显示>方向

方向设置为:goRight

选择TTGO T-Display ESP32board 并在属性窗口中展开“Modules>Display>Elements

单击元素3 点

  • Elements 窗口中向左拖动Draw Bitmap在属性窗口中:
  • 在位图编辑器中单击位图 3 个点 加载天气位图(图 6)并关闭位图编辑器

您可以在https://iconarchive.com/search?q=weather找到其他位图

  • 在“元素窗口”中将“绘制文本”拖到左侧,在属性窗口中将大小设置为 3,将“x”设置为 80,然后在文本中放置您的位置,在我们的例子中是“柏林”
  • 在“元素窗口”中将“文本字段”拖到左侧,在属性窗口中将大小设置为 3,将“x”设置为 80,将“y”设置为 30
  • 在“元素窗口”中将“文本字段”拖到左侧,在属性窗口中将大小设置为 2,将“x”设置为 90,将“y”设置为 60,将颜色设置为“aclYellow”
  • 在“元素窗口”中将“文本字段”拖到左侧,在属性窗口中将大小设置为 2,将“x”设置为 60,将“y”设置为 80,将颜色设置为“aclYellowGreen”
  • 在“元素窗口”中将“绘制文本”拖到左侧,在属性窗口中将大小设置为 2,将“y”设置为 80,将文本设置为“WIND”
  • 在“元素窗口”中将“绘制文本”拖到左侧,在属性窗口中将大小设置为 2,将“y”设置为 100,将文本设置为“湿度”
  • 在“元素窗口”中将“文本字段”拖到左侧,在属性窗口中将大小设置为 2,将“x”设置为 110,将“y”设置为 100,将颜色设置为“aclTurquoise”

关闭元素窗口

第 6 步:在 Visuino 添加组件

poYBAGNkdMGAa17_AAAsiuHFiXE154.jpg
1 / 11
  • 添加“HTTP Client”组件
  • 选择“HTTPClient1”并在属性窗口中将 Host 设置为 api.openweathermap.org
  • 单击请求3 点
  • 在“请求窗口”中将“GET”拖到左侧
  • 在属性窗口中,将URL设置为:/data/2.5/weather ?q=Berlin&units=metric&APPID=123456重要提示!:在 URL 中将末尾的 123456 替换为您的 API 密钥也“Berlin”替换为您所在城市的名称
  • 关闭请求窗口
  • 添加“Char To Text”组件
  • 选择“CharToText1”并在属性窗口中将 Max Length 设置为 2000
  • 添加“开始”组件
  • 添加“时钟发生器”组件
  • 选择“ClockGenerator1”,在属性窗口中设置频率为0.0016,这是10分钟左右,所以数据每10分钟刷新一次,你可以根据需要改变频率
  • 添加“延迟”组件并在属性窗口中将“间隔(uS)”设置为 2000000

第 7 步:在 Visuino 中解析 JSON

pYYBAGNkdMaAfXcVAABJngGVLQY912.jpg
1 / 3

用鼠标右键单击“SplitJSON1”并在菜单中单击“解析 JSON 对象..”在“JSON 对象”窗口中粘贴此示例代码(YOURAPIKEY 替换为您在帐户中获得的 API 密钥或复制粘贴以下内容:

{"coord":{"lon":13.4105,"lat":52.5244},"weather":[{"id":800,"main":"Clear","description":"晴空","icon ":"01d"}],"base":"stations","main":{"temp":25.91,"feels_like":25.5,"temp_min":24.99,"temp_max":27.16,"pressure":1010 “湿度”:36},“能见度”:10000,“风”:{“速度”:1.79,“度”:303,“阵风”:7.15},“云”:{“所有”:0}, "dt":1624722776,"sys":{"type":2,"id":2011538,"country":"DE","sunrise":1624675484,"sunset":1624736011},"timezone":7200, "id":2950159,"name":"柏林",“鳕鱼”:200}

关闭“JSON 对象”窗口

SplitJSON1”组件现在将创建新引脚

第 8 步:在 Visuino 中连接组件

poYBAGNkdMqAToGHAAFBd3ktmFY583.jpg
1 / 3
  • 将“ClockGenerator1”引脚输出连接到“HTTPClient1”引脚时钟和“Delay1”引脚启动
  • 将“Start1”引脚 [Out] 连接到“HTTPClient1”引脚时钟和“Delay1”引脚 Start
  • 将“HTTPClient1”引脚内容连接到“CharToText1”引脚输入
  • 将“HTTPClient1”引脚连接到TTGO T-Display ESP32> WiFi>TCP Secure Client1 pin In
  • 将“Delay1”引脚输出连接到“CharToText1”引脚时钟和TTGO T-Display ESP32> WiFi>TCP Secure Client1 引脚断开连接
  • 将“CharToText1”引脚输出连接到“SplitJSON1”引脚输入
  • 将“SplitJSON1>temp连接TTGO T-Display ESP32>Text Field1 pin In
  • 将“SplitJSON1>描述连接TTGO T-Display ESP32>Text Field2 pin In
  • 将“SplitJSON1>speed连接TTGO T-Display ESP32>Text Field3 pin In
  • 将“SplitJSON1>湿度连接TTGO T-Display ESP32>Text Field4 pin In

注意:您也可以使用“SplitJSON1”组件中的其他引脚

第 9 步:生成、编译和上传代码

poYBAGNkXMOAeaXoAADDYNLpcLQ829.png

在 Visuino 中,在底部单击“构建”选项卡,确保选择了正确的端口,然后单击“编译/构建和上传”按钮。

第 10 步:播放

pYYBAGNkdM-ACCCJAAEX0mOOofU478.jpg

如果您为 TTGO ESP32 模块供电,它将连接到网络并显示当前天气数据。

恭喜!您已经使用 Visuino 完成了您的项目。还附上了我为本教程创建的 Visuino 项目,

注意:在 Visuino 中打开文件项目时,将 WiFi 设置(接入点和密码)更改为您的设置并在 URL 末尾添加 API KEY


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。举报投诉

评论( 0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !