本帖最后由 oldBrown 于 2021-2-7 17:54 编辑
本文介绍了如何通过手机控制ESP8266获取天气信息
先上视频:
1、优酷视频链接:手机控制ESP8266获取天气预报
2、简书文章链接
用到的硬件: 1、一部能运行微信的手机(搜索小程序:蓝牙串口助手) 2、HexCom-V1,如果没有,选择其它蓝牙模组代替 3、ESP8266模组 串口连接比较简单,VCC,GND两根直连,蓝牙的TXD,RXD和Wi-Fi的交叉连接。
硬件连接好后,主要是软件调试工作,软件调试分三部:
第一步:获取ESP8266常用指令打开小程序「收藏 」介面,从服务器获取ESP8266的指令集
第二步:修改指令。1、我们需要修改连接路由器指令AT+CWJAP中的SSID和密码
2、我们需要修改GET天气的密钥
因为我们获取天气信息需要用到心知天气的API,我们需要在https://www.seniverse.com申请免费试用,免费用户的权益:
- 国内 370 个主要城市
- 天气实况,包括天气现象文字、代码和气温 3 项数据
- 未来 3 天天气预报,包括白天天气现象文字及代码、晚间天气现象文字及代码、当天最高温度和最低温度、风向风速
- 6 项基本类生活指数,包括穿衣、紫外线强度、洗车、旅游、感冒、运动指数
上面这些功能对于我们调试足够了,我们需要一条GET命令从服务器获取天气信息,我们注册账号的目的主要是获取“私钥”替换下面URL中的your_private_key
将 API 密钥中的“私钥”作为 API 请求中的 key 参数值: https://api.seniverse.com/v3/weather/now.json?key=your_private_key&location=beijing&language=zh-Hans&unit=c
完成上面修改后,将布局保存到本地,防止误删。
第三步:开始调试调试的步骤参考乐鑫官网给的“TCP client单连接透传”示例步骤: 按上面顺序一条条走,不出意外你应该能GET到天气的信息了,服务返回的JSON包格式如下: {"results":[{"location":{"id":"WX4FBXXFKE4F","name":"Beijing","country":"CN","path":"Beijing,Beijing,China","timezone":"Asia/Shanghai","timezone_offset":"+08:00"},"now":{"text":"Sunny","code":"0","temperature":"3"},"last_update":"2021-02-07T09:50:00+08:00"}]}
temperature就是当前的天气。
至此,通过手机控制ESP8266获取天气的示例就完成了。
|