esp8266连接心知天气

一、需要的硬件

esp8266+usb转ttl

二、接线很简单,usb转ttl的TX和esp8266的RX相连,RX和TX,3.3v连3v,GND连G。后面就是烧MQTT+AT的固件,AT固件汇总 | 安信可科技 (ai-thinker.com)这个就是固件下载的地址。我下载的是下方的固件。

三、将固件烧录到esp8266板子上。烧录的工具flash_download_tools_v3.6.8,网上能找到下载。点上方绿色的...将下载的固件.bin文件加载上去,后面是0x0000.下方配置和我一样就行。(要吧esp8266使用usb转ttl连上电脑),最后点右下角START按钮,就能烧录,烧录固件有点慢,慢慢等。

四、注册心知天气

在心知天气中注册应该账号,这个简单,人很懒,懒得弄图片,反正就很简单。

 五、就是连接串口发送AT指令

//测试AT指令(所有AT指令需要换行)
发送:AT
接收:OK

//esp8266复位,接收很长得数据,反正末尾是ready
发送:AT+RST
接收:....  
     ...ready

//配置模式为STA
发送:AT+CWMODE=1 
接收:OK

//连接wifi,(注意如果是手机热点需要吧AP频段改成2.4Hz频段,否则esp8266找不到wifi)
发送:AT+CWJAP="wifi名称","wifi密码"
接收:WIFI CONNECTED
     WIFI GOT IP
     OK

//设置时间地域
发送:AT+CIPSNTPCFG=1,8
接收:OK

//获取时间
发送:AT+CIPSNTPTIME?
接收:+CIPSNTPTIME:Tue Mar 19 14:20:44 2024

//我这里设置了一个开启单连接模式(可以不用这步,如果不行在加)
发送:AT+CIPMUX=0
接收:OK

//连接心知天气服务端
发送:AT+CIPSTART="TCP","api.seniverse.com",80
接收:CONNECT
     OK

//开启透传模式
发送:AT+CIPMODE=1
接收:OK

//开始发送数据
发送:AT+CIPSEND
接收:OK
    >

//发送GET指令来获取数据
发送:GET https://api.seniverse.com/v3/weather/now.json?key=私钥&location=chengdu&language=en&unit=c
接收:{"results":[{"location":{"id":"WM6N2PM3WY2K","name":"Chengdu","country":"CN","path":"Chengdu,Chengdu,Sichuan,China","timezone":"Asia/Shanghai","timezone_offset":"+08:00"},"now":{"text":"Foggy","code":"30","temperature":"20"},"last_update":"2024-03-19T15:02:12+08:00"}]}

总结

还是挺简单得就是在连接wifi得时候没有设置频段一直连接不上wifi。

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你可以使用Python的第三方库来帮助实现WiFi连接。一个常用的库是`pywifi`,它可以让你在Python中管理WiFi连接。 首先,你需要安装`pywifi`库。你可以使用以下命令来安装它: ``` pip install pywifi ``` 安装完成后,你可以使用以下代码来连接WiFi: ```python import pywifi from pywifi import const def connect_wifi(ssid, password): # 创建一个WiFi对象 wifi = pywifi.PyWiFi() # 获取第一个无线网卡 iface = wifi.interfaces()[0] # 断开所有的WiFi连接 iface.disconnect() # 等待一段时间,确保断开连接 pywifi.sleep(1) # 创建WiFi连接文件 profile = pywifi.Profile() profile.ssid = ssid # WiFi名称 profile.auth = const.AUTH_ALG_OPEN # 需要密码 profile.akm.append(const.AKM_TYPE_WPA2PSK) # WiFi加密算法 profile.cipher = const.CIPHER_TYPE_CCMP # 加密方式 profile.key = password # WiFi密码 # 删除所有的WiFi连接文件 iface.remove_all_network_profiles() # 添加新的WiFi连接文件 tmp_profile = iface.add_network_profile(profile) # 连接WiFi iface.connect(tmp_profile) # 等待连接成功 pywifi.sleep(5) # 判断是否连接成功 if iface.status() == const.IFACE_CONNECTED: print("WiFi连接成功!") else: print("WiFi连接失败!") # 调用连接WiFi函数 connect_wifi("你的WiFi名称", "你的WiFi密码") ``` 请注意,上述代码在连接WiFi时使用了明文密码,这样可能存在一定的风险。建议你根据实际需求修改代码,使用更安全的方式存储和传输密码。 希望能帮到你!如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小萌星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值