lzmm 发表于 2023-4-26 14:37

ESP8266获取心知天气

测试AT指令
AT

响应:
OK

若是没有回应 OK,检查一下引脚连接情况

1. 配置 WiFi 模式
AT+CWMODE=1 //1:作为客户端 2:作为服务器

响应 :
OK

2.复位
AT+RST

响应
.

.

ready //最后一行

3.连接网络
AT+CWJAP=“SSID”,“password”

响应 :
WIFI CONNECTED

WIFI GOT IP

OK

4.禁止多连接
AT+CIPMUX=0

响应
OK

5.连接服务器
心知天气 IP:api.seniverse.com 端口:80

AT+CIPSTART=“TCP”,“api.seniverse.com”,80

响应:
CONNECT

OK

6. 使能透传模式
AT+CIPMODE=1 //0:禁止 1:使能

响应:
OK

7. ESP8266 设备向心知天气服务器发送数据
AT+CIPSEND

响应:
OK

>

在此模式下可以获取天气情况

我们向心知天气服务器发送以下内容:

GET https://api.seniverse.com/v3/weather/now.json?key=your_api_key&location=beijing&language=zh-Hans&unit=c\r\n

your_api_key: 是你控制台中的私钥
beijing:待查询的城市
zh-Hans:语言

心知天气会给你返回以下内容:

{"results":[{"location":{"id":"WX4FBXXFKE4F","name":"北京","country":"CN","path":"北京,北京,中国","timezone":"Asia/Shanghai","timezone_offset":"+08:00"},"now":{"text":"晴","code":"1","temperature":"23"},"last_update":"2022-05-20T23:12:26+08:00"}]}
1
此时我们已经成功从网上获取到了我们想要的天气情况了。

8. 退出发送数据
在透传发送数据过程中,若识别到单独的⼀一包数据 “+++”,则退出透传发送

如果使⽤用键盘打字输⼊入 “+++” ,可能耗时太⻓,不被认为是连续的三个 “+”,建议使
⽤串⼝⼯具一次性发送 “+++”,并请注意不要携带空格或换⾏符等不可⻅字符
之后,请⾄至少间隔 1 秒,再发下一条 AT 指令
“+++“ 退出透传发送数据,回到正常 AT 指令模式。此时, TCP 连接仍然是保持的,可以再发 AT+CIPSEND指令,重新开始透传

9. 退出透传模式
AT+CIPMODE=0

响应 :
OK

10.断开服务器连接
AT+CIPCLOSE

响应:
CLOSED
OK




内政奇才 发表于 2023-5-18 16:14

墨迹天气知心天生还有什么天气

内政奇才 发表于 2023-5-18 16:14

墨迹天气知心天生还有什么天气

tpgf 发表于 2023-6-3 14:19

在网上获取这种类型的信息是不是需要付费啊

qcliu 发表于 2023-6-3 14:45

tpgf 发表于 2023-6-3 14:19
在网上获取这种类型的信息是不是需要付费啊

应该是免费的吧 我想 现在查询天气都是很方便的了

drer 发表于 2023-6-3 15:23

他的通讯内容的格式都是固定的吗?

coshi 发表于 2023-6-3 15:40

drer 发表于 2023-6-3 15:23
他的通讯内容的格式都是固定的吗?

at指令格式都是固定的 只不过涉及到具体的访问网址就不一样

kxsi 发表于 2023-6-3 16:14

一般情况下 我们如何判断哪些种类的信息是可以免费获取的呢

wiba 发表于 2023-6-3 16:43

这种信息的交互内容可以通过什么途径获取呢

caigang13 发表于 2023-6-3 16:59

和墨迹天气相比有什么不同,哪个更好用。

lzbf 发表于 2023-6-7 12:47

esp8266如何进行tcp服务器下透传

backlugin 发表于 2023-6-7 13:34

知心天气换地方怎么报天气?               

chenjun89 发表于 2023-6-10 08:27

和墨迹天气有什么关系,准备做个桌面显示屏来玩玩。

ingramward 发表于 2023-6-10 10:18

ESP8266怎么连接以及控制外部设备?

usysm 发表于 2023-6-10 10:37

免费获取天气信息的服务器接口有么

uytyu 发表于 2023-6-10 10:46

如何用ESP8266实现一个网络时钟

benjaminka 发表于 2023-6-10 11:04

使用ESP8266的AT指令或者开发板自带的库函数等方式,向心知天气API接口发送HTTP请求,并将API key和API code作为参数传递给API接口。

linfelix 发表于 2023-6-10 11:17

可以通过HTTP协议访问心知天气API接口获取天气信息

juliestephen 发表于 2023-6-10 11:56

ESP8266 常用函数               

jackcat 发表于 2023-6-10 12:07

在进行HTTP请求时,还需要考虑网络连接稳定性和速度等问题。
页: [1] 2
查看完整版本: ESP8266获取心知天气