ESP8266调用心知天气API

2023-05-16

首先我们需要一个可以调用返回天气信息的API,这里以心知天气为例,可以免费注册,虽然功能受限,但对于初学者来说,足够了

 心知天气api:https://api.seniverse.com/v3/weather/now.json?key=your_private_key&location=beijing&language=zh-Hans&unit=c

调用的时候只需要将your_private_key换成自己的密钥即可。具体内容参考心知天气API接口文档。

第一步我们需要准备一个热点可以访问网络,路由器,手机热点均可;

第二步获取即将访问的服务器IP地址。我们在PC端实现,win+r 后输入cmd进入操作终端,输入 ping api.seniverse.com 回车

116.62.81.138 就是我们需要使用的心知天气API

 

第三步配置获取天气信息的AT指令,创建TCP连接

AT+CWMODE=1      设置为sta模式,作为客户端使用

AT+RST    重启模块使模式更改生效

AT+CWJAP="account","password"    连接准备好的AP

AT+CIPMUX=0    设置为单路连接模式

AT+CIPSTART=”TCP”,”116.62.81.138”,80    创建TCP连接    

AT+CIPMODE=1    开启透传模式

AT+CIPSEND    向服务器发送数据,模块收到此指令后先换行后返回“>”,之后AT指令失效

然后发送 GET https://api.seniverse.com/v3/weather/now.json?key=your_private_key&location=beijing&language=zh-Hans&unit=c 即可获取天气信息

以下服务器返回给我们的内容:

{"results":[{"location":{"id":"W
X4FBXXFKE4F","name":"鍖椾含","country":"CN","path":"鍖椾含,鍖椾含,涓浗","timezone":"Asia/Shanghai","timezone_offset":"+08:00"},"now":{"text":"鏅?,"code":"0","temperature":"22"},"last_update
":"2019-10-01T08:25:00+08:00"}]}

中文字乱码是串口助手的设置问题,对比心知天气api正常访问的内容我们就可以大概了解当前地区的天气状况

{"results":[{"location":{"id":"WX4FBXXFKE4F","name":"北京","country":"CN","path":"北京,北京,中国","timezone":"Asia/Shanghai","timezone_offset":"+08:00"},"now":{"text":"晴","code":"0","temperature":"22"},"last_update":"2019-10-01T08:25:00+08:00"}]}

因为心知天气返回的数据是JSON格式,所以我们还需要解析才能得到想要的东西,但通过分析心知天气接口的通用参数,我们也能掌握天气信息,以下是借助转换工具完成JSON格式化

不过这一步完成我们已经实现了和服务器交互,下一步的学习我将解析json的数据,并在屏幕上显示出来直观的数据。

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ESP8266调用心知天气API 的相关文章

  • 增加 Instagram API 350 个请求限制

    根据开发人员文档 客户端每小时可以发出 5000 个请求 但目前我的应用程序被限制为每小时 350 个请求 我收到的错误代码是 400 消息是 已超出每小时最大请求数 您在过去一小时内发出了 XXX 个请求 超过了允许的 350 个请求 您
  • 如何将我的应用程序的目标 API 级别从 23 更改为 26

    当我尝试将我的应用程序上传到 Google Play 控制台时遇到问题 API 级别必须为 26 而我的应用程序刚刚使用 23 版本开发 现在我不知道如何从 23 更改此 API 版本到 26 使其正常工作 请帮帮我 Steps Go to
  • 如何使用 ODBC 检查数据库是否存在

    各位程序员大家好 我已经在互联网上搜索了几天 但找不到仅使用 ODBC 和 SQL 解决此问题的通用方法 有没有办法查看数据库是否已经存在 仅使用ODBC 它必须是标准 SQL 因为用户可以选择自己选择的 DSN 即他自己的 SQL Ser
  • 如何添加更多数据存储在 jenkins Rest api 中

    为了使问题变得简单 我知道我可以通过以下方式获取一些构建信息https jenkins server https jenkins server api json xml python 我获得了有关该构建记录的大量信息 但是 我想向该构建记录
  • 使用 Chrome TTS 的 SSML

    我试图通过强调等方式让 TTS 句子更加清晰 我正在使用Chrome TTS API http developer chrome com extensions tts html 这表明它接受SSML 格式的文档 http www w3 or
  • Postman如何发送请求? ajax,同源策略

    我发现了这个非常有用的 Chrome 扩展程序 名为 Postman 这是一个非常有用的扩展 特别是当您正在编写 RESTful 应用程序时 我感到困惑的一件事是这个插件 扩展如何能够在不同的域上成功发送 POST 请求 我尝试像这样使用
  • Rails:使用 RestClient 的外部 API 集成(未定义的局部变量或方法“user”)

    我正在建设一个数字图书馆 我已经完成了很多需要的功能 我目前在将数字图书馆与学习管理系统 LMS 集成时遇到问题 我已经有一个数字图书馆的管理员身份验证系统 使用设计宝石 我的目标是允许想要访问数字图书馆的用户使用其学习管理系统 LMS 凭
  • 如何将 YouTube API 集成到我的 iPhone 应用程序中?

    我想将 YouTube API 集成到我的应用程序中 我该怎么做 附注 我正在为 YouTube 频道制作一个应用程序 我尝试以webview 但这让一切变得更糟 因为用户可以看到 YouTube 控件 搜索等 以及有关 YouTube i
  • ReSharper API...呃...它在哪里?

    好吧 我一定正在享受金发时刻 但我一生都找不到去哪里 下载 ReSharper API 与我获得的项目一起使用here http devlicio us blogs hadi hariri archive 2010 01 12 writin
  • PyCurl 请求在执行时无限挂起

    我编写了一个脚本来从 Qualys 获取扫描结果 每周运行一次以收集指标 该脚本的第一部分涉及获取过去一周运行的每个扫描的引用列表以进行进一步处理 问题是 虽然有时这会完美地工作 但有时脚本会挂在c perform 线 手动运行脚本时这是可
  • 如何安装适用于 Windows C++ 的最新版本 OpenGL?

    我正在使用 Visual Studio 2010 运行 Windows 7 包含的 OpenGL 版本 include 是版本 1 1 我希望使用合理的当前版本 某种版本 3 或 4 我需要做什么才能达到该状态 OpenGL SDK 页面位
  • 我们可以使用 axios 的 onDownloadProgress 来加载 API 吗?

    我需要使用 axios 创建一个用于在 React 项目中加载 API 的进度条 我为此发现了 onDownloadProgress 函数 但我不知道我们是否可以使用它来获取诸如加载百分比之类的信息 或者它是否仅用于文件下载 所以我不确定我
  • .NET Web API - 添加日志记录

    我正在寻找有关处理 API 日志记录的最佳方法的帮助 我想将所有请求和响应记录到 sql 或文本文件 如果这是最好的方法 目前我已经在 SQL Server 的日志表中插入一行 我使用名为 LogAction 的静态方法来执行此操作 并在
  • 发送 Microsoft Graph 请求事件返回 400

    我能够通过将 JSON 请求发布到https graph microsoft com v1 0 me calendar events https graph microsoft com v1 0 me calendar events 我已经
  • 使用 PHP 将表单数据发送/发布到 URL [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个通过 POST 提交的表单 提交表单后我捕获变量 如何连接表单数据 然后将其 POST 到 url 然后重新定向到感谢页面 这不是确
  • Web Api - 不允许捕获 405 方法

    截至目前 Web api 应用程序针对 405 方法不允许错误返回以下响应正文 我正在尝试更改响应正文 但我不知道如何使用委托处理程序 ApiControllerActionSelector 或过滤器 谁能帮我捕获服务器端的 405 错误
  • 如何获取优酷access_token

    我在哪里可以找到access token refresh token在我的优酷账号里 我找到了如何使用外部脚本通过 API 将视频上传到 youku com 但我需要access token refresh token使用它 您需要对优酷应
  • 415 不支持的媒体类型; Angular2 到 API

    我是 Angular 2 的新手 我面临着一个无法找到解决方案的问题 当我尝试从 Angular 2 发布到 API 时 我得到 415 不支持的媒体类型 角度2代码 onSubmit value any console log value
  • 如何在flutter项目中使用http拦截器?

    我必须向我的所有 Api 添加标头 有人告诉我为此使用 http 拦截器 但我无法理解如何做到这一点 因为我是颤振的新手 谁能帮我举个例子吗 您可以使用http 拦截器 https pub dev packages http interce
  • Booking.com酒店管理API

    我拥有一家酒店 并在 booking com 上查看了 API 因为我想创建自己的前端界面来更新我的酒店房价 房间数 以及通过该 API 上传图片 更新酒店描述 然而 我唯一能找到的是一个 API 供联营公司以一定的价格获取特定位置的酒店等

随机推荐